Sistemas Operativos S.O. · –Detección de errores. ... EVOLUCIÓN DE LOS SISTEMAS OPERATIVOS ....
-
Upload
phungnguyet -
Category
Documents
-
view
248 -
download
0
Transcript of Sistemas Operativos S.O. · –Detección de errores. ... EVOLUCIÓN DE LOS SISTEMAS OPERATIVOS ....
Contenido
1. Conceptos
2. Evolución de los Sistemas Operativos
3. Administración del Entorno de Hardware
1.1. Definición de Sistema Operativo
• Es un programa que actúa como intermediario entre el usuario de un computador y el hardware de éste.
1.2. Objetivos de un S.O.
• Ejecución de programas de usuario
• Amigabilidad
• Eficiente Aplicac
ión
1
Código
para
uso del
HW
Aplicac
ión
N
Código
para
uso del
HW
Aplicac
ión
1
Código
para
uso del
HW
Aplicac
ión
N
SO
1.3. Servicios que brinda un S.O.
• Los S.O. brindan los siguientes servicios a los programas y a los usuarios de dichos programas:
– Ejecución de programas.
– Operaciones de E/S.
– Manipulación de ficheros.
– Comunicaciones.
– Detección de errores.
– Accounting (contabilidad).
– Protección.
2.1. Proceso en serie: no hay S.O.
• Conmutadores que permiten cargar programas.
• Los programas en tarjetas perforadas.
• Planificación de trabajos: los usuarios reservan tiempo de computador.
• Preparación de trabajos: incluye el montaje y desmontaje de cintas, carga y descarga de tarjetas, etc
2.2. Sistemas sencillos de procesos por lotes
• Antepasado del SO: monitor. • El JCL (lenguaje de control de
trabajos) permite dar instrucciones al monitor.
• El monitor cede el control a un programa para su ejecución y lo recupera cuando termina.
• Se necesitan características HW adicionales: – Protección de memoria. – Temporizador. – Instrucciones privilegiadas. – Interrupciones.
Monitor
Zona de
programas
de usuario
2.3. Sistemas por lotes con multiprogramación
• Anteriormente se perdía tiempo en las E/S.
• Se almacenan varios programas en la memoria.
• El procesador cambiará a otro programa cuando el actual necesite esperar por el fin de una E/S: multiprogramación o multitarea.
S.O.
Programa 1
Programa 2
Programa 3
.......
2.3. (continuación)
• Se necesitan características HW y SW adicionales:
– El HW debe respaldar las interrupciones de E/S.
– Se necesita alguna gestión de memoria para mantener varios programas en memoria.
– Se necesita algún algoritmo de planificación para decidir qué programa ejecutar.
2.4. Sistemas de Tiempo Compartido
• Hay trabajos que necesitan que el usuario interactúe con el computador.
• Sistema de tiempo compartido: el SO intercala la ejecución de cada programa de usuario en ráfagas cortas de cómputo llamadas quantums.
• Se vuelve a utilizar la multiprogramación. • Las características HW necesarias son básicamente las
vistas en los sistemas de lotes con multiprogramación. • Cada usuario tiene la impresión de disponer de la máquina
completa. • Se intenta optimizar el tiempo de respuesta. • Basados en la asignación de fracciones de tiempo (se divide
el tiempo de CPU de forma equitativa entre los procesos).
2.5. Sistemas en Tiempo Real
• El factor tiempo se convierte en una variable fundamental.
• Muy utilizados en sistemas empotrados.
• El sistema operativo debe responder siempre dentro de los márgenes requeridos por el sistema controlado, si nos salimos de esos márgenes, tendremos que buscar otras soluciones.
• Existen actualmente lenguajes de programación especializados para programación en tiempo real.
3. Administración del Entorno de Hardware
3.1. Estructura de un computador
3.2. Interrupciones y excepciones
3.3. Modo dual de operación
3.4. Protección de memoria
3.5. Protección de la CPU
CPU Controlador
de disco
Controlador
de impresora
Controlador
de terminal
Controlador de memoria
Memoria
Bus del sistema
3.1. Estructura de un Computador (1/1)
3.1. Estructura de un computador (2/3)
• El sistema dispone de un bus común.
• La CPU y los controladores de dispositivos se comunican a través del bus común.
• El controlador de memoria sincroniza los accesos a memoria.
• Los dispositivos de E/S y la CPU operan concurrentemente.
• Los controladores de dispositivos gestionan el tipo particular de dispositivo.
3.1. Estructura de un Computador (3/3)
• Los controladores de dispositivos tienen un búfer local, colas de peticiones y registros de control/estado.
• La CPU transfiere los datos de/a memoria principal a/de los búferes locales.
• Las E/S se realizan desde el dispositivo al búfer local del controlador.
• Los controladores de dispositivo informan a la CPU que han finalizado mediante una interrupción.
3.2. Interrupciones y excepciones (1/5)
• Interrupción: es un suceso que cambia el flujo normal de ejecución.
• Excepción: es un suceso inesperado interno al procesador (desbordamiento aritmético, dirección inválida, instrucción privilegiada, etc.).
Rutina de atención
a la interrupción n
3.2. Interrupciones y excepciones (2/5)
Manejo de las interrupciones:
Ctrldor. Dispositivo CPU
Código de usuario
Gestor general
de interrupciones
Memoria Principal
SSOO
SSOO
Salto
Dispositivos de E/S,
reloj, etc.
3.2. Interrupciones y excepciones (3/5)
• Gestor de interrupciones:
– Salva el contexto del proceso en ejecución
• Contenido de los registros del la CPU
– Determina el tipo de interrupción y ejecuta la rutina de atención a la interrupción.
– En planificación de CPU selecciona el proceso que se ejecutará próximamente.
– Restaura el contexto salvado del proceso en ejecución (o del seleccionado para ejecutarse)
• Gestor de excepciones:
– Al detectarse la excepción, se transfiere el control al manejador de excepciones (igual que en las interrupciones).
– Las excepciones se tratan en espacio de usuario.
– El SSOO simplemente las notifica.
3.2. Interrupciones y excepciones (4/5)
3.2. Interrupciones y excepciones (5/5)
• Protección Hardware: – Objetivo: Evitar la interferencia entre procesos de
usuario, y entre los procesos y el SSOO.
– Método: Definir como instrucciones “privilegiadas” aquellas que pueden potencialmente dañar a otros procesos o usuarios (operaciones de E/S, actualización de reloj, deshabilitar interrupciones, etc.)
– Consecuencia: Diferentes modos de funcionamiento del Hardware.
3.3. Modo dual de ejecución (1/4)
• La CPU debe disponer de dos modos de funcionamiento: – Modo usuario
• Sólo se ejecutan las instrucciones no privilegiadas.
– Modo Kernel o supervisor • Se puede ejecutar cualquier instrucción.
• El SSOO se ejecuta en modo kernel o supervisor.
• El cambio de modo se realiza mediante una instrucción privilegiada.
• El HW cambia a modo kernel cuando se produce una interrupción o excepción.
3.3. Modo dual de ejecución (2/4)
• Llamadas al sistema:
– Procedimientos o funciones que ofrece el sistema a un proceso de usuario para acceder a determinados servicios propios del SSOO, es decir, servicios que se deben ejecutar en modo kernel o supervisor.
– Las llamadas al sistema se implementan como excepciones.
Modo usuario
Modo kernel
.........
.........
call (...);
.........
.........
excepción
Manejador de
excepciones
Rutina de
atención del
sistema
(1)
(2)
(3)
(4)
(5)
(6)
.........
main () {
.........
.........
write (fd, ...);
.........
.........
}
.........
3.3. Modo dual de ejecución (3/4)
• Esquema de llamada al sistema:
• Paso de parámetros en llamada al sistema: – Registros (MS-DOS)
– Almacenar en una tabla de memoria y pasar la dirección de la tabla como parámetro en un registro.
– El programa mete los parámetros en pila y el SSOO los recupera.
• Objetivo: Proteger la memoria para evitar que un proceso de usuario acceda (lectura/escritura) en la memoria asignada a otro proceso.
• Los SSOO multiusuario y/o multitarea asignan a cada proceso en ejecución una zona de memoria.
3.3. Modo dual de ejecución (4/4)
• Objetivo: Proteger la memoria para evitar que un proceso de usuario acceda (lectura/escritura) en la memoria asignada a otro proceso.
• Los SSOO multiusuario y/o multitarea asignan a cada proceso en ejecución una zona de memoria.
3.4. Protección de memoria (1/3)
• Solución: Utilización de registros base y límite
3.4. Protección de memoria (2/3)
Memoria
Dir_1
Dir_2
Dir_3
Dir_4
PROCESO 1
PROCESO 2
Área de núcleo
Información de procesos
PID RB RL
pid_1 Dir_1 Dir_2 pid_2 Dir_3 Dir_4
• Forma de uso:
3.4. Protección de memoria (3/3)
REGISTRO
BASE
>=
REGISTRO
BASE
REGISTRO
LIMITE +
<
NO NO
CPU
M
E
M
O
R
I
A
Excepción de error
de direccionamiento
Bus de
direcciones
• Los SSOO multiprogramados deben evitar que los procesos se “apoderen” de la CPU.
• Método: Uso de un reloj programable o temporizador – El reloj puede tener un contador que se
decrementa/incrementa en cada ciclo generando una interrupción cuando llega a cero/overflow
• El SSOO asocia una fracción de tiempo a aquel proceso al cual se le asigna la CPU
• En cada interrupción de reloj la rutina de atención comprueba si el plazo a concluido.
3.5. Protección de CPU
4. Principales componentes
• Componentes – Subsistema de gestión de procesos.
• Creación, eliminación, suspensión y reanudación de procesos. • Mecanimos para sincronización y comunicación de procesos. • Mecanismos para manejo de interbloqueos.
– Subsistema de gestión de memoria. • Registrar qué partes de la memoria están en uso y por quién. • Asignar y liberar espacio de memoria cuando sea necesario.
– Subsistema de gestión de archivos. • Creación y borrado de archivos. • Primitivas para manipulación de archivos. • Mapeado de ficheros en memoria secundaria.