Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Tema 2: Fundamentos
ndice:
1. Conceptos bsicos
2. Modelos de diseo
Tema 2: Fundamentos
ndice:
1. Conceptos bsicos
2. Modelos de diseo
Tema 2: Fundamentos
1. Conceptos bsicos
3. Llamadas al sistema
4. Usuarios
Tema 2: Fundamentos
1. Conceptos bsicos
3. Llamadas al sistema
4. Usuarios
Tema 2: Fundamentos
procesador
Memoria
Adaptador Teclado
Adaptador ratn
Adaptador Pantalla
Tema 2: Fundamentos
BUS
DMA
Tratamiento:
1. CPU termina de ejecutar instruccin actual 2. Se almacena estado de CPU en la pila 3. CPU pasa a modo supervisor 4. Determina direccin SSI (normalmente: tabla de vectores) 5. Salta a SSI 6. Al retornar de SSI: se restaura estado (y modo de ejecucin) 7. Se prosigue ejecucin por siguiente instruccin
Tema 2: Fundamentos
Arranque del sistema Arranque del sistema = secuencia de operaciones que tras el encendido llevan la mquina a un estado usable Pasos:
1. Procesador realiza inicializacin interna que termina transfiriendo control a una direccin determinada 2. En dicha direccin puede haber
Tema 2: Fundamentos
Si sistema operativo en ROM: el sistema operativo (ir a paso 5) Si sistema operativo no en ROM: el cargador hardware
Tema 2: Fundamentos
1. Conceptos bsicos
3. Llamadas al sistema
4. Usuarios
Tema 2: Fundamentos
1.2 Procesos
Emplean mecanismos de proteccin para aislar procesos Cada proceso tiene su propio espacio de memoria Se proporciona mecanismos de comunicacin y sincronizacin Mecanismos de identificacin de procesos (PID)
1. Conceptos bsicos
3. Llamadas al sistema
4. Usuarios
Tema 2: Fundamentos
Llamada al sistema: peticin que hace un proceso al sistema operativo para obtener algn tipo de servicio API (Aplication Programming Interface):
Interfaz que el sistema operativo presenta a los programas Compuesta por el conjunto de todas las llamadas al sistema soportadas APIs estandarizadas: POSIX (Portable Operating System Interface) APIs propietarias: WIN32, WinFX
Tema 2: Fundamentos
Formas de implementacin:
Mediante rutinas Mediante interrupciones
Implementacin mediante rutinas Por cada llamada al sistema, una rutina que la implementa Primera dificultad: en qu direcciones estn? Soluciones: (Para simplificar: un nico punto de entrada)
Punto de entrada en direccin fija
Los programas dependen de esta direccin!
Programas hacen referencia a punto de entrada mediante una variable conocida por montador de enlaces (Ej: CALL SYS)
Si cambia de versin de SO, hay que reenlazar los programas!
Implementacin mediante interrupciones Punto de entrada nico al que se accede mediante una interrupcin
Punto de entrada se coloca en cualquier direccin de memoria Para efectuar llamada al sistema, se usa instruccin INT n En el vector n de interrupcin: direccin punto de entrada
Se pasa a modo supervisor Hardware determina direccin de punto de entrada Cdigo del SO se ejecuta en modo supervisor Al retornar, se restaura modo de ejecucin previo a llamada
Tema 2: Fundamentos
1. Conceptos bsicos
3. Llamadas al sistema
4. Usuarios
Tema 2: Fundamentos
1.4 Usuarios
Usuario = personas autorizadas a usar el sistema Los sistemas multiprogramados mantienen asociacin entre cada proceso y su usuario propietario
Es el usuario quien determina los derechos del proceso a acceder a recursos del sistema
1. Conceptos bsicos
3. Llamadas al sistema
4. Usuarios
Tema 2: Fundamentos
1.5 Archivos
Tema 2: Fundamentos
1. Conceptos bsicos
3. Llamadas al sistema
4. Usuarios
Tema 2: Fundamentos
Intrprete de rdenes = programa interactivo que lee e interpreta comandos del usuario
Nombres alternativos: intrpretes de comandos, shells
1. Conceptos bsicos
3. Llamadas al sistema
4. Usuarios
Tema 2: Fundamentos
Interfaz grfica de usuario (GUI) = intrprete de rdenes en modo grfico Suelen ofrecer API que permite su uso por parte de programas de usuario
Aero (Windows Vista) Beryl
Tema 2: Fundamentos
ndice:
1. Conceptos bsicos
2. Modelos de diseo
Tema 2: Fundamentos
26
2. Modelos de diseo
1. Modelo monoltico
2. Modelo en estratos
3. Modelo microncleo
4. Mquinas virtuales
Tema 2: Fundamentos
2. Modelos de diseo
1. Modelo monoltico
2. Modelo en estratos
3. Modelo microncleo
4. Mquinas virtuales
Tema 2: Fundamentos
Administracin de Memoria
Gestor de Disco
Tema 2: Fundamentos
Ventajas:
Eficiencia en tiempo de ejecucin Eficiencia en ocupacin de memoria
Inconvenientes:
Dificultad de depuracin Complejidad y dificultad mantenimiento
Tema 2: Fundamentos
Servicio 1
Servicio 2
Servicio 3
Servicio N
Tema 2: Fundamentos
Rutina Aux. 1
Rutina Aux. 2
Rutina Aux. 3
SSI Int.2
SSI Int.1
Tema 2: Fundamentos
voidtabla_servicios seleccionar(int ident_servicio) { servicio1() fun_serv tabla_servicios[] = {servicio1, servicio2() servicio2, servicio3}; servicio3() tabla_servicios[ident_servicio](); }
Tema 2: Fundamentos
2. Modelos de diseo
1. Modelo monoltico
2. Modelo en estratos
3. Modelo microncleo
4. Mquinas virtuales
Tema 2: Fundamentos
Idea: colocando una capa de software sobre el hardware conseguimos una mquina ampliada Podemos construir un sistema colocando sucesivas capas una encima de otra
Proceso de usuario Capa 3: Gestin de entrada-salida
Tema 2: Fundamentos
Hardware
Ventajas:
Gracias a la modularidad, sistema ms fcil de depurar y mantener
Inconvenientes:
Al ser las capas cajas negras, se pierde la posibilidad de compartir cdigo y datos entre distintas capas
Multics OS/2
2. Modelos de diseo
1. Modelo monoltico
2. Modelo en estratos
3. Modelo microncleo
4. Mquinas virtuales
Tema 2: Fundamentos
Parte ms compleja de un sistema operativo: el ncleo Idea: hagamos un ncleo tan simple como sea posible
Saquemos fuera de l toda la funcionalidad posible Funcionalidad sacada del ncleo: se implementa mediante procesos externos
Ncleo mnimo:
Tema 2: Fundamentos
Multiprogramacin Comunicacin entre procesos Atencin de interrupciones Administrador Administrador Gestor de Archivos Memoria Disco Microncleo
Proceso de Usuario
Hardware
Ventajas:
Facilidad de depuracin Robustez Flexibilidad Fcil adaptacin a sistemas distribuidos
Inconvenientes:
Tema 2: Fundamentos
2. Modelos de diseo
1. Modelo monoltico
2. Modelo en estratos
3. Modelo microncleo
4. Mquinas virtuales
Tema 2: Fundamentos
Colocando una capa de software sobre el hardware obtenemos una mquina ampliada con interfaz de ms alto nivel Idea:
Por qu una? Por qu de ms alto nivel?
Tema 2: Fundamentos
Sistema Operativo 1
Sistema Operativo 2
Sistema Operativo n
Hardware (1)
Hardware (2)
Hardware (n)
Hardware
Tema 2: Fundamentos
Sistema Operativo 2
Sistema Operativo n
Hardware (1)
OUT DX,AL
Hardware (2)
Hardware (n)
Hardware
Aplicaciones de virtualizacin
Ejecucin simultnea de varios SO en una misma mquina Explotacin de Mainframes: mltiples mquinas adaptadas cada una a las necesidades de usuario (escalabilidad) Depurado de sistemas operativos
Tngase en cuenta
Tema 2: Fundamentos
Tema 2: Fundamentos
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/v irtualpc/default.mspx) BOCHS (http://bochs.sourceforge.net/) QEMU (http://fabrice.bellard.free.fr/qemu/)
Emulador de procesador
Plex86 (http://plex86.sourceforge.net/)
Lightweight Virtual Machine diseada slo para ejecutar Linux
Xen (http://www.cl.cam.ac.uk/research/srg/netos/xen/)
Paravirtualizador
2. Modelos de diseo
1. Modelo monoltico
2. Modelo en estratos
3. Modelo microncleo
4. Mquinas virtuales
Tema 2: Fundamentos
No es un modelo de diseo en s mismo Consecuencia aplicacin al desarrollo de un SO de los mtodos de anlisis y diseo orientado a objetos
ndice:
1. Conceptos bsicos
2. Modelos de diseo
Tema 2: Fundamentos
47
1. Linux
2. Minix
3. Windows 2000
Tema 2: Fundamentos
1. Linux
2. Minix
3. Windows 2000
Tema 2: Fundamentos
3.1 Linux
Procesos de usuario
Ncleo
3.1 Linux
Tiene en cuenta dichas dependencias al cargar/descargar Esto facilita compartir cdigo entre componentes de manera ordenada
3.1 Linux
Tema 2: Fundamentos
1. Linux
2. Minix
3. Windows 2000
Tema 2: Fundamentos
3.2 Minix
init
Tema 2: Fundamentos
Administrador de Administrador de Administrador de archivos memoria red Tarea de Tarea de disco terminales Tarea de ethernet
Operating Systems Design and Implementation, 3 Edicin Microncleo Andrew S. Tanenbaum, Albert S. Woodhull-Amherst Prentice Hall
1. Linux
2. Minix
3. Windows 2000
Tema 2: Fundamentos
Executive Kernel
Inside Windows 2000 Hardware Abstraction Layer (HAL) David A. Solomon, Mark E. Russinovich Microsoft Press
Gestores de Dispositivos