Académique Documents
Professionnel Documents
Culture Documents
Sistemas operativos
Programa que controla la ejecucin de los programas de aplicacin:
Acceso eficiente a recursos compartidos limitados
Eficiencia:
Acta como interfaz entre las aplicaciones del usuario y el hardware: Simplifica la labor
del programador
Capacidad de evolucin:
A.Ortigosa
Tema 2
A.Ortigosa
Sistemas operativos
Funciona de la misma manera que el software normal de un computador.
Ncleo
Parte del sistema operativo que se encuentra en la memoria principal. Incluye las funciones utilizadas con ms frecuencia. Carece de estructura Tambin denominado kernel (DOS, Windows , Unices). Microkernel o microncleo (WNT,W2K): En este caso, el S.O. se ocupa slo de unas pocas funciones (gestin de memoria, procesos, IPC), reduciendo el ncleo a su mnima expresin. El resto de funciones pasan a estar en el espacio de usuario.
5 A.Ortigosa Tema 2 6
El sistema operativo abandona el control del procesador para ejecutar otros programas.
A.Ortigosa
Tema 2
Sistema informtico
Memoria Software del sistema operativo Dispositivos de E/S Controlador de E/S Controlador de E/S Impresoras, teclados, cmaras digitales,etc.
SO Programas
Sistema operativo
Datos
Tema 2
A.Ortigosa
Editores, compiladores y depuradores (debuggers). Administra: carga en memoria, prepara recursos, Proporciona interfaz de acceso, ocultando detalles y seales de control Naturaleza del dispositivo,estructura de datos, Acceso, proteccin a recursos, etc.
Ejecucin de programas:
Errores de software.
Desbordamiento Acceso
Acceso al sistema:
A.Ortigosa
Tema 2
A.Ortigosa
Recoger estadsticas. Supervisar su rendimiento. Utilizado para los usuarios con cuotas.
A.Ortigosa
Tema 2
11
A.Ortigosa
Tema 2
12
No haba sistema operativo (slo Hw). Las operacin con estas mquinas era desde una consola consistente en unos indicadores luminosos, unos conmutadores, un dispositivo de entrada y una impresora (ej: tarjetas perforadas). PROBLEMAS:
- La historia de los SOs esta ligada a la rpida evolucin del hardware ( decreciente, con el nivel de integracin) y a condicionantes sociales (encarecimiento del precio mano de obra): ADAPTACIN
A.Ortigosa Tema 2 13 A.Ortigosa
Planificacin (reserva previa) y temporizacin (t.mximo). Preparacin: inclua cargar un compilador, un programa fuente, salvar el programa compilado y, por ltimo, cargar y montar el programa objeto. Usaban cintas y paquetes de tarjetas.
Tema 2
14
A.Ortigosa
Tema 2
15
[Rickman 83] The IBM 701 Computer at the General Motors Research Laboratories G. Rickman. IEEE Annals of the History of Computing 5,2 (April 1983), 210-212 A.Ortigosa Tema 2 16
Monitor: Software que controla los programas que estn en funcionamiento. Residente en memoria principal, listo para ser ejecutado en cuando se necesite. Usuario entrega cinta o tarjeta. Los trabajos se agrupan por lotes y se ubican en dispositivo de entrada del monitor. Monitor carga en memoria y ejecuta lotes. El programa vuelve al monitor al terminar su procesamiento y ste carga siguiente.
Tema 2 17
A.Ortigosa
Ejemplo (JCL)
$ USER $ JOB $ FTN Instrucciones en Fortran $ LOAD $ RUN Datos $ END
} }
No permite modificar la zona de memoria en la que est el monitor. Previene que un solo trabajo monopolice el sistema. Si se excede, interrupcin y vuelta al monitor. Slo permitidas al monitor. Ej: Operaciones E/S.
Temporizador:
Instrucciones privilegiadas
Interrupciones
19 A.Ortigosa Tema 2 20
A.Ortigosa
Tema 2
Problemas
Falta de interaccin con el proceso
Debugging
A.Ortigosa
Tema 2
21
A.Ortigosa
Tema 2
22
Monoprogramacin
Antes de continuar, el procesador debe esperar hasta que la instruccin de E/S termine.
Programa A Ejecutar Tiempo Esperar Ejecutar Esperar Combinados
Multiprogramacin
Cuando un trabajo necesite esperar una E/S, el procesador puede cambiar al otro trabajo.
Programa A
Ejecutar
Esperar
Ejecutar
Esperar
Programa B
Esperar
Ejecutar
Esperar
Ejecutar
Esperar
Esperar
Ejecutar A Ejecutar B
Esperar
(a) Monoprogramacin
A.Ortigosa
Tema 2
23
A.Ortigosa
Tema 2
24
Multiprogramacin
MEMORIA
Programa A Ejec. Esperar Ejec. Esperar
Programa B
Esperar
Ejec.
Esperar
Ejec.
Esperar
CPU
Proceso 1 CP = CP1 RA = RA1 RZ = RZ1 Comienzo Pila = Pi1 Profundidad Pila= Ph1
Programa C
Esperar
Ejec
Esperar
Ejec
Proceso 3
Combinados Ejec. A Ejec. B Tiempo Ejec. C. Esperar Ejec. A Ejec. B Ejec. C. Esperar
(...) Proceso m
Contador de Programa (CP) Acumulador (AC) Registro A (RA) ... Registro Z (RZ) Pila (P)
Tema 2
Proceso 2 CP = CP2 RA = RA2 RZ = RZ2 Comienzo Pila = Pi2 Profundidad Pila= Ph2
26
A.Ortigosa
Tema 2
25
A.Ortigosa
Libre
Libre
Libre
CPU
TRABAJO 1
(TRABAJO 2)
TRABAJO 4
(TRABAJO 1) (TRABAJO 2)
TRABAJO 2
Libre
Libre
Libre
Ejemplo
TRABAJO1 Duracin Memoria exigida Necesita disco? Necesita terminal? 5 min. 50 K No No TRABAJO2 15 min. 100 K No S No TRABAJO3 E/S intensiva 10 min. 80 K S No S
Efectos de la multiprogramacin
Monoprogramacin Uso del procesador Uso de la memoria Uso del disco Uso de la impresora Tiempo transcurrido Tasa de productividad 22% 30% 33% 33% 30 min. 6 trabajos/hora Multiprogramacin 43% 67% 67% 67% 15 min. 12 trabajos/hora 10 min.
Necesita impresora? No
A.Ortigosa
Tema 2
29
A.Ortigosa
Tema 2
30
Tiempo compartido
Utiliza la multiprogramacin para gestionar varias tareas interactivas. El tiempo del procesador se comparte entre los diversos usuarios. Mltiples usuarios acceden simultneamente al sistema por medio de terminales.
Objetivo principal
A.Ortigosa
Tema 2
31
A.Ortigosa
Tema 2
32
PARA MEMORIZAR!
Computers in the future may weigh no more than 1.5 tons
Logros principales
Los procesos. La gestin de memoria. La seguridad y la proteccin de la informacin. La planificacin y la gestin de recursos. La estructura del sistema.
33
A.Ortigosa
Tema 2
A.Ortigosa
Tema 2
34
Procesos
Un programa en ejecucin. Una instancia de un programa funcionando en un computador. La entidad que puede ser asignada al procesador y ejecutada por l. Una unidad de actividad caracterizada por un sencillo tratamiento de ejecucin secuencial, un estado actual, y asociada a un conjunto de recursos del sistema.
A.Ortigosa Tema 2 35
Interbloqueos
A.Ortigosa
Proceso
Formado por tres componentes:
Lista de procesos
Proceso
Memoria principal Registros del procesador
ndice de proceso PC Base Lmite Otros registros Contexto Proceso A Datos Programa (cdigo)
Un programa ejecutable. Los datos asociados necesarios para el programa. El contexto de ejecucin del programa.
Toda
la informacin que el sistema operativo necesita para administrar el proceso (contenidos de registros del procesador, prioridad, si espera E/S).
A.Ortigosa
Tema 2
37
A.Ortigosa
38
Gestin de memoria
Aislamiento del proceso. Asignacin y gestin automticas. Soporte para la programacin modular. Proteccin y control de acceso. Almacenamiento a largo plazo.
Sistema de archivos
Incorpora un almacenamiento a largo plazo. La informacin se almacena en unos objetos denominados archivos.
A.Ortigosa
Tema 2
39
A.Ortigosa
Tema 2
40
Memoria virtual
Permite a los programas direccionar la memoria desde un punto de vista lgico. No existir un espacio muerto entre la ejecucin de los procesos sucesivos, mientras un proceso se enva al almacenamiento secundario y el proceso que le sucede es trado de ste.
Sistema de paginacin
Permite que los procesos estn formados por varios bloques de tamao fijo, denominados pginas. La direccin virtual est formada por un nmero de pgina y un deplazamiento dentro de la pgina. Cada pgina puede estar ubicada en un lugar cualquiera de la memoria principal. La direccin real o direccin fsica se utiliza en la memoria principal.
A.Ortigosa Tema 2 42
A.Ortigosa
Tema 2
41
Memoria principal La memoria principal est formada por un nmero de marcos de longitud fija del tamao de una pgina. Para ejecutar un programa, algunas o todas sus pginas tienen que estar en el operativo de la memoria principal. A.Ortigosa
Disco La memoria secundaria (disco) puede almacenar muchas pginas de longitud fija. Un programa de usuario est formado por varias pginas. Las pginas de todos los programas, incluso los del sistema estn en el disco, en forma de archivos. Tema 2 43 A.Ortigosa Memoria secundaria
Regula el acceso del usuario al sistema. Regula el flujo de datos dentro del sistema y su distribucin a los usuarios. Demuestra que el acceso y el control del flujo se llevan a cabo de acuerdo con las especificaciones.
Tema 2 45
Otorga un acceso igual y equitativo a todos los procesos. Discrimina entre las diferentes clases de trabajos. Maximiza la productividad, minimiza el tiempo de respuesta y aloja a tantos usuarios como sea posible.
Tema 2 46
Sensibilidades diferenciales:
Certificacin:
Eficiencia:
A.Ortigosa
A.Ortigosa
Llamadas al sistema
Los procesos se comunican con el SO a travs de llamadas al sistema Cada llamada al sistema desde un lenguaje de alto nivel se corresponde normalmente con un procedimiento que lee los parmetros de la llamada y los pasa al SO, con el control, mediante un TRAP.
47 A.Ortigosa Tema 2 48
Cola a Cola a Cola de largo corto E/S plazo plazo Planificador a corto plazo (cdigo)
Pasar el control al proceso Figura 2.11. Elementos clave para la multiprogramacin de un sistema operativo.
A.Ortigosa Tema 2
Llamadas al sistema
read(); Modo Usuario Trap Table
Llamadas al sistema
(a,b,c) REGISTRO(S)
Modo Ncleo
TRAP(P) Llamada a P(a,b,c) Cdigo para la llamada P PROCEDIMIENTO RETURN FROM TRAP(P) DE RESPUESTA A LA LLAMADA P
sys_read()
SISTEMA OPERATIVO
50
Sistemas Monolticos
Estructura (o falta de ella) ms comn (MS-DOS, UNIX) SO es un conjunto de procedimientos que pueden llamarse mutuamente. Compilacin individual/enlace en un nico objeto. No hay modos usuario/ncleo (el hardware no lo permite) PROBLEMAS: No hay ocultacin de datos, difcil de modificar y depurar.
51 A.Ortigosa Tema 2 52
A.Ortigosa
Tema 2
MS-DOS
MS-DOS naci con limitaciones de espacio (memoria), tiempo de desarrollo y hardware (8088 no tena modo usuario/ncleo ni proteccin de memoria). Consecuencia: INESTABILIDAD (corrupcin de procesos y dispositivos) Aplicaciones de usuario SO residente (Shell + ncleo) drivers MS-DOS BIOS (ROM) Dispositivos
A.Ortigosa Tema 2 53 A.Ortigosa
UNIX (Original)
Aplicaciones de usuario Intrprete de comandos (shell) compiladores y bibliotecas del sistema Interfaz entre el shell y el ncleo (kernel)
Manejo de seales Sistema de E/S Drivers terminal Sistema de ficheros Swapping Drivers del disco Asignacin de CPU Paginacin Memoria Virtual SO
Interfaz entre el kernel y el hardware Controlador de terminal Terminales Controlador de dispositivos Unidad de disco
Tema 2
Mquinas Virtuales
Extensin del sistema por capas, donde cada proceso tiene la ilusin de estar ejecutndose en un sistema monoprogramado. Ej: IBM VM. La ilusin se consigue mendiante planificacin de CPU y de memoria virtual
Proceso
Proceso
Proceso
Ncleo
Ncleo
Ncleo
Problema: distribucin de tareas en capas, baja eficiencia Solucin: arquitecturas mixtas (OS/2, NT 4.0)
A.Ortigosa Tema 2
56
Mquinas Virtuales
Ventajas de esta filosofa:
Modelo Cliente/Servidor
Simplificacin del ncleo, al mover el cdigo correspondiente a varias funciones a capas superiores. Acceso a servicio mediante mensajes desde los procesos de usuario (clientes) a los procesos que controlan los distintos servicios (servidores) que se ejecutan en modo usuario El ncleo se limita a encauzar los mensajes
Proceso Proceso Servidor Servidor Servidor Cliente Cliente de de de Procesos Memoria Archivos Ncleo
57 A.Ortigosa Tema 2
El SO (virtual) no tiene problemas de seguridad y proteccin de recursos compartidos (memoria, disco, perifricos), ya que se ejecuta sobre una mquina (virtual) monoprogramada. Co-existencia de distintos SSOO sobre un mismo hardware (ej. PowerPC incluye una mquina virtual (emulador) del Motorola 68000 para permitir correr ejecutables compilados para el M68000) Perdida de eficiencia en las traducciones
Tema 2
...
Inconvenientes:
Servidor de E/S
Mensaje
58
Modelo Cliente/Servidor
Facilidad de mantenimiento, debido a la modularizacin de los servicios. Robustez, al ejecutarse los procesos de servicio en modo usuario: un servicio puede dejar de funcionar sin que todo el sistema tenga que interrumpir Extensin natural del modelo a sistemas distribuidos
Proceso Cliente Ncleo Servidor Procesos Ncleo Servidor Archivos Ncleo Servidor Memoria Ncleo
Nivel 13 12 11 10
Dispositvos externos como Abrir, cerrar, leer, escribir impresoras, pantallas y teclados Archivos Tubos (pipes)
9 8
Crear, destruir, abrir, cerrar, leer, escribir Crear, destruir, abrir, cerrar, leer, escribir
Mensaje
A.Ortigosa Tema 2
Red
59 A.Ortigosa Tema 2 60
10
Procedimientos
Conjunto de instrucciones
Evaluacin de la pila, intrprete de microprogramas, vectores de datos y escalares Registros, puertas, buses, etc.
Circuitos electrnicos
A.Ortigosa
Tema 2
61
A.Ortigosa
Tema 2
62
El proceso se divide en hilos que pueden ejecutarse concurrentemente. Unidad de trabajo que se puede expedir para su ejecucin. Se ejecuta secuencialmente y es interrumpible. Un conjunto de uno o ms hilos.
Tema 2 64
Hilo:
Proceso:
Existencia de mltiples procesadores. Estos procesadores comparten la misma memoria principal y dispositivos de E/S. Todos los procesadores pueden ejecutar las mismas funciones.
Proporciona la ilusin de un nico espacio de memoria principal y un nico espacio de memoria secundaria. Utilizado para el sistema de archivos distribuido.
A.Ortigosa
Tema 2
65
A.Ortigosa
Tema 2
66
11
UNIX
Hardware rodeado del sistema operativo SO llamado ncleo del sistema o kernel Equipado con servicios de usuario e interfaces
Aade extensiones modulares a un pequeo ncleo. Permite a los programadores personalizar un sistema operativo sin romper la integridad del sistema.
A.Ortigosa
Tema 2
67
A.Ortigosa
Tema 2
68
UNIX
Bibliotecas y rdenes (comandos) UNIX Interfaz de llamadas al sistema Ncleo
Hardware
A.Ortigosa
Tema 2
71
12