sistemas operativos s.o. · –detección de errores. ... evoluciÓn de los sistemas operativos ....

31
Introducción a los Sistemas Operativos S.O.

Upload: phungnguyet

Post on 07-Oct-2018

248 views

Category:

Documents


0 download

TRANSCRIPT

Introducción a los Sistemas Operativos

S.O.

Contenido

1. Conceptos

2. Evolución de los Sistemas Operativos

3. Administración del Entorno de Hardware

1. CONCEPTOS

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. EVOLUCIÓN DE LOS SISTEMAS OPERATIVOS

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.