Está en la página 1de 40

Introduccin a los Sistemas

Operativos

Mariano Gmez Plaza

ndice

Definicin
Evolucin de los Sistemas Operativos
Entorno HW
Estructura del Sistema Operativo
Ncleos de Sistema Operativos

2011-2012 Mariano Gmez Plaza

Introduccin a los Sistemas Operativos 2

Definicin

Programa que acta como interfaz entre el usuario de un


ordenador y el hardware del mismo, ofreciendo el entorno
necesario para que el usuario pueda ejecutar programas.
Visin de Mquina virtual
Presenta al usuario una mquina abstracta ms fcil de
programar que el hardware subyacente, ocultando su
complejidad, y dando un tratamiento homogneo a
diferentes objetos de bajo nivel (archivos, proceso,
dispositivos)
Visin de Gestor de recursos
Controla y protege los recursos (procesador, dispositivos
de E/S, memoria, etc.) entre los procesos y usuarios que
compiten por ellos.
2011-2012 Mariano Gmez Plaza

Introduccin a los Sistemas Operativos 3

Evolucin de los SSOO (1/6)

Monitor simple residente


Un solo fragmento de cdigo que se enlazaba
con los programas, cargndose todo en memoria
y ejecutndose junto con el programa (biblioteca
en tiempo de ejecucin)
Sistemas por lotes (batch)
Se podran considerar como los primeros SSOOs
reales
El SSOO estaba almacenado en memoria
Cargaba un nico trabajo en memoria (desde el
lector de tarjetas)
2011-2012 Mariano Gmez Plaza

Introduccin a los Sistemas Operativos 4

Evolucin de los SSOO (2/6)

Ejecutaba el trabajo (generaba su salida)


Cargaba el siguiente trabajo
Las tarjetas de control indicaban qu hacer al
SSOO
Problemas

- Largas esperas entre lotes de trabajo


- La dificultad de manejar la concurrencia entre E/S y
ejecucin en CPU ayud a estimular el desarrollo
de los SSOO multiprogramados
- Carecen de interactividad entre el usuario y los
trabajos que se ejecutan.

2011-2012 Mariano Gmez Plaza

Introduccin a los Sistemas Operativos 5

Evolucin de los SSOO (3/6)

Multiprogramacin
Objetivo: Aprovechar los tiempos de espera de
un trabajo en la CPU para ejecutar instrucciones
de otro trabajo
Mtodo:
- Mantener los trabajos simultneamente en memoria
- Elegir el trabajo a conmutar
- Necesidad de usar interrupciones o DMA

Se optimiza la productividad (throughput) del


sistema

2011-2012 Mariano Gmez Plaza

Introduccin a los Sistemas Operativos 6

Evolucin de los SSOO (4/6)

Elementos necesarios:

- Las rutinas de E/S deben estar suministradas por el SSOO


- Debe existir una gestin de memoria para poder asignar y
controlar la memoria repartida entre varios trabajos
- Debe existir una planificacin de la CPU. El SSOO debe elegir
uno de entre los diferentes trabajos listos para ejecutarse que
hay en memoria
- La asignacin de los dispositivos es realizada por el SSOO

2011-2012 Mariano Gmez Plaza

Introduccin a los Sistemas Operativos 7

Evolucin de los SSOO (5/6)

Tiempo Compartido
Objetivo: Permitir la interaccin entre el usuario y
el trabajo que se est ejecutando.
Mtodo:
- Utilizar las tcnicas de multiprogramacin y planificacin de la
CPU para proporcionar a cada usuario una pequea
proporcin del tiempo de CPU.

Caractersticas:

- Cada usuario tiene la impresin de disponer de la mquina


completa.
- Se intenta optimizar el tiempo de respuesta.
- Basados en la asignacin de fracciones de tiempo (se divide el
tiempo de CPU de forma equitativa entre los procesos).
2011-2012 Mariano Gmez Plaza

Introduccin a los Sistemas Operativos 8

Evolucin de los SSOO (6/6)

Sistemas de 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 mrgenes requeridos por el
sistema controlado, si nos salimos de esos
mrgenes, tendremos que buscar otras
soluciones.
Existen actualmente lenguajes de programacin
(Ada) que nos dan grandes posibilidades para
controlar procesos en tiempo real.
2011-2012 Mariano Gmez Plaza

Introduccin a los Sistemas Operativos 9

Entorno Hardware

Sistema computador
Interrupciones y excepciones
Modo dual de operacin
Proteccin de memoria
Proteccin de la CPU

2011-2012 Mariano Gmez Plaza

Introduccin a los Sistemas Operativos 10

Sistema computador (1/3)

CPU

Controlador
de disco

Controlador
de impresora

Controlador
de terminal

Bus del sistema

Controlador de memoria

Memoria

2011-2012 Mariano Gmez Plaza

Introduccin a los Sistemas Operativos 11

Sistema computador (2/3)

El sistema dispone de un bus comn.


La CPU y los controladores de dispositivos se
comunican a travs del bus comn.
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.

2011-2012 Mariano Gmez Plaza

Introduccin a los Sistemas Operativos 12

Sistema computador (3/3)

Los controladores de dispositivos tienen un bfer


local, colas de peticiones y registros de
control/estado.
La CPU transfiere los datos de/a memoria principal
a/de los bferes locales.
Las E/S se realizan desde el dispositivo al bfer
local del controlador.
Los controladores de dispositivo informan a la CPU
que han finalizado mediante una interrupcin.

2011-2012 Mariano Gmez Plaza

Introduccin a los Sistemas Operativos 13

Interrupciones y excepciones (1/5)

Definiciones:
Interrupcin: es un suceso que cambia el flujo
normal de ejecucin.
Excepcin: es un suceso inesperado interno al
procesador (desbordamiento aritmtico,
direccin invlida, instruccin privilegiada, etc.).

2011-2012 Mariano Gmez Plaza

Introduccin a los Sistemas Operativos 14

Interrupciones y excepciones (2/5)

Manejo de las interrupciones:

Ctrldor. Dispositivo

CPU

Dispositivos de E/S,
reloj, etc.

Salto

Gestor general
de interrupciones

Memoria Principal

Rutina de atencin
a la interrupcin n

SSOO

SSOO

Cdigo de usuario

2011-2012 Mariano Gmez Plaza

Introduccin a los Sistemas Operativos 15

Interrupciones y excepciones (3/5)

Gestor de interrupciones:
Salva el contexto del proceso en ejecucin
Contenido de los registros del la CPU

Determina el tipo de interrupcin y ejecuta la


rutina de atencin a la interrupcin.
En planificacin de CPU selecciona el proceso
que se ejecutar prximamente.
Restaura el contexto salvado del proceso en
ejecucin (o del seleccionado para ejecutarse)

2011-2012 Mariano Gmez Plaza

Introduccin a los Sistemas Operativos 16

Interrupciones y excepciones (4/5)

Gestor de excepciones:
Al detectarse la excepcin, 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.

2011-2012 Mariano Gmez Plaza

Introduccin a los Sistemas Operativos 17

Interrupciones y excepciones (5/5)

Proteccin Hardware:
Objetivo: Evitar la interferencia entre procesos de
usuario, y entre los procesos y el SSOO.
Mtodo: Definir como instrucciones
privilegiadas aquellas que pueden
potencialmente daar a otros procesos o
usuarios (operaciones de E/S, actualizacin de
reloj, deshabilitar interrupciones, etc.)
Consecuencia: Diferentes modos de
funcionamiento del Hardware.

2011-2012 Mariano Gmez Plaza

Introduccin a los Sistemas Operativos 18

Modo dual de ejecucin (1/4)

La CPU debe disponer de dos modos de


funcionamiento:
Modo usuario
Slo se ejecutan las instrucciones no privilegiadas.

Modo Kernel o supervisor

- Se puede ejecutar cualquier instruccin.


- El SSOO se ejecuta en modo kernel o supervisor.
- El cambio de modo se realiza mediante una
instruccin privilegiada.
- El HW cambia a modo kernel cuando se produce
una interrupcin o excepcin.

2011-2012 Mariano Gmez Plaza

Introduccin a los Sistemas Operativos 19

Modo dual de ejecucin (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.

2011-2012 Mariano Gmez Plaza

Introduccin a los Sistemas Operativos 20

Modo dual de ejecucin (3/4)

Esquema de llamada al sistema:


.........
main () {
.........
.........
write (fd, ...);
.........
.........
}
.........

(1)

(6)

.........
.........
call (...);
.........
.........

(5)

(2)
excepcin

Manejador de
excepciones

(4)

Modo usuario

(3)

Rutina de
atencin del
sistema

Modo kernel
2011-2012 Mariano Gmez Plaza

Introduccin a los Sistemas Operativos 21

Modo dual de ejecucin (4/4)

Paso de parmetros en llamada al sistema:


Registros (MS-DOS)
Almacenar en una tabla de memoria y pasar la
direccin de la tabla como parmetro en un registro.
El programa mete los parmetros 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 ejecucin una zona de memoria.
2011-2012 Mariano Gmez Plaza

Introduccin a los Sistemas Operativos 22

Proteccin de memoria (1/3)

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 ejecucin una zona de memoria.

2011-2012 Mariano Gmez Plaza

Introduccin a los Sistemas Operativos 23

Proteccin de memoria (2/3)

Solucin: Utilizacin de registros base y lmite


Memoria
rea de ncleo

Informacin de
procesos
PID
pid_1
pid_2

RB
Dir_1
Dir_3

RL
Dir_2
Dir_4

Dir_1
Dir_2

PROCESO 1

Dir_3

Dir_4

PROCESO 2

2011-2012 Mariano Gmez Plaza

Introduccin a los Sistemas Operativos 24

Proteccin de memoria (3/3)

Forma de uso:
REGISTRO
BASE

CPU

>=

REGISTRO REGISTRO
+
LIMITE
BASE

<

NO

Bus de
direcciones

NO

M
E
M
O
R
I
A

Excepcin de error
de direccionamiento

2011-2012 Mariano Gmez Plaza

Introduccin a los Sistemas Operativos 25

Proteccin de CPU

Los SSOO multiprogramados deben evitar que los


procesos se apoderen de la CPU.
Mtodo: Uso de un reloj programable o temporizador
El reloj puede tener un contador que se
decrementa/incrementa en cada ciclo generando
una interrupcin cuando llega a cero/overflow
El SSOO asocia una fraccin de tiempo a aquel
proceso al cual se le asigna la CPU
En cada interrupcin de reloj la rutina de atencin
comprueba si el plazo a concluido.

2011-2012 Mariano Gmez Plaza

Introduccin a los Sistemas Operativos 26

Estructura del Sistema Operativo

Entidad de ejecucin (proceso)


Componentes
Propiedades
Tipos de estructuras o arquitecturas
Monoltica
Capas
Mquina virtual
Kernel

2011-2012 Mariano Gmez Plaza

Introduccin a los Sistemas Operativos 27

Entidad de ejecucin (proceso)

Proceso Programa en ejecucin


Proceso Programa cargado en memoria y con
recursos asignados
Responsabilidades del SSOO:
crear/destruir procesos
suspender/reanudar procesos
suministrar mecanismos para sincronizar y
comunicar procesos

2011-2012 Mariano Gmez Plaza

Introduccin a los Sistemas Operativos 28

Componentes (1/5)

Gestor de memoria principal


Asignar/Desasignar memoria a los programas
Conocer en todo momento la memoria utilizada y
quien la usa
Decidir el tamao de memoria que se asigna a
cada proceso y cuando debe ser retirado de la
misma

2011-2012 Mariano Gmez Plaza

Introduccin a los Sistemas Operativos 29

Componentes (2/5)

Gestor de archivos
Archivo Coleccin de datos (informacin)
referenciada bajo un nombre.
Operaciones sobre archivos:

Crear/borrar archivos o (directorios)


Llamadas al sistema para su manipulacin: leer,
escribir, renombrar, etc.
Servicios de backup, cuotas, etc.

2011-2012 Mariano Gmez Plaza

Introduccin a los Sistemas Operativos 30

Componentes (3/5)

Gestor de E/S
Los SSOOs modernos proporcionan una I/F
estndar entre los programas y los dispositivos,
es decir, utilizan las mismas funciones
independientemente del dispositivo.
El mdulo del SSOO responsable de gestionar el
tipo de dispositivo y encapsular el conocimiento
especfico del dispositivo es el manejador de
dispositivo.

2011-2012 Mariano Gmez Plaza

Introduccin a los Sistemas Operativos 31

Componentes (4/5)

Sistema de Proteccin
Objetivo: Controlar los accesos de programas,
procesos o usuarios, al sistema o a los recursos
de usuario.
Mtodo:
- Distinguir entre uso autorizado o no
- Especificar el control que se debe imponer
- Suministrar los medios para su aplicacin

El sistema de proteccin no est localizado en un


nico mdulo, sino que que es un mecanismo
general a todo el SSOO.

2011-2012 Mariano Gmez Plaza

Introduccin a los Sistemas Operativos 32

Componentes (5/5)

Intrprete de rdenes
Proceso que maneja la interpretacin de rdenes
del usuario desde un terminal, para utilizar los
servicios que proporciona el SSOO.
Este proceso hace de interfaz con el usuario u
operador del sistema. (csh, bash, ksh, etc.)

2011-2012 Mariano Gmez Plaza

Introduccin a los Sistemas Operativos 33

Propiedades

Eficacia
Consumo: >40% de los ciclos de CPU
Fiabilidad
Robustez: El SSOO debe responder de forma
predecible a casos de error, incluidos fallos HW
Proteccin: El SSOO debe protegerse a s mismo
y a los usuarios de acciones accidentales o
malintencionadas.
Extensibilidad
Variar o crecer la funcionalidad del SSOO de
forma sencilla.
2011-2012 Mariano Gmez Plaza

Introduccin a los Sistemas Operativos 34

Tipos de estructuras o arquitecturas(1/6)

Monoltica
Toda la funcionalidad del SSOO se incluye en el
ncleo
Todos los componentes del SSOO se ejecutan
en modo supervisor
Empleado en sistemas pequeos
Difcil de modificar en tiempo de ejecucin
Difcil de mantener

2011-2012 Mariano Gmez Plaza

Introduccin a los Sistemas Operativos 35

Tipos de estructuras o arquitecturas(2/6)

Partes diferenciadas:
Ncleo dependiente del HW
- Manejar las interrupciones del HW
- Manejo de bajo nivel de memoria y discos
- Trabajar con los manejadores de dispositivos de
bajo nivel

Ncleo independiente del HW

- Ofrece las llamadas al sistema (system calls)


- Manejar los sistemas de archivos
- Gestionar la planificacin de procesos

2011-2012 Mariano Gmez Plaza

Introduccin a los Sistemas Operativos 36

Tipos de estructuras o arquitecturas(3/6)


Procesos

Proceso
de
usuario

Proceso
de
usuario

Proceso
de
usuario

SVC
Despertar
Intrprete
de la SVC

Desbloquea
r

Peticin
de E/S

Proceso de
la
interrupcin

Monitor

Dispositivos

Comienzo de la E/S

2011-2012 Mariano Gmez Plaza

Interrupcin

Introduccin a los Sistemas Operativos 37

Tipos de estructuras o arquitecturas(4/6)

Kernel
Manejo de procesos e hilos
Manejo bajo de memoria
Soporte a las comunicaciones
Manejo de interrupciones y operaciones de bajo
nivel de E/S
Se usan procesos servidores que se encargan
de ofrecer el resto de servicios (por ejemplo el de
sistema de archivos)
Menor rendimiento que la arquitectura monoltica
debido a la sobrecarga de comunicaciones
2011-2012 Mariano Gmez Plaza

Introduccin a los Sistemas Operativos 38

Tipos de estructuras o arquitecturas(5/6)

Empleado en sistemas grandes


Fcil de modificar en tiempo de ejecucin
Ms adpatable que la arquitectura monoltica
Slo el microncleo se ejecuta en modo
supervisor

2011-2012 Mariano Gmez Plaza

Introduccin a los Sistemas Operativos 39

Tipos de estructuras o arquitecturas(6/6)


Proceso
Proceso
Proceso
Proceso de de
usuario
dede
usuario
usuario
usuario

Devolver los datos


Inicio de la E/S

Proceso
gestionador
de
dispositivo

Lectura de disco

Dispositivo

Interrupcin
Despertar

Microncleo

Determinacin del
proceso que solicit
la E/S

2011-2012 Mariano Gmez Plaza

Proceso de
la
interrupcin

Introduccin a los Sistemas Operativos 40