semana 03 - 1

80
SEMANA 03 - 1 SEMANA 03 - 1 Sistemas Operativos Introducción a la Ingeniería de Sistemas

Upload: aspen-rowland

Post on 03-Jan-2016

41 views

Category:

Documents


0 download

DESCRIPTION

Introducción a la Ingeniería de Sistemas. SEMANA 03 - 1. Sistemas Operativos. Elementos de un Sistema Informático. Hardware (lo tangible) Software (programas, lo intangible) software del sistema Aplicaciones Personas (usuarios del sistema) usuarios programadores. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: SEMANA 03 - 1

SEMANA 03 - 1SEMANA 03 - 1

Sistemas Operativos

Introducción a la Ingeniería de Sistemas

Page 2: SEMANA 03 - 1

Elementos de un Sistema Informático

Hardware (lo tangible)

Software (programas, lo intangible)software del sistemaAplicaciones

Personas (usuarios del sistema)usuariosprogramadores

El SO controla y coordina el uso del hardware entre los distintosprogramas para diversos usuarios

Page 3: SEMANA 03 - 1

¿Que es un Sistema Operativo?

Un programa que sirve de intermediario entre los usuarios y el hardware

Pertenece al software del sistema

Objetivos: Ejecutar las aplicaciones de los usuarios Administrar eficientemente los recursos de la

máquinaEficiencia

Facilitar la interacción con el computadorUsabilidad

Page 4: SEMANA 03 - 1

¿Que es un Sistema Operativo?¿Que es un Sistema Operativo?

Es un administrador de recursoscomo si fuera un gobierno del hardwareprograma de controlojo, no realiza trabajo productivo

Es una interfaz con el hardwareañade características no existentes en el hardwareoculta características inconvenientes del hardwaremáquina extendida

El SO proporciona un ambiente de ejecución de programas

En caso de conflictos debe decidir de forma eficiente y justa

Page 5: SEMANA 03 - 1

Definiciones brevesDefiniciones breves

Un sistema de software cuyo fin es que un sistema informático sea operativo (utilizable).

Conjunto de programas que gestionan los recursos del sistema, optimizan su uso y resuelven conflictos.

Page 6: SEMANA 03 - 1

El SO como administrador de recursos El SO como administrador de recursos

Tenemos dos participantes en el sistema: los procesos y los recursos.

Un proceso es un programa en ejecución Un recurso puede ser real o virtual, físico o

lógico

Los procesos compiten por el uso de recursos escasos.

Necesitamos un árbitro imparcial que asigne recursos a los procesos, de forma justa y eficiente.

Page 7: SEMANA 03 - 1

El SO como administrador de recursos El SO como administrador de recursos

El SO debe determinar a quién se le entregan los recursos, qué cantidad de recursos se conceden, en qué momento y durante cuánto tiempo.

Políticas de gestión de recursos

Page 8: SEMANA 03 - 1

El SO como administrador de recursos El SO como administrador de recursos

Criterios de gestión de recursos: Optimizar el rendimiento del sistema Reparto justo evitar acaparamientos e inanición

de procesos perjudicados Garantizar la seguridad e integridad de la

información

Normalmente, los distintos criterios entran en conflicto

Ej. no se puede maximizar el rendimiento y a la vez dar un reparto justo

Page 9: SEMANA 03 - 1

El SO como interfazEl SO como interfaz

Es una capa entre el usuario y el hardware. La interfaz ofrece una máquina extendida que es una

abstracción de la realidad.

Maquina desnuda

Proceso 4

Proceso 3

Proceso 2

Proceso 1Maquina extendida

Nivel del SO

Page 10: SEMANA 03 - 1

El SO como interfazEl SO como interfaz

Esa abstracción es más cómoda, más conveniente, más usable para el usuario y para el programador.

Esta interfaz puede ser independiente del hardware: ganamos portabilidad.

Page 11: SEMANA 03 - 1

Recorrido histórico: tipos de sistemasRecorrido histórico: tipos de sistemas

Primeros sistemas Sistemas por lotes Mejoras en la gestión de la E/S Sistemas por lotes multiprogramados Sistemas de tiempo compartido Ordenadores personales Sistemas paralelos: multiprocesadores Sistemas distribuidos Sistemas de tiempo real

Page 12: SEMANA 03 - 1

Primeros sistemasPrimeros sistemas

Los primeros sistemas de computación se caracterizaban: Gran tamaño Prácticamente sin ningún soporte lógico (tableros

enchufables, tarjetas perforadas,...)

?

Page 13: SEMANA 03 - 1

Primeros sistemas: Organización del trabajoPrimeros sistemas: Organización del trabajo

Organización del trabajo: usuario experto: operador/programador un solo usuario en cada momento (tiempo asignado, “listas

de reserva”)

??

?

?

Page 14: SEMANA 03 - 1

Primeras mejoras:Primeras mejoras:

Dispositivos físicos Lectoras de tarjetas, impresoras y cintas magnéticas

Elementos lógicos: Aparece el primer software de sistema, Ensambladores, compiladores, cargadores Manejadores de dispositivos Bibliotecas con subrutinas de uso frecuente Finalmente aparecieron los primeros compiladores de

lenguajes de alto nivel (FORTRAN, COBOL), Simplificando la labor de programación pero

aumentando la carga de trabajo del computador

Page 15: SEMANA 03 - 1

Problemas:Problemas:

El modo de trabajo hacía que la máquina estuviera parada mucho tiempo: tiempo de puesta a punto (setup time) tiempo de corrección manual de errores tiempo sobrante por finalización

temprana

Equipos muy caros

Page 16: SEMANA 03 - 1

 Los sistemas por lotes multiprogramados proporcionan un entorno en el que los distintos recursos del sistema (por ejemplo, CPU, memoria, dispositivos periféricos) se aprovechan de manera efectiva. No obstante, los sistemas por lotes tienen ciertos problemas desde el punto de vista del usuario. Puesto que el usuario no puede interactuar con el trabajo durante su ejecución, debe preparar las tarjetas de control de modo que manejen todos los resultados posibles. En un trabajo de varios pasos, los pasos subsecuentes podrían depender del resultado de pasos anteriores. Por ejemplo, la ejecución de un programa podría depender de que su compilación tenga éxito. Puede ser difícil definir cabalmente lo que debe hacerse en todos los casos.

Los sistemas por lotes multiprogramados Los sistemas por lotes multiprogramados

Page 17: SEMANA 03 - 1

Sistemas de tiempo compartidoSistemas de tiempo compartido

Un sistema operativo de tiempo compartido utiliza planificación de la CPU y multiprogramación para ofrecer a cada usuario una pequeña porción del tiempo de un computador. Cada usuario tiene por lo menos un programa individual en la memoria. Un programa que está cargado en la memoria y se está ejecutando se conoce como proceso. Cuando un proceso se ejecuta, generalmente lo hace sólo durante un tiempo corto antes de que termine o necesite realizar operaciones de BIS. La BIS puede ser interactiva: las salidas podrían enviarse a una pantalla para que el usuario las vea, y las entradas podrían recibirse del teclado del usuario. Puesto que la FIS interactiva casi siempre se efectúa a un ritmo humano, puede tardar mucho tiempo en llevarse a cabo. Las entradas, por ejemplo, pueden estar limitadas por la velocidad con que el usuario teclea; consideramos que una persona que teclea a razón de cinco caracteres por segundo es rápida, pero es increíblemente lenta para los computadores. En lugar de dejar que la CPU esté ociosa mientras ocurre tal entrada interactiva, el sistema operativo conmuta rápidamente la CPU al programa de algún otro usuario.

Page 18: SEMANA 03 - 1

Un sistema operativo de tiempo compartido permite a los múltiples usuarios compartir el computador simultáneamente. Puesto que cada acción u orden en un sistema de tiempo compartido tiende a ser corta, cada usuario necesita sólo un poco de tiempo de CPU. Como el computador cambia con gran rapidez de un usuario al siguiente, cada uno recibe la impresión de que tiene su propio computador, aunque en realidad muchos usuarios lo estén compartiendo.

Page 19: SEMANA 03 - 1

Sistemas por lotes:

Objetivo: sacar más provecho a la máquina gracias a una mejor organización del trabajo

?????

Los operadores agrupaban los trabajos por lotes, que eran trabajos con necesidades similaresy que eran ejecutados en la computadora como un grupo de tareas.

A medida que la computadora quedaba libre, se ejecutaba un lote.

Page 20: SEMANA 03 - 1

Sistemas por lotes:Sistemas por lotes:

Primer paso: aparición del operador especialista.

El programador no manipula directamente el equipo.

El programador entrega su trabajo (job) al operador.

El operador somete la tarea al sistema y entrega los resultados al programador.

El programador corrige sus errores mientras el operador sigue ejecutando otras tareas.

Resultado: aumento de la productividad.

Page 21: SEMANA 03 - 1

Sistemas por lotes:Sistemas por lotes:

Segundo paso: agrupar las tareas en lotes que se procesan de forma automática

Procesamiento por lotes (batch processing)

El operador puede preparar lotes con trabajos que requieren una misma operación (ej. cargar el compilador)

El operador lanza el lote, y éste se ejecuta sin más intervención (secuencia automática de trabajos)

Page 22: SEMANA 03 - 1

Sistemas por lotes:Sistemas por lotes:

Necesario automatizar ciertas acciones comunes Control de la finalización de tareas Tratamiento de errores Carga y ejecución automática de la siguiente tarea

En lugar de dar órdenes al operador, ¿Porqué no dárselas directamente al computador?

Page 23: SEMANA 03 - 1

El Primer Sistema OperativoEl Primer Sistema Operativo

Es necesario que el computador tenga un pequeño monitor residente (controlador) que realice automáticamente las acciones anteriores. ¿Cómo?

Distinguiendo entre:

Tarjetas de instrucciones de programas de usuarios Tarjetas de control (Primer lenguaje de control de

sistema: $FTN, $ASM, $RUN, $JOB, $END)

Page 24: SEMANA 03 - 1

Elementos de un sistema por lotes:Elementos de un sistema por lotes:

Lenguaje de control de tareas (JCL, job control language)

el lote se escribe usando un JCLdefine qué programas hay que cargar, qué datos leer,etc.se escribe en tarjetas perforadas, cinta, etc.

Monitor residenteprograma fijo en memoria con rutinas imprescindibles paraque el sistema por lotes funcione: intérprete del JCL,cargadorde programas, rutinas de EIS...automatiza tareas del antiguo operadores el primer sistema operativo auténtico

Page 25: SEMANA 03 - 1

El monitor residente: ProtecciónEl monitor residente: Protección

Se empiezan a considerar aspectos de protección:

proteger la memoria ocupada por el monitor residente

impedir accesos directos a la E/S evitar que una tarea deje bloqueado al sistema

Todo ello requiere cierto apoyo del hardware

Page 26: SEMANA 03 - 1

CuestionesCuestiones

¿ Quién carga el intérprete del lenguaje de control ?

¿ Cómo se debe actuar en caso de fallo del programa de usuario ?

¿ Cómo garantizar el uso correcto de los dispositivos de E/S ?

¿ Cómo los programas realizan las operaciones de E/S ?

¿ Cómo podemos diferenciar si las instrucciones de E/S son utilizadas por el usuario o por el monitor residente ?

¿ Cómo proteger al monitor residente ?

¿ Cómo garantizar el control del sistema ?

Page 27: SEMANA 03 - 1

La memoria en un sistema con monitor residenteLa memoria en un sistema con monitor residente

Vector de interrupciones

Interprete de JCL

Cargador de programasManejadores de dispositivos E/S

Memorias intermedias (Búferes)

Rutinas de tratamiento de errores

Memoria del usuario

Registro Limite

Mon

itor

res

iden

te

Page 28: SEMANA 03 - 1

SO y arquitectura del computadorSO y arquitectura del computador

Los SO y la arquitectura de los computadores se han influido mucho entre ellos dos

Los SO se crearon para facilitar el uso del hardware

A medida que se diseñaron y usaron los SO, se hizo evidente que podrían simplificarse si se modificaba el diseño del hardware

A lo largo de la evolución de los SO se observa que los problemas de los SO han dado pie a la introducción de nuevas características del hardware

Page 29: SEMANA 03 - 1

El problema de la E/SEl problema de la E/S

La E/S era muy lenta en comparación con la CPU.

Esto provocaba que la CPU quedara ociosa mucho tiempo esperando por la terminación de operaciones de E/S.

Algunas técnicas para tratar el problema: Operación fuera de línea (offline) Uso de búferes Spooling

Page 30: SEMANA 03 - 1

Operación fuera de línea (off-line)Operación fuera de línea (off-line)

El computador central dialoga directamente sólo con dispositivos rápidos (cintas magnéticas).

Un pequeño computador (satélite o canal) se encarga de las transferencias con dispositivos lentos (tarjetas, impresora).

Page 31: SEMANA 03 - 1

Resultado: mejor aprovechamiento del procesador central ejecución paralela de cálculos y operaciones de E/S

Se puede incrementar la velocidad utilizando varios satélites.

Para trabajar con offline, no hace falta recompilar los programas antiguos.

Los trabajos siguen usando los mismos servicios para la E/S. Lo que cambia es su implementación en el S.O: independencia del dispositivo.

Operación fuera de línea (off-line)Operación fuera de línea (off-line)

Page 32: SEMANA 03 - 1

Esquema de operación de E/S en el que las transferencias de E/S se realizan a través de un área intermedia de memoria (búfer)

La operación de E/S se realiza sólo cuando el dispositivo está preparado.

BúferesBúferes

Búfer de Salida

Búfer de entrada

.

.

.

.

.

.

CPU

Memoria PrincipalDispositivo de entrada

Dispositivo de salida

Page 33: SEMANA 03 - 1

La CPU sólo espera por E/S cuando el búfer está vacío (entrada) o lleno (salida)

El uso de búferes permite solapar operaciones de E/S de una tarea con instrucciones de CPU de esa misma tarea

El uso de búferes no resuelve totalmente el problema de la lentitud de los equipos de E/S

Los búferes sólo sirven para amortiguar picos de alta actividad de E/S.

Su eficacia depende fundamentalmente de la velocidad de los equipos de EIS y del tipo de tareas en ejecución Si la EIS es muy lenta, los búferes de entrada se vacían y los de salida

se congestionan. Las tareas con muchos requerimientos de E/S (I/O-bound jobs/CPU-

bound jobs) provocaran el mismo efecto

BúferesBúferes

Page 34: SEMANA 03 - 1

Este esquema de funcionamiento de operación de la EIS surge gracias a la aparición de los discos

Se utiliza el disco como un enorme búfer.

El proceso lee/escribe sobre el disco, en lugar del dispositivo de E/S.

Mientras se ejecuta un trabajo, el S.O.: lee los datos del siguiente trabajo de la cinta/tarjetas al disco imprime la salida del anterior trabajo, del disco a la impresora

Permite solapar la EIS de un proceso ya terminado con las operaciones en CPU de otro proceso.

Introduce una estructura de control. Fondo de trabajos (job pool): el lote está en el disco. así que el S.O. puede elegir el trabajo más adecuado.

Spooling Spooling (Simultaneous Peripheral Operation On-Line)(Simultaneous Peripheral Operation On-Line)

Page 35: SEMANA 03 - 1

El modo de operación offline y el spooling aumentan el rendimiento de la CPU pero tienen sus limitaciones

En algún momento la CPU quedará ociosa esperando por alguna operación de E/S

Al existir la posibilidad de tener varios trabajos en un dispositivo de acceso directo. como un disco. es posible la planificación de trabajos

El SO puede escoger qué trabajo ejecutara a continuación

MultiprogramaciónMultiprogramación

Page 36: SEMANA 03 - 1

Cuando un proceso se bloquea al esperar por la EIS, ejecutamos en la CPU instrucciones de otro proceso.

Los procesos entrelazan su ejecución: concurrencia.

La CPU y la E/S trabajan a la misma vez se terminan más trabajos en menos tiempo

MultiprogramaciónMultiprogramación

Page 37: SEMANA 03 - 1

Los sistemas multiprogramados son más complejos:

Cuando la CPU queda libre, ¿a qué proceso elegimos?(planificación de la CPU)

conflictos por acceso simultáneo a la EIS (planificación de

dispositivos)

varios procesos a la vez en memoria (gestión de memoria)

Protección

Solución a situaciones de interbloqueo

MultiprogramaciónMultiprogramación

Page 38: SEMANA 03 - 1

Multiprogramación + interactividad = tiempo compartido

Los sistemas por lotes no son interactivos (el usuario no interviene durante la ejecución de su trabajo) Con la multiprogramación e interactividad, se replantea su

caracterización: antes era por el agrupamiento de tareas similares mientras que ahora se caracterizan por la falta de interacción entre los usuarios y las tareas en ejecución

Tiempo compartido Tiempo compartido (Time Sharing)(Time Sharing)

Page 39: SEMANA 03 - 1

Idea: la CPU reparte su tiempo entre los distintos procesos.

Cada proceso dispone de una rodaja de tiempo periódica. Si el periodo es lo bastante pequeño, el usuario no lo percibe.

Con el t.c. se pierde productividad de CPU, pero se gana en productividad humana

Tiempo compartido Tiempo compartido (Time Sharing)(Time Sharing)

Page 40: SEMANA 03 - 1

Por tanto con el tc se consigue: tiempos de respuesta cortos Los usuarios tienen la impresión de poseer un ordenador

particular

Tiempo compartido Tiempo compartido (Time Sharing)(Time Sharing)

?

??

?

Page 41: SEMANA 03 - 1

La aparición del microprocesador permitió fabricar computadores baratos, asequibles para el consumo de masas => ordenadores personales (años 80)

Destinados al uso individual y no experto.

Máxima importancia a la facilidad de uso, bajos tiempos de respuesta, etc.

Interfaces de usuario: sistemas WIMP (windows, icons, menus, pointers).

Utilizan tecnología de los grandes S.O., pero prescinden de ciertos servicios (protección, multiprogramación, etc.)

Ordenadores personalesOrdenadores personales

Page 42: SEMANA 03 - 1

Sistemas con más de un procesador. Pueden ejecutar varias instrucciones simultáneamente (en paralelo).

Sistemas estrechamente acoplados: los procesadores comparten una memoria común.

Sólo hasta decenas o centenares de procesadores.

Ventajas:aumento de velocidad de procesamiento con bajo coste

ciertatolerancia a fallos

Inconvenientes:necesidad de sincronización entre procesos

Sistemas paralelos -multiprocesadoresSistemas paralelos -multiprocesadores

Page 43: SEMANA 03 - 1

Múltiples procesadores conectados mediante una red.

Sistemas débilmente acoplados: los procesadores no comparten memoria ni reloj.

Escalable hasta millones de procesadores (ejm. Internet)

Sistemas distribuidosSistemas distribuidos

Page 44: SEMANA 03 - 1

Ventajas:compartición de recursos dispersosayuda al trabajo cooperativo de equipos humanosaumento de velocidad fiabilidad (tolerancia a fallos, alta disponibilidad)

Complicaciones:Uno comparten memoria: la comunicación es más compleja

y no se puede tener un estado global visible por todos los nodos al instante.

red de comunicaciones no fiableheterogeneidad de los nodos

Sistemas distribuidosSistemas distribuidos

Page 45: SEMANA 03 - 1

Para poder ejecutar satisfactoriamente tareas que han de completarse en un plazo prefijado (ejm. sistemas de

control industrial, sistemas multimedia)

Dos tipos: s.t.r. crítico: para tareas que siempre deben

cumplir los plazos de terminación. Adecuados para la industria. Muy simples, incompatibles con tiempo compartido, memoria virtual, etc.

s.t.r. no crítico: intentan cumplir los plazos, pero no los garantizan al 100%. Adecuados para multimedia, etc.

Sistemas de tiempo realSistemas de tiempo real

Page 46: SEMANA 03 - 1

Sistemas empotrados (embedded systems)

Sistemas de propósito especifico

Teléfonos móvilesConsolas de videojuegos…

Otros sistemasOtros sistemas

Page 47: SEMANA 03 - 1

Estructura del computador

Page 48: SEMANA 03 - 1

Controlador de memoria

Memoria

CPUControlador

de discosControlador

de impresora

Controlador de puerto

PS/2

La CPU y los Controladores de dispositivos funcionan

concurrentementecompitiendo por la memoria

Estructura del computadorEstructura del computador

bus del sistema

Page 49: SEMANA 03 - 1

Los dispositivos se conectan al bus a través de controladores de E/S.

La CPU se comunica con los controladores a través de instrucciones especiales o de direcciones de memoria

concretas.

Cada controlador tiene un búfer local. La CPU envía y recoge datos del búfer.

El controlador notifica a la CPU la finalización de una operación o la llegada de nuevos datos mediante una interrupción

Estructura de la E/SEstructura de la E/S

Page 50: SEMANA 03 - 1

Cuando llega una señal de interrupción a la CPU, ésta suspende lo que está haciendo y ejecuta una rutina de servicio de interrupción (RSI).

Antes de ejecutar la RSI, hay que guardar el estado de la CPU, para que pueda reanudar lo que estaba haciendo después de completar la RSI.

InterrupcionesInterrupciones

Page 51: SEMANA 03 - 1

Estructura del Estructura del sistema sistema

operativooperativo

Page 52: SEMANA 03 - 1

Componentes típicos de un SOComponentes típicos de un SO

procesos memoria Entrada/salida

redes proteccion archivos

Interprete de ordenes

Page 53: SEMANA 03 - 1

Gestión de procesosGestión de procesos procesosprocesos

Un proceso es un programa en ejecución. Para poder ejecutarse, un proceso necesita tiempo de CPU, una porción de memoria, archivos, E/S y demás recursos.

Responsabilidades del S.O.:creación y eliminación de procesosplanificación de procesos: repartir la CPU entre los procesos activos

sincronización entre procesoscomunicación entre procesos

Page 54: SEMANA 03 - 1

Gestión de memoriaGestión de memoria memoriamemoria

La memoria es un recurso escaso por el que compiten los distintos procesos.

Responsabilidades del S.O.:conocer qué zonas de memoria están libres y cuáles están ocupadas

decidir qué procesos hay que cargar cuando haya memoria libre

reservar y liberar zonas de memoria según se solicitememoria virtual: utilizar el almacenamiento secundario como una extensión de la memoria principal

Page 55: SEMANA 03 - 1

Gestión de entrada/salidaGestión de entrada/salida Entrada/Salida

La E/S es un conjunto de dispositivos muy variados y complejos de programar.

Objetivos del S.O.:proporcionar una interfaz uniforme para el acceso a los

dispositivos (independencia del dispositivo)proporcionar manejadores para los dispositivos concretos tratar automáticamente los errores más típicospara los dispositivos de almacenamiento, utilizar cachéspara los discos, planificar de forma óptima las peticiones

Page 56: SEMANA 03 - 1

Sistema de archivosSistema de archivos Archivos

Un archivo es un conjunto de datos identificado por un nombre. Los archivos se almacenan en dispositivos de E/S. Un archivo es un concepto de alto nivel que no existe en el hardware.

Funciones del S.O.:manipulación de archivos: crear. borrar. leer. escribir...

manipulación de directoriosubicar los archivos y directorios en los dispositivos de almacenamiento secundario

automatizar ciertos servicios: copia de seguridad. versiones. etc.

Page 57: SEMANA 03 - 1

Sistema de proteccionSistema de proteccion Protección

La protección abarca los mecanismos destinados a controlar el acceso de los usuarios a los recursos, de acuerdo con los privilegios que se definan.

Objetivos del S.O.:definir el esquema general de protección: clases de usuarios, clases de permisos/privilegios, etc.

definir mecanismos de acceso a los recursos: contraseñas, llaves, capacidades, etc.

controlar el acceso a los recursos, denegando el acceso cuando no esté permitido

Page 58: SEMANA 03 - 1

RedesRedes RedesRedes

En un sistema distribuido, existen varios ordenadores con sus propios recursos locales (memoria, archivos, etc.), conectados mediante una red.

Objetivos del S.O.:proporcionar primitivas para conectarse con equipos remotos y acceder de forma controlada a sus recursos: primitivas de comunicación (enviar y recibir datos) sistema de ficheros en red (ejm. NFS) llamada remota a procedimiento (RPC) etc.

Page 59: SEMANA 03 - 1

Interprete de ordenesInterprete de ordenes Interprete de ordenes

Para que un usuario pueda dialogar directamente con el S.O., se proporciona una interfaz de usuario básica para:

cargar programas abortar programas introducir datos a los programas trabajar con archivos trabajar con redes

Ejemplos: JCL en sistemas por lotes, COMMAND.COM en MS-DOS, shell en UNIX

Page 60: SEMANA 03 - 1

ProcesosProcesos

Page 61: SEMANA 03 - 1

Concepto de procesoConcepto de proceso

Un proceso es un programa en ejecución

Un proceso necesita recursos para poder ejecutarse: memoria, dispositivos de E/S, la CPU, etc.

Áreas típicas de la memoria:códigodatos (variables globales, memoria dinámica)pila (parámetros y variables locales de subrutinas)

Page 62: SEMANA 03 - 1

Estados de un procesoEstados de un proceso

A medida que un proceso se ejecuta, cambia de estado:

nuevo: recién creado por el S.O. en ejecución: está en la CPU ejecutando

instrucciones bloqueado: esperando a que ocurra algún evento (ej.

una operación de E/S) preparado: esperando a que le asignen un

procesador terminado: no ejecutará más instrucciones y el S.O.

le retirará los recursos que consume

Page 63: SEMANA 03 - 1

Estados de un procesoEstados de un proceso

Nuevo

Preparado Ejecución

Terminado

Bloqueado

Admitido

Planificador

Interrupción

Llamada al sistema o excepción

Llamada al sistema de E/S o espera por un evento

Finaliza la operación u ocurre el evento

Page 64: SEMANA 03 - 1

ConcurrenciaConcurrencia

Page 65: SEMANA 03 - 1

¿Que es concurrencia?¿Que es concurrencia?

Definición de diccionario: coincidir en el espacio o en el tiempo dos o más personas o cosas.

En Informática, se habla de concurrencia cuando hay una existencia simultánea de varios procesos en ejecución.

Ojo, concurrencia existencia simultánea no implica ejecución simultánea

Page 66: SEMANA 03 - 1

Paralelismo y concurrenciaParalelismo y concurrencia

El paralelismo es un caso particular de la concurrencia.

Se habla de paralelismo cuando ocurre la ejecución simultánea de instrucciones

Page 67: SEMANA 03 - 1

InterbloqueoInterbloqueo

Page 68: SEMANA 03 - 1

El problemaEl problema

Un conjunto de procesos bloqueados, cada uno de ellos esperando por un recurso que retiene otro proceso de ese conjunto.

ningún proceso del conjunto puede avanzar interbloqueo, bloqueo mutuo, abrazo mortal

(deadlock).

Page 69: SEMANA 03 - 1

¿De quien es la culpa del interbloqueo?¿De quien es la culpa del interbloqueo?

Muchas veces, el interbloqueo no es responsabilidad de las aplicaciones, sino del sistema de gestión de recursos

Ejemplo: Los procesos A y B se pueden interbloquear, aunque están escritos correctamente

Proceso A Proceso B

Pide (escaner) Pide (Impresora)

Pide (Impresora) Pide (escaner)

Usa Impresora y escaner Usa Impresora y escaner

Libera (Impresora) Libera (escaner)

Libera (escaner) Libera (Impresora)

Page 70: SEMANA 03 - 1

MemoriaMemoria

Page 71: SEMANA 03 - 1

Gestión de la memoria: AntecedentesGestión de la memoria: Antecedentes

La memoria física es un conjunto de celdas referenciables por medio de una dirección lineal (p.ej. de la 00000h a la FFFFFh)

Para que un programa se ejecute, su código y sus datos necesitan estar cargados en memoria (al menos en parte)

En un sistema multitarea, la memoria ha de repartirse entre los diferentes procesos

Page 72: SEMANA 03 - 1

Gestión de la memoria: AntecedentesGestión de la memoria: Antecedentes

Las rutinas del sistema operativo también deberán residir en memoria, en todo o en parte

Puede ser que la memoria principal no tenga capacidad suficiente para todos los procesos en ejecución

Page 73: SEMANA 03 - 1

Gestión de la memoria: Objetivo principalGestión de la memoria: Objetivo principal

Conseguir que varios procesos puedan ejecutarse de forma concurrente, evitando los conflictos de uso protegiendo al sistema operativo aprovechando eficazmente el espacio disponible:

Minimizar la memoria desaprovechada Evitar fragmentación Memoria ocupada por varias copias de un mismo objeto Memoria ocupada por las estructuras de datos necesarias

para la operación del gestor de memoria Carga parcial de programas

sin perjudicar el rendimiento: Complejidad temporal Tiempo de acceso a memoria

Page 74: SEMANA 03 - 1

Gestión de la memoria: Objetivo principalGestión de la memoria: Objetivo principal

Un gestor de memoria ideal debería por tanto, minimizar la memoria desaprovechada tener una complejidad temporal mínima y presentar un recargo por acceso a memoria

mínimo además de proporcionar una buena protección y una

compartición flexible

Page 75: SEMANA 03 - 1

Ciclo de vida de un programaCiclo de vida de un programa

Otros objetos y bibliotecas

Bibliotecas del sistema

Bibliotecas dinámicas

Programa fuente

Modulo objeto

Programa ejecutable

Programa y datos binarios en memoria

Compilación

Carga

Ejecución

Compilador

Enlazador

Cargador

HARDWARE

Page 76: SEMANA 03 - 1

Sistema de Sistema de archivosarchivos

Page 77: SEMANA 03 - 1

Concepto de archivoConcepto de archivo

En general un archivo es una secuencia de bits cuyo significado el creador y usuario define

SISTEMA DE ARCHIVOS: conjunto de módulos del SO que se encargan de la gestión de

la información (archivos)

Page 78: SEMANA 03 - 1

Entrada/SalidaEntrada/Salida

Page 79: SEMANA 03 - 1

Definición y objetivosDefinición y objetivos

Subsistema de entrada/salida: conjunto de módulos software del sistema operativo que manejan los dispositivos de entrada/salida con la finalidad de:

Soportar sus especificidades. Manejarlos de forma eficiente y segura. Proporcionar una disciplina de manejo de uso

uniforme. Lograr un grado alto de Independencia de los

programas en el uso los dispositivo de entrada/ salida.

Page 80: SEMANA 03 - 1

Estructura del subsistema de E/S Estructura del subsistema de E/S

Principales componentes:

Elementos hardware: dispositivos de entrada/salida, controladores de dispositivos, controlador de interrupciones y controlador de DMA.

Elementos software: manejadores de dispositivos, gestor de interrupciones, gestor de búferes de memoria y spooler.