Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tema 2: Fundamentos
1
Índice:
1. Conceptos básicos
2. Modelos de diseño
2
Índice:
1. Conceptos básicos
2. Modelos de diseño
3
1. Conceptos básicos
1. Conceptos básicos sobre arquitectura de ordenadores
2. Procesos
3. Llamadas al sistema
4. Usuarios
5. Archivos
s ot ne ma dnuF: 2 a me T
6. Intérpretes de órdenes
2. Procesos
3. Llamadas al sistema
4. Usuarios
5. Archivos
s ot ne ma dnuF: 2 a me T
6. Intérpretes de órdenes
BUS
DMA
Controlador
discos duros
…
6
1.1 Conceptos básicos sobre A.O.
La CPU. Modos de ejecución
Contiene un conjunto de registros de 8, 16, 32 o 64 bits
Estado de la CPU = valores de sus registros
Dos registros especiales: siguiente instrucción (IP, PC…) y
estado (CCR)
Instrucciones: realización de operaciones aritméticas,
lógicas o de movimiento de datos
Los operandos pueden ser registros o posiciones de
memoria
s ot ne ma dnuF: 2 a me T
→
9
1.1 Conceptos básicos sobre A.O.
Arranque del sistema (cont.)
4.Cargador software (pertenece a SO): carga el sistema
operativo y le transfiere el control una vez cargado
5.Inicialización del sistema operativo:
Se crean estructuras de datos del sistema operativo
Comprobación detallada del sistema: detección de nuevos
dispositivos, comprobación del sistema de archivos, etc.
Se cargan los componentes opcionales que procedan del SO
Se crea uno o más procesos de inicio de sesión
s ot ne ma dnuF: 2 a me T
10
1. Conceptos básicos
1. Conceptos básicos sobre arquitectura de ordenadores
2. Procesos
3. Llamadas al sistema
4. Usuarios
5. Archivos
s ot ne ma dnuF: 2 a me T
6. Intérpretes de órdenes
2. Procesos
3. Llamadas al sistema
4. Usuarios
5. Archivos
s ot ne ma dnuF: 2 a me T
6. Intérpretes de órdenes
Formas de implementación:
Mediante rutinas
Mediante interrupciones
14
1.3 Llamadas al sistema
Implementación mediante rutinas
Por cada llamada al sistema, una rutina que la
implementa
Primera dificultad: ¿en qué direcciones están?
Soluciones: (Para simplificar: un único punto de entrada)
Punto de entrada en dirección fija
• ¡Los programas dependen de esta dirección!
Punto de entrada en dirección apuntada por una variable
s ot ne ma dnuF: 2 a me T
17
1. Conceptos básicos
1. Conceptos básicos sobre arquitectura de ordenadores
2. Procesos
3. Llamadas al sistema
4. Usuarios
5. Archivos
s ot ne ma dnuF: 2 a me T
6. Intérpretes de órdenes
19
1. Conceptos básicos
1. Conceptos básicos sobre arquitectura de ordenadores
2. Procesos
3. Llamadas al sistema
4. Usuarios
5. Archivos
s ot ne ma dnuF: 2 a me T
6. Intérpretes de órdenes
2. Procesos
3. Llamadas al sistema
4. Usuarios
5. Archivos
s ot ne ma dnuF: 2 a me T
6. Intérpretes de órdenes
2. Procesos
3. Llamadas al sistema
4. Usuarios
5. Archivos
s ot ne ma dnuF: 2 a me T
6. Intérpretes de órdenes
2. Modelos de diseño
26
2. Modelos de diseño
1. Modelo monolítico
2. Modelo en estratos
3. Modelo micronúcleo
4. Máquinas virtuales
s ot ne ma dnuF: 2 a me T
27
2. Modelos de diseño
1. Modelo monolítico
2. Modelo en estratos
3. Modelo micronúcleo
4. Máquinas virtuales
s ot ne ma dnuF: 2 a me T
28
2.1 Modelo monolítico
Todo el sistema operativo comparte un único espacio
de memoria
rutina_servicio_interrupcion()
Administración {
de Gestor de Disco …
Memoria }
rutina_auxiliar () planificador ()
{ {
… …
s ot ne ma dnuF: 2 a me T
Administración
} de archivos
} T ab
la
Tab de
la de a pr
rchi oc
v os es
os
29
2.1 Modelo monolítico
Ventajas:
Eficiencia en tiempo de
ejecución
Sistemas compactos
Inconvenientes:
Dificultad de depuración
Complejidad y dificultad
mantenimiento
s ot ne ma dnuF: 2 a me T
30
2.1 Modelo monolítico
Estructura de un sistema monolítico
Despachador
33
2. Modelos de diseño
1. Modelo monolítico
2. Modelo en estratos
3. Modelo micronúcleo
4. Máquinas virtuales
s ot ne ma dnuF: 2 a me T
34
2.2 Modelo en estratos
Idea: colocando una capa de software sobre el
hardware conseguimos una máquina ampliada
Podemos construir un sistema colocando sucesivas
capas una encima de otra
Proceso de usuario
Hardware
35
2.2 Modelo en estratos
Ventajas:
Gracias a la modularidad, sistema más fácil de depurar y
mantener
Inconvenientes:
Al ser las capas cajas negras, se pierde la posibilidad de
compartir código y datos entre distintas capas
OS/2
36
2. Modelos de diseño
1. Modelo monolítico
2. Modelo en estratos
3. Modelo micronúcleo
4. Máquinas virtuales
s ot ne ma dnuF: 2 a me T
37
2.3 Modelo micronúcleo
Parte más compleja de un sistema operativo: el núcleo
Idea: hagamos un núcleo tan simple como sea posible
Saquemos fuera de él toda la funcionalidad posible
Funcionalidad sacada del núcleo: se implementa mediante
procesos externos
Núcleo mínimo:
Multiprogramación
Comunicación entre procesos
s ot ne ma dnuF: 2 a me T
Atención de interrupciones
Micronúcleo
Hardware 38
2.3 Modelo micronúcleo
Ventajas:
Facilidad de depuración
Robustez
Flexibilidad
Fácil adaptación a sistemas distribuidos
Inconvenientes:
Sistemas más lentos
Requieren más memoria
s ot ne ma dnuF: 2 a me T
39
2. Modelos de diseño
1. Modelo monolítico
2. Modelo en estratos
3. Modelo micronúcleo
4. Máquinas virtuales
s ot ne ma dnuF: 2 a me T
40
2.4 Máquinas virtuales
Colocando una capa de software sobre el hardware
obtenemos una máquina ampliada con interfaz de más
alto nivel
Idea:
¿Por qué una?
¿Por qué de más alto nivel?
OUT DX, AL
Operativo 1 Operativo 2 Operativo n
Hardware (1) Hardware (2) … Hardware (n)
OUT DX,AL
Monitor de máquinas virtuales
Hardware 42
2.4 Máquinas virtuales
Aplicaciones de virtualización
Ejecución simultánea de varios SO en una misma máquina
Explotación de Mainframes: múltiples máquinas adaptadas
cada una a las necesidades de usuario (escalabilidad)
Depurado de sistemas operativos
…
Téngase en cuenta…
Estamos dividiendo la potencia de la máquina
s ot ne ma dnuF: 2 a me T
43
2.4 Máquinas virtuales
Algunos virtualizadores
z/VM (http://www.vm.ibm.com)
VMWare (http://www.vmware.com)
Virtual PC / Virtual Server (
http://www.microsoft.com/windows/products/winfamily/virtua
)
BOCHS (http://bochs.sourceforge.net/)
QEMU (http://fabrice.bellard.free.fr/qemu/)
s ot ne ma dnuF: 2 a me T
Emulador de procesador
Plex86 (http://plex86.sourceforge.net/)
Lightweight Virtual Machine diseñada sólo para ejecutar
Linux
Xen (http://www.cl.cam.ac.uk/research/srg/netos/xen/) 44
2. Modelos de diseño
1. Modelo monolítico
2. Modelo en estratos
3. Modelo micronúcleo
4. Máquinas virtuales
s ot ne ma dnuF: 2 a me T
45
2.5 Diseño orientado a objetos
No es un modelo de diseño en sí mismo
46
Índice:
1. Conceptos básicos
2. Modelos de diseño
47
3. Ejemplos de organización interna
1. Linux
2. Minix
3. Windows 2000
s ot ne ma dnuF: 2 a me T
48
3. Ejemplos de organización interna
1. Linux
2. Minix
3. Windows 2000
s ot ne ma dnuF: 2 a me T
49
3.1 Linux
Al igual que demás sistemas Unix, consta de:
Núcleo
Librerías del sistema
Utilidades del sistema
Utilidades del
Procesos de usuario
Sistema
s ot ne ma dnuF: 2 a me T
Núcleo
50
3.1 Linux
Núcleo monolítico
Problema: dificultad de mantenimiento
¡Muchas personas trabajan en núcleo de Linux!
Solución: módulos cargables
Enlace dinámico
Módulos apilables
El núcleo gestiona dependencias entre módulos
Tiene en cuenta dichas dependencia al cargar/descargar
s ot ne ma dnuF: 2 a me T
B C E
51
3.1 Linux
Se suelen cargar como módulos
Gestores de dispositivos
Sistemas de archivos
…
Procesos de usuario pueden cargar/descargar módulos:
insprobe: carga un módulo en el núcleo
rmmod: elimina un módulo del núcleo
modprobe: gestión de módulos
s ot ne ma dnuF: 2 a me T
52
3. Ejemplos de organización interna
1. Linux
2. Minix
3. Windows 2000
s ot ne ma dnuF: 2 a me T
53
3.2 Minix
Organización micronúcleo pura
Organización de Minix 3:
En modo supervisor:
Todo lo demás en modo usuario
proceso 1 proceso 1 …
init
de usuario de usuario
2. Minix
3. Windows 2000
s ot ne ma dnuF: 2 a me T
55
3.3 Windows 2000
Combina modelos micronúcleo y monolítico
Subsistemas Procesos de Aplicaciones Subsistemas
de entorno Servicios de usuario de entorno
Modo núcleo
s ot ne ma dnuF: 2 a me T
Executive
Gestores de
Kernel Interfaz Gráfica de Usuario
Dispositivos
Inside Windows 2000
Hardware Abstraction Layer (HAL)
David A. Solomon, Mark E. Russinovich
Microsoft Press 56
57