Diseño de Sistemas Operativos Temario Tema 1. Introducción

Anuncio
Diseño de Sistemas Operativos
Temario
1.
2.
3.
4.
5.
6.
7.
8.
9.
4º Curso
Fernando Pérez
[email protected]
José María Peña
[email protected]
Francisco Rosales
[email protected]
DATSI
Universidad Politécnica de Madrid
Introducción
Procesos
Interbloqueos
Gestión de Memoria
Administración de Sistemas
Entrada/Salida
Sistemas de Ficheros
Protección y Seguridad
Introducción a los SSOO Distribuidos
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Tema 1.
Introducción
1
Módulo 1.
Conceptos y Evolución
¿Qué es un sistema operativo?
Evolución de los Sistemas Operativos
Cuatro módulos:
1.
2.
3.
4.
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
Conceptos y evolución
Estructuras de un sistema de computación
Estructuras del sistema operativo
Aspectos de diseño e implementación
Objetivos:
Que el alumno entienda el porqué de los SSOO
Comprender el porqué de cada parte del SO
Mostrar las distintas estructuras de SSOO
„
„
„
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
2
„
„
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
personas, máquinas u otros computadores
Aplicaciones
„
consumen los recursos para resolver los
problemas de computación de los usuarios
Sistema Operativo
Facilitar el uso al usuario (interfaz)
Facilitar la programación al programador
(máquina virtual extendida)
Ejecutar programas eficientemente
(gestor de recursos)
Fernando Pérez
Jose Mª Peña
Francisco Rosales
3
Usuarios
Un programa que actúa como intermediario
entre el usuario de un computador y el
hardware del mismo
Objetivos del sistema operativo:
„
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
Componentes de un sistema
de computación
¿Qué es un sistema operativo?
„
Fernando Pérez
Jose Mª Peña
Francisco Rosales
„
controla y coordina el uso del hardware entre las
distintas aplicaciones de los distintos usuarios
Hardware
„
4
proporciona los recursos básicos de computación
(UCP, memoria, dispositivos de E/S)
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
5
Visión abstracta del sistema
usuario
usuario
11
usuario
usuario
22
usuario
usuario
33
compilador
compilador
ensamblador
ensamblador
editor
editorde
detexto
texto
...
Definiciones de sistema operativo
Gestor de recursos:
usuario
usuario
nn
„
gestión y asignación de recursos del computador
Programa de control:
...
...
base
basede
dedatos
datos
Aplicaciones
Aplicacionesdel
delsistema
sistema
„
Núcleo:
„
Sistema
SistemaOperativo
Operativo
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
„
6
Evolución:
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
„
„
„
„
8
„
7
Grandes máquinas manejadas por consola
Sistemas monousuario monoprogramados
3en1: programador, operador, usuario
Cinta de papel o tarjetas perforadas
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
9
Rendimiento
Ensambladores, compiladores, enlazadores
y cargadores
Bibliotecas de subrutinas comunes
Manejadores de dispositivo
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
Máquina desnuda (1950) III
Software
„
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Estructura
Máquina desnuda (1950) II
„
extiende y enmascara la funcionalidad del
hardware
Máquina desnuda (1950) I
Maquina desnuda
Sistemas sencillos por lotes
Sistemas por lotes multiprogramados
Sistemas de tiempo compartido
Sistemas de computación personal
Sistemas paralelos
Sistemas distribuidos
Sistemas de tiempo real
Fernando Pérez
Jose Mª Peña
Francisco Rosales
el único programa que ejecuta siempre
(por debajo y anterior a cualquier otro programa)
Máquina virtual:
Hardware
Hardwaredel
del
computador
computador
Fernando Pérez
Jose Mª Peña
Francisco Rosales
controla la ejecución de los programas de usuario
y las operaciones de los dispositivos de E/S
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
10
„
„
„
„
Uso ineficiente de recursos caros
Uso UCP muy pobre
Largo tiempo de activación
Ventaja: seguridad
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
11
Sistema sencillo por lotes
Monitor residente
Lectora de tarjetas como dispositivo de
entrada
Reduce el tiempo de activación
agrupando trabajos similares
Monitor residente
Secuenciador automático de trabajos
„
„
„
Control inicial en el monitor
Se transfiere control a una tarea
Cuando la tarea termina, el control vuelve al
monitor
Intérprete de tarjetas de control
„
Cargador y manejadores de dispositivos
Usuario != operador
„
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
12
Sistema sencillo por lotes
„
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
lectora
lectorade
de
tarjetas
tarjetas
Sistema monoprogramado
E/S y UCP no solapan
procesador
procesador
satélite
satélite
impresora
impresora
Solución:
„
„
13
Spooling
Problemas:
„
Nace el centro de cálculo
cintas
cintasdel
delsistema
sistema
E/S lenta (tarjeta, impresora) offline
E/S rápida (carga) a cinta o disco
computador
computador
principal
principal
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
14
Spooling
Fernando Pérez
Jose Mª Peña
Francisco Rosales
15
Spooling
Usar UCP durante E/S
„
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
Disco
Disco
mientras se ejecuta un trabajo, se lee el
siguiente y se imprime la salida del anterior
Cola de tareas
„
estructura de datos que permite que el SO
seleccione qué trabajo ejecutar el siguiente
para optimizar uso de UCP
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
16
Lectora
Lectorade
de
tarjetas
tarjetas
Fernando Pérez
Jose Mª Peña
Francisco Rosales
UCP
UCP
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
Impresora
Impresora
de
delíneas
líneas
17
Sistema por lotes
multiprogramado
Multiplexación de la CPU
Varios trabajos en memoria principal al
mismo tiempo
Se multiplexa la UCP entre ellos
SO
SO
u1
u1
u2
u2
u3
u3
u4
u4
UCP
u2
u1
E/S
SO
L leer
ses
planificador
L+1
Rodaja
planificador
R
R+1
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
18
Características de un
SO multiprogramado
„
„
„
Asignación de dispositivos
¡Todos SSOO actuales son multiprogramados!
20
Sistemas de computación
personal PCs
teclado, ratón, pantallas gráficas,...
„
„
„
Hasta ahora sistemas aislados,
poca atención a la seguridad
UCP muy potente (1Ghz)
Mucha memoria (512MB)
Conexión a red
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
permite a los usuarios el acceso a datos y código
Multiusuario
varios usuarios simultáneos
cada usuario cree tener todo el computador
„
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
21
Multiprocesadores:
„
Varias CPU fuertemente acopladas
„
Memoria compartida
„
Sistema operativo único
Š reloj común
Š comunicación y sincronización vía memoria
Muy interactivos
„
sustituye a tarjetas de control
Sistemas paralelos I
Dedicados a un único usuario (monousuario)
Multiprogramados (generalmente)
Variedad de dispositivos de E/S
„
comunicación on-line entre usuario y sistema
Sistema de ficheros on-line
„
„
UCP multiplexada. Varios trabajos en memoria
Intérprete de mandatos
elegir entre varios trabajos listos para ejecutar
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
19
Interactivo
asignar la memoria a varios trabajos
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
Multiprogramado
Planificación de la UCP:
„
planificador
Sistemas de tiempo compartido
Las rutinas de E/S pertenecen al sistema
Gestión de memoria:
„
Fernando Pérez
Jose Mª Peña
Francisco Rosales
interrupción
Ventajas:
„
„
„
22
Incremento de rendimiento
Económicos
Incremento de fiabilidad:
degradación parcial, tolerancia a fallos
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
23
Sistemas paralelos II
UCP
UCP
11
UCP
UCP
22
Tipos de sistemas paralelos
UCP
UCP
33
UCP
UCP
nn
Según el número de CPUs:
„
Supercomputadores
Š De 64 en adelante (miles)
„
red
redfuertemente
fuertementeacoplada
acoplada(bus,
(bus,switch
switch,,...)
...)
Š De 2 a 64
„
memoria
memoria
Fernando Pérez
Jose Mª Peña
Francisco Rosales
memoria
memoria
Š De 2 a 8
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
24
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
Fernando Pérez
Jose Mª Peña
Francisco Rosales
26
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
27
Sistemas distribuidos I
Múltiple procesadores débilmente acoplados:
Planificador más complejo
Gestión de memoria más compleja
Gestión de caches de memoria muy
importante para rendimiento
„
„
„
Físicamente separados, NO comparten memoria
Comunicación mediante mensajes
Los SO se comportan como uno único
Ventajas:
„
„
Todos son recursos compartidos
„
Programación concurrente en el SO
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
25
Cada procesador ejecuta una copia
idéntica del SO
Muchos procesos simultáneos sin
pérdida de rendimiento
Cada procesador ejecuta el primer
trabajo listo para ejecutar, no hay
jerarquía
Características SO paralelo
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
Multiproceso simétrico SMP
Cada procesador tiene asignada una
tarea específica (E/S, SO, procesos...)
Un procesador maestro planifica el
trabajo de los esclavos
Muy frecuente en supercomputadores
Manera trivial de portar un SO
convencional a un multiprocesador
„
Computadores personales paralelos
memoria
memoria
Multiproceso asimétrico
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Multiprocesadores
„
28
Compartición de recursos
Reparto dinámico de carga
Fiabilidad: replicación y tolerancia a fallos
El mismo modelo de comunicación vale para una
red local o extendida, o para máquina aislada
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
29
Tipos de sistemas distribuidos
Sistemas distribuidos II
memoria
memoria
memoria
memoria
memoria
memoria
UCP
UCP
11
UCP
UCP
22
UCP
UCP
33
Red de computadores conectados con
una RAL
Clusters conectados por una RAV
Red de procesadores con memoria
propia
memoria
memoria
...
UCP
UCP
nn
red
reddébilmente
débilmenteacoplada
acoplada(RAL,
(RAL,RAV,
RAV,RAE,
RAE,...)
...)
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
30
Características sistemas
distribuidos
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
31
Sistemas de tiempo real
Cada nodo tiene su SO independiente
El usuario NO debería saber donde está
trabajando ni donde están sus ficheros
Los SO colaboran para crear este efecto
Restricciones de tiempo bien definidas
„
ejecutan tareas en el tiempo y orden prefijados
STR críticos
„
„
„
„
avión, satélite, médicos, etc.
No pueden perder ningún deadline de tarea
Almacenamiento secundario limitado o ausente
Sistemas dedicados, no de propósito general
STR suave
„
„
„
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
32
Módulo 2.
Estructuras de un sistema de computación
Arquitectura del computador
Funcionamiento del computador
Estructura de E/S
Jerarquía de memoria
Protección por hardware
Arquitectura general del sistema
multimedia, comunicaciones, etc.
Pueden perder deadlines de tareas no críticas
Uso limitado en sistemas de control
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
33
Arquitectura del computador
UCP
UCP
disco
disco
disco disco
impresora
impresora
controlador
controlador
de
dedisco
disco
controlador
controlador
de
deimpresora
impresora
cinta
cinta
cinta cinta
controlador
controlador
de
decinta
cinta
bus
busdel
delsistema
sistema
controlador
controlador
de
dememoria
memoria
memoria
memoria
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
34
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
35
Funcionamiento del computador
UCP y dispositivos de E/S en concurrencia
Manejadores de dispositivos de E/S que:
„
„
„
Interrupciones
¡¡El sistema operativo es guiado por
interrupciones!!
Se encargan de cada tipo de dispositivo
Tienen almacenes locales de datos
Ej. operación de Entrada:
„
Tratamiento:
Š
Š
Š
Š
Š
Š
Š Desde cada dispositivo a memoria de su controlador
Š El controlador informa a la UCP que tiene los datos listos
mediante un interrupción
Š Se dispara una rutina de tratamiento de interrupción
(RTI)
Trap: interrupción generada por software
Š La UCP mueve los datos del almacén local a memoria
principal
Fernando Pérez
Jose Mª Peña
Francisco Rosales
„
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
Salvar el estado de la UCP guardando registros, CP, etc.
Inhibir interrupciones, para no perder otras
Determinar qué interrupción ha ocurrido (polling, vector)
Indexar en vector de interrupciones y saltar a RTI
RTI: tratamiento para una interrupción
Restaurar estado previo para seguir ejecución
36
E/S y acceso directo a memoria
error o petición de usuario
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Sin intervención de la UCP
„
memoria
memoria
UCP
UCP
Programación:
datos E/S, buffer memoria, longitud
„
dispositivos
dispositivosde
de
entrada/salida
entrada/salida
instrucciones de E/S
Resultado: interrupción
„
37
E/S y acceso directo a memoria
Dispositivos de E/S que envían/toman
los datos directamente a/de memoria
„
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
Indica estado de terminación (OK, ERROR)
Una interrupción por bloque, no por byte
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
38
Jerarquía de memoria
39
Compartir recursos
cache
cache
„
memoria
memoriaprincipal
principal
El SO asegura que un programa no afectará a otro
Solución:
disco
discoelectrónico
electrónico
„
disco
discomagnético
magnético
Mecanismo de protección hardware (bit) que
permite, al menos, 2 modos de ejecución: usuario
(1) y sistema (0).
Instrucciones privilegiadas sólo posibles en
modo sistema
Cuando hay interrupción, trap o excepción, el
hardware cambia a modo sistema
disco
discoóptico
óptico
cintas
cintasmagnéticas
magnéticas
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
Modo dual de operación
registros
registros
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Fernando Pérez
Jose Mª Peña
Francisco Rosales
40
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
41
Protección por hardware
Modo dual de operación
E/S:
interrupción/fallo
„
siempre instrucciones privilegiadas, modo sistema
Memoria:
monitor
monitor
„
usuario
usuario
„
registros base y límite por programa
accesos fuera originan un fallo de protección
UCP:
„
pasar a modo usuario
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
42
Protección por hardware
256000
„
registro base
„
„
300040
300040
tarea
tarea22
„
registro límite
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
43
Método estándar de acceso a los servicios del SO
El programa genera un trap (interrupción sw)
Se salta a ejecutar la RTI (servicio del SO)
y a la vez se cambia a modo sistema
El SO verifica los parámetros, ejecuta la petición y
devuelve control en la instrucción siguiente
El SO oculta las llamadas al sistema en
bibliotecas que se instalan con el SO
420940
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
Si las instrucciones de E/S son privilegiadas,
¿cómo ejecuta el usuario la E/S?
Llamada al sistema:
monitor
monitor
tarea
tarea11
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Arquitectura general del sistema
0
256000
temporizador que interrumpe periódicamente para
dar control al SO y que decida
44
Módulo 3.
Estructuras del sistema operativo
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
45
Componentes del SO
Básicos:
Componentes del sistema
Llamadas al sistema
Estructura de un sistema operativo
Máquinas virtuales
„
„
„
Gestor de procesos
Gestor de memoria
Gestor de E/S y almacenamiento secundario
Servidores:
„
„
„
Servidor de ficheros
Servidor de protección y seguridad
Servidor de comunicaciones por red
Utilidades:
„
„
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
46
Intérprete de mandatos
Programas de sistema
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
47
Gestor de procesos
Gestor de memoria
Memoria:
Un proceso es un programa en ejecución
Es la unidad que consume recursos:
„
„
„
UCP, memoria, ficheros, etc.
„
El SO gestionar lo siguiente de los procesos:
„
„
„
„
El SO gestiona lo siguiente de la memoria:
Creación y destrucción
Suspensión y reanudación
Mecanismos de comunicación y sincronización
Asignación de los recursos al proceso
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
„
„
„
48
Gestor de entrada/salida
„
„
„
„
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
50
Conjunto de información lógicamente relacionada
Directorio:
Fichero que contiene asociaciones entre nombres
de fichero e identificadores internos del SO
El SO gestiona lo siguiente de los ficheros:
„
„
„
„
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
„
49
Vector enorme de “bloques”
Almacenamiento no volátil
Usado como respaldo de memoria principal
52
Asignación y liberación de espacio
Planificación de accesos a los discos
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
51
Servidor de protección y seguridad I
Protección:
„
Controlar el acceso a los recursos por parte
de los procesos (de los usuarios)
El servidor de protección debe:
„
Creación y borrado de ficheros y directorios
Primitivas para manipularlos
Proyectar los ficheros en memoria
Respaldar los ficheros en dispositivos no volátiles
Fernando Pérez
Jose Mª Peña
Francisco Rosales
„
„
Fichero:
„
„
„
Servidor de ficheros y directorios
„
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
El SO gestiona lo siguiente del
almacenamiento secundario:
Traduce peticiones a formato de manejador
Copia memoria de/hacia el controlador
Controla transferencias por DMA
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Dispositivos rápidos de E/S (discos)
Almacenamiento intermedio en memoria (caché)
Manejadores genéricos, uno por cada clase de
dispositivo
Gestión individualizada por dispositivo existente
El SO gestiona lo siguiente de la E/S:
„
Qué partes están en uso y quién las está usando
Qué procesos se deben cargar, y dónde
Asigna y libera espacio cuando se requiere
Gestión del almacenamiento secundario
El gestor de E/S está formado por:
„
Vector enorme de palabras o bytes (direcciones)
Compartida por UCP y dispositivos E/S
Volátil: pierde su contenido sin alimentación
„
„
Distinguir entre uso autorizado y no
autorizado
Especificar los controles de acceso a llevar
a cabo
Proporcionar métodos de control de acceso
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
53
Servidor de protección y seguridad II
Sistema en red o distribuido:
Seguridad:
„
Proteger al sistema de un uso indebido
(fraudulento)
„
„
El servidor de seguridad debe:
„
„
„
Servidor de comunicaciones
El servidor de comunicaciones debe:
Autenticar a los usuarios
Evitar amenazas al sistema
(gusanos, virus, piratas, fuego, etc.)
Evitar intercepción de comunicaciones
(cifrado, canales seguros, etc.)
„
„
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
54
Intérprete de mandatos
„
Intérprete de mandatos en línea en modo texto,
como el shell de UNIX y LINUX
Interfaz gráfico de usuario,
como el de Windows y X-Windows
„
„
„
La visión del mismo SO cambia según el usuario
(POSIX sobre Windows NT o Win32 sobre LINUX)
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
56
Llamadas al sistema
„
„
„
„
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
„
„
Programa de
usuario 1
Con un trap o interrupción sw
Acceso como función en los lenguajes (C, …)
„
En registros
En memoria, se pasa la dirección en un registro
En la pila y dejar que el SO los extraiga
Tabla
de RTI
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
Se ejecuta
en modo
NO privilegiado
Control vuelve
al programa
de usuario 1
rutina de
servicio
trap
Estándar POSIX en UNIX y LINUX
Win32 en Windows NT
Fernando Pérez
Jose Mª Peña
Francisco Rosales
...
Programa de
usuario n
llamada al
sistema
El SO se define por sus llamadas al sistema:
„
57
Paso de llamadas al sistema
Paso de parámetros:
„
55
Manipulación de ficheros: copia, mover, ...
Información de estado: monitores, ...
Programación: compiladores, depuradores, …
Carga y ejecución: cargador, …
Comunicaciones: telnet, ftp, …
Aplicaciones: servidores BD, navegadores, ...
Interfaz entre aplicaciones y SO
„
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
Proporcionan un entorno adecuado para el
desarrollo y ejecución de programas
Son la visión del SO que tienen muchos
usuarios, y no la de las llamadas al sistema
Categorías:
Puede haber múltiples intérpretes de
mandatos sobre el mismo SO
„
Resolución de nombres, enrutamiento, conexiones
y control de flujo
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Programas de sistema
Programa cuya función es obtener los
mandatos del usuario y lanzar su ejecución
Hay dos tipos básicos:
„
Proporcionar mecanismos para comunicación local
y remota entre procesos
Para distintos tipos de redes
(Ethernet, ATM, telefónica, etc.)
Responsabilidad del SO:
„
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Conjunto de procesadores que no comparten
memoria
Conectados mediante una red de comunicación
Se ejecuta
en modo
PRIVILEGIADO
Procesamiento
de la interrupción
58
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
59
Sistemas monolíticos I
Sistemas monolíticos II
Núcleo:
„
„
„
Programas de usuario
Todo entre las llamadas al sistema y el hardware
No dividido en módulos
Interfaces y niveles de funcionalidad no separados
Intérprete
Programas
de mandatos
de sistema
Llamadas al sistema
POSIX
Ej: Monitor o ejecutivo (MS-DOS)
„
„
Win32
Núcleo
Escritos para funcionalidad específica y gestionar
hardware reducido
Monoproceso
Servidores
Ficheros Memoria Protección Comunicaciones
Manejadores
Teclado Ratón Disco
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
60
Sistemas modulares I
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
Sistemas modulares II
Núcleo:
„
„
„
„
Programas de usuario
Dividido en módulos con funcionalidad e interfaces
claramente definidos
Modular y estructurado
Se pueden sustituir componentes por otros con el
mismo interfaz
(manejadores, sistemas de ficheros, ...)
Un único trap, el proceso existe en dos modos
Intérprete
Programas
de mandatos
de sistema
Llamadas al sistema
POSIX
Servidores
Ficheros Memoria Protección Comunicaciones
Manejadores
Š Muchas funcionalidades
Š Multiproceso y multiusuario
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
Teclado Ratón Disco
62
Sistemas por capas
„
„
„
Dividido en múltiples niveles, capas de una cebolla
El más alto la interfaz de llamadas
Cada nivel usa únicamente servicios del inferior y
da servicio al superior
Comunicación entre capas vía traps
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
63
Núcleo:
„
„
„
„
Una llamada puede necesitar varios niveles de
traps
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
Reducido a las funcionalidades mínimas
imprescindibles
Se sacan fuera del núcleo los demás servicios
Comunicación vía paso de mensajes
Servidores:
Ej: THE, Multics
Problema:
„
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Sistemas con micronúcleo I
Núcleo:
„
Win32
Núcleo
Ej: UNIX, LINUX
Fernando Pérez
Jose Mª Peña
Francisco Rosales
61
„
„
64
Hilos de ejecución independiente
Los más altos ofrecen la interfaz de llamadas
Los más bajos gestionan el hardware
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
65
Sistemas con micronúcleo II
Máquinas virtuales I
Una MV crea una copia idéntica del hardware
Problema:
„
„
Una llamada puede necesitar muchos
mensajes
„
„
Ventaja:
„
El Monitor de MVs ejecuta sobre el HW real
¿Cómo se hace?
Piezas separables, paso a SO Distribuido
Ej: MINIX, Mach (Windows-NT)
„
„
„
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
Procesador con su propia memoria y E/S
Sobre una MV se puede ejecutar cualquier SO
Sobre el mismo computador varios SSOO a la vez
66
Máquinas virtuales II
Planificación UCP para MV Î multiproceso
Spooling y sistema ficheros Î multiplexación E/S
MV del operador Î control del sistema
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
67
Máquinas virtuales III
370 virtual
Ventajas:
„
Protección sencilla, muy modular, bueno para
investigación y desarrollo (SO distribuido)
trap
Inconvenientes:
„
„
Instrucciones
de E/S
Difícil compartir recursos
Difícil implementar duplicados exactos del HW
trap CMS
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
OS/2
Monitor de máquinas virtuales
Usado para emular SSOO sobre otros
Ej. VM-370, MS-DOS en Windows, VMware
Fernando Pérez
Jose Mª Peña
Francisco Rosales
MS-DOS
Llamadas
al sistema
68
Módulo 4.
Aspectos de Diseño e Implem.
Hardware desnudo
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
69
Objetivos de diseño de un SO
Para el usuario:
Objetivos de diseño
Implementación
Arranque del sistema
„
Fácil de usar, fiable, seguro, potente y sencillo
Internamente:
„
„
Fácil de implementar y mantener
Flexible, fiable, eficiente y estar libre de errores
Diferenciar claramente entre:
„
„
„
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
70
Mecanismos: qué cosas se pueden hacer
Políticas: criterio para decidir qué hacer
Separarlos es importante para poder afinar bien
los sistemas
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
71
Implementación del sistema
Arranque del sistema I
1. Cargador ROM
Tradicionalmente: ensamblador
Actualmente: C y ensamblador
Uso lenguaje alto nivel:
„
„
„
2. Master Record Boot (sector de arranque)
Desarrollo más rápido
Más fácil de comprender y depurar
Más fácil de transportar de un hardware a otro
(Ej. UNIX, Linux, Windows-NT)
„
„
3. Ejecutable del SO
„
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
„
72
Arranque del sistema II
„
„
„
1.
2.
3.
4.
5.
6.
7.
8.
9.
Ejecuta scripts del nivel (rc.#)
Se lanzan los servidores
Sigue el guión inittab
Crea un proceso login por terminal
5. Proceso login
„
„
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Autentifica el acceso de usuarios al
sistema
Crea un shell (intérprete de mandatos)
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
73
Temario
4. Proceso init
„
Inicializa el núcleo
Arranca e inicializa los manejadores de los
dispositivos existentes
Crea el primer proceso (PID==1) init
„
HAL (Hardware Abstraction Layer)
Oculta los detalles específicos de la arquitectura
Proporciona una interfaz de alto nivel
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Carga y ejecuta el ejecutable del SO
„
Base:
„
Carga y ejecuta el MRB
„
74
Introducción
Procesos
Interbloqueos
Gestión de Memoria
Administración de Sistemas
Entrada/Salida
Sistemas de Ficheros
Protección y Seguridad
Introducción a los SSOO Distribuidos
Fernando Pérez
Jose Mª Peña
Francisco Rosales
Diseño de Sistemas Operativos
Introducción: Conceptos y Estructura de SSOO
75
Descargar