![Page 1: Tema 3: Estructura y servicios del sistema operativo · PDF fileLeer el estado del sistema (hora, nº de procesos, etc.) 12 Servicios adicionales Aparte de los servicios básicos,](https://reader031.vdocuments.co/reader031/viewer/2022030400/5a6fa9df7f8b9a93538b4cd8/html5/thumbnails/1.jpg)
1
Sistemas operativosTema 3: Estructura del sistema
operativo
![Page 2: Tema 3: Estructura y servicios del sistema operativo · PDF fileLeer el estado del sistema (hora, nº de procesos, etc.) 12 Servicios adicionales Aparte de los servicios básicos,](https://reader031.vdocuments.co/reader031/viewer/2022030400/5a6fa9df7f8b9a93538b4cd8/html5/thumbnails/2.jpg)
2
Contenidos
� Componentes típicos del SO
� Servicios del SO
� Llamadas al sistema
� Programas del sistema
� El núcleo o kernel
� Modelos de diseño del SO
� Cómo se implementa un SO
![Page 3: Tema 3: Estructura y servicios del sistema operativo · PDF fileLeer el estado del sistema (hora, nº de procesos, etc.) 12 Servicios adicionales Aparte de los servicios básicos,](https://reader031.vdocuments.co/reader031/viewer/2022030400/5a6fa9df7f8b9a93538b4cd8/html5/thumbnails/3.jpg)
3
Componentes típicos de un SO
procesos memoria entrada/salida
redes archivosprotección
Intérprete de órdenes
![Page 4: Tema 3: Estructura y servicios del sistema operativo · PDF fileLeer el estado del sistema (hora, nº de procesos, etc.) 12 Servicios adicionales Aparte de los servicios básicos,](https://reader031.vdocuments.co/reader031/viewer/2022030400/5a6fa9df7f8b9a93538b4cd8/html5/thumbnails/4.jpg)
4
Gestión de procesos
� Un proceso es un programa en ejecución. Para poder ejecutarse, un proceso necesita tiempo de CPU, una porción de memoria, archivos, E/S y demás recursos.
� Responsabilidades del S.O.: � creación y eliminación de procesos
� planificación de procesos: repartir la CPU entre los procesos activos
� sincronización entre procesos
� comunicación entre procesos
procesos
![Page 5: Tema 3: Estructura y servicios del sistema operativo · PDF fileLeer el estado del sistema (hora, nº de procesos, etc.) 12 Servicios adicionales Aparte de los servicios básicos,](https://reader031.vdocuments.co/reader031/viewer/2022030400/5a6fa9df7f8b9a93538b4cd8/html5/thumbnails/5.jpg)
5
Gestión de memoria
� La memoria es un recurso escaso por el que compiten los distintos procesos.
� Responsabilidades del S.O.: � conocer qué zonas de memoria están libres y cuáles están
ocupadas
� decidir qué procesos hay que cargar cuando haya memoria libre
� reservar y liberar zonas de memoria según se solicite
� memoria virtual: utilizar el almacenamiento secundario como una extensión de la memoria principal.
memoria
![Page 6: Tema 3: Estructura y servicios del sistema operativo · PDF fileLeer el estado del sistema (hora, nº de procesos, etc.) 12 Servicios adicionales Aparte de los servicios básicos,](https://reader031.vdocuments.co/reader031/viewer/2022030400/5a6fa9df7f8b9a93538b4cd8/html5/thumbnails/6.jpg)
6
Gestión de la E/S
� La E/S es un conjunto de dispositivos muy variados
y complejos de programar.
� Objetivos del S.O.: � proporcionar una interfaz uniforme para el acceso a los
dispositivos (independencia del dispositivo)
� proporcionar manejadores para los dispositivos
concretos
� tratar automáticamente los errores más típicos
� para los dispositivos de almacenamiento, utilizar cachés
� para los discos, planificar de forma óptima las peticiones
entrada/salida
![Page 7: Tema 3: Estructura y servicios del sistema operativo · PDF fileLeer el estado del sistema (hora, nº de procesos, etc.) 12 Servicios adicionales Aparte de los servicios básicos,](https://reader031.vdocuments.co/reader031/viewer/2022030400/5a6fa9df7f8b9a93538b4cd8/html5/thumbnails/7.jpg)
7
Sistema de archivos
� Un archivo es un conjunto de datos identificado por un nombre. Los archivos se almacenan en dispositivos de E/S. Un archivo es un concepto de alto nivel que no existe en el hardware.
� Funciones del S.O.: � manipulación de archivos: crear, borrar, leer, escribir...
� manipulación de directorios
� ubicar los archivos y directorios en los dispositivos de almacenamiento secundario
� automatizar ciertos servicios: copia de seguridad, versiones, etc.
archivos
![Page 8: Tema 3: Estructura y servicios del sistema operativo · PDF fileLeer el estado del sistema (hora, nº de procesos, etc.) 12 Servicios adicionales Aparte de los servicios básicos,](https://reader031.vdocuments.co/reader031/viewer/2022030400/5a6fa9df7f8b9a93538b4cd8/html5/thumbnails/8.jpg)
8
Sistema de protección
� La protección abarca los mecanismos destinados a controlar el acceso de los usuarios a los recursos, de acuerdo con los privilegios que se definan.
� Objetivos del S.O.: � definir el esquema general de protección: clases de usuarios,
clases de permisos/privilegios, etc.
� definir mecanismos de acceso a los recursos: contraseñas, llaves, capacidades, etc.
� controlar el acceso a los recursos, denegando el acceso cuando no esté permitido
protección
![Page 9: Tema 3: Estructura y servicios del sistema operativo · PDF fileLeer el estado del sistema (hora, nº de procesos, etc.) 12 Servicios adicionales Aparte de los servicios básicos,](https://reader031.vdocuments.co/reader031/viewer/2022030400/5a6fa9df7f8b9a93538b4cd8/html5/thumbnails/9.jpg)
9
Redes
� En un sistema distribuido, existen varios ordenadores con sus propios recursos locales (memoria, archivos, etc.), conectados mediante una red.
� Objetivos del S.O.: � proporcionar primitivas para conectarse con equipos
remotos y acceder de forma controlada a sus recursos: primitivas de comunicación (enviar y recibir datos) sistema de ficheros en red (ej. NFS) llamada remota a procedimiento (RPC) etc.
redes
![Page 10: Tema 3: Estructura y servicios del sistema operativo · PDF fileLeer el estado del sistema (hora, nº de procesos, etc.) 12 Servicios adicionales Aparte de los servicios básicos,](https://reader031.vdocuments.co/reader031/viewer/2022030400/5a6fa9df7f8b9a93538b4cd8/html5/thumbnails/10.jpg)
10
Intérprete de órdenes(command interpreter)
� Para que un usuario pueda dialogar directamente con el S.O., se proporciona una interfaz de usuario básica para:
� cargar programas
� abortar programas
� introducir datos a los programas
� trabajar con archivos
� trabajar con redes
� Ejemplos: JCL en sistemas por lotes, COMMAND.COM en MS-DOS, shell en UNIX
Intérprete deórdenes
![Page 11: Tema 3: Estructura y servicios del sistema operativo · PDF fileLeer el estado del sistema (hora, nº de procesos, etc.) 12 Servicios adicionales Aparte de los servicios básicos,](https://reader031.vdocuments.co/reader031/viewer/2022030400/5a6fa9df7f8b9a93538b4cd8/html5/thumbnails/11.jpg)
11
Servicios del SO
� El S.O. ofrece a los programas una serie de
servicios para trabajar en el computador: � Ejecución de programas
� Operaciones de E/S
� Manipulación de archivos y directorios
� Comunicación entre procesos
� Comunicación con equipos remotos
� Administración de la protección y seguridad
� Leer el estado del sistema (hora, nº de procesos, etc.)
![Page 12: Tema 3: Estructura y servicios del sistema operativo · PDF fileLeer el estado del sistema (hora, nº de procesos, etc.) 12 Servicios adicionales Aparte de los servicios básicos,](https://reader031.vdocuments.co/reader031/viewer/2022030400/5a6fa9df7f8b9a93538b4cd8/html5/thumbnails/12.jpg)
12
Servicios adicionales
� Aparte de los servicios básicos, el S.O. puede ofrecer algunas funciones para optimizar el uso del sistema:
� Compartición de recursos
� Contabilidad (accounting) - conocer el consumo de recursos
![Page 13: Tema 3: Estructura y servicios del sistema operativo · PDF fileLeer el estado del sistema (hora, nº de procesos, etc.) 12 Servicios adicionales Aparte de los servicios básicos,](https://reader031.vdocuments.co/reader031/viewer/2022030400/5a6fa9df7f8b9a93538b4cd8/html5/thumbnails/13.jpg)
13
Interfaces con los servicios del SO
� Para el programador: � LLAMADAS AL SISTEMA en lenguaje máquina o
en alto nivel (ej. lenguaje C)
� Para el usuario: � intérprete de órdenes
� programas del sistema
![Page 14: Tema 3: Estructura y servicios del sistema operativo · PDF fileLeer el estado del sistema (hora, nº de procesos, etc.) 12 Servicios adicionales Aparte de los servicios básicos,](https://reader031.vdocuments.co/reader031/viewer/2022030400/5a6fa9df7f8b9a93538b4cd8/html5/thumbnails/14.jpg)
14
¿Qué aspecto tiene una llamada al sistema?
� Windows: � handle = OpenFile(“mifichero”,ofstruct,OF_READ)
� UNIX: � fd = open(“mifichero”,O_RDONLY);
� MSDOS:
����������� ���
������������
���� ��� ����
�������
![Page 15: Tema 3: Estructura y servicios del sistema operativo · PDF fileLeer el estado del sistema (hora, nº de procesos, etc.) 12 Servicios adicionales Aparte de los servicios básicos,](https://reader031.vdocuments.co/reader031/viewer/2022030400/5a6fa9df7f8b9a93538b4cd8/html5/thumbnails/15.jpg)
15
Llamadas al sistema
� El S.O. ofrece una gama de servicios a los
programas.
� Los programas acceden a estos servicios mediante
llamadas al sistema.
� Las llamadas al sistema son la interfaz entre el
programa en ejecución y el S.O.
� Es la única forma en la que un programa puede
solicitar operaciones al S.O.
![Page 16: Tema 3: Estructura y servicios del sistema operativo · PDF fileLeer el estado del sistema (hora, nº de procesos, etc.) 12 Servicios adicionales Aparte de los servicios básicos,](https://reader031.vdocuments.co/reader031/viewer/2022030400/5a6fa9df7f8b9a93538b4cd8/html5/thumbnails/16.jpg)
16
Implementación de las llamadas al sistema
� ¿Cómo se implementa la llamada? � Habitualmente, mediante una instrucción especial
de la máquina (syscall, int, trap...)
� La instrucción cambia automáticamente a modo
privilegiado
� Si programamos en un lenguaje de alto nivel,
escribimos la llamada al sistema como una
subrutina, y el compilador la sustituye por la
instrucción de máquina correspondiente.
![Page 17: Tema 3: Estructura y servicios del sistema operativo · PDF fileLeer el estado del sistema (hora, nº de procesos, etc.) 12 Servicios adicionales Aparte de los servicios básicos,](https://reader031.vdocuments.co/reader031/viewer/2022030400/5a6fa9df7f8b9a93538b4cd8/html5/thumbnails/17.jpg)
17
Implementación de las llamadas al sistema (2)
� Muchas llamadas necesitan parámetros, ¿cómo los pasamos al S.O.? � guardándolos en registros de la máquina (muy
típico)
� en una tabla en memoria principal
� poniéndolos en la pila
![Page 18: Tema 3: Estructura y servicios del sistema operativo · PDF fileLeer el estado del sistema (hora, nº de procesos, etc.) 12 Servicios adicionales Aparte de los servicios básicos,](https://reader031.vdocuments.co/reader031/viewer/2022030400/5a6fa9df7f8b9a93538b4cd8/html5/thumbnails/18.jpg)
18
Ejemplo:llamadas al sistema de Unix
� Procesos: crear proceso (fork), enviar señal a un proceso (kill), tratar señales (signal)…
� Memoria: pedir más memoria, liberar memoria...
� Archivos: open, close, creat, read, write, mkdir; bloquear fichero (lockf)…
� Redes: crear conexión (socket), cerrar conexión...
� Protección: cambiar permisos (chmod), cambiar propietario (chown)…
![Page 19: Tema 3: Estructura y servicios del sistema operativo · PDF fileLeer el estado del sistema (hora, nº de procesos, etc.) 12 Servicios adicionales Aparte de los servicios básicos,](https://reader031.vdocuments.co/reader031/viewer/2022030400/5a6fa9df7f8b9a93538b4cd8/html5/thumbnails/19.jpg)
19
Programas del sistema
� Las llamadas al sistema nos proporcionan una interfaz para el programador. Un usuario final interactúa con el S.O. mediante programas previamente compilados.
� El entorno del S.O. Suele proveer utilidades básicas, llamadas programas del sistema, para:
� manipular ficheros (ej. ls, cp, etc.)
� editar documentos (emacs, edit, etc.)
� darnos un entorno de trabajo (ej. escritorio Windows) � desarrollar programas (compiladores, enlazadores, etc.)
� comunicarnos con otros equipos (telnet, ftp, etc.)
![Page 20: Tema 3: Estructura y servicios del sistema operativo · PDF fileLeer el estado del sistema (hora, nº de procesos, etc.) 12 Servicios adicionales Aparte de los servicios básicos,](https://reader031.vdocuments.co/reader031/viewer/2022030400/5a6fa9df7f8b9a93538b4cd8/html5/thumbnails/20.jpg)
20
El núcleo (kernel)
� Se suele llamar núcleo (kernel) al software del sistema operativo que reside permanentemente en memoria y que atiende las llamadas al sistema y demás eventos básicos.
� El núcleo se distingue de los programas del sistema (que utilizan los servicios del núcleo).
![Page 21: Tema 3: Estructura y servicios del sistema operativo · PDF fileLeer el estado del sistema (hora, nº de procesos, etc.) 12 Servicios adicionales Aparte de los servicios básicos,](https://reader031.vdocuments.co/reader031/viewer/2022030400/5a6fa9df7f8b9a93538b4cd8/html5/thumbnails/21.jpg)
21
Modelos de diseño de un SO
� ¿Cómo está construido por dentro un sistema operativo?
� Hay múltiples técnicas:� Diseño monolítico� Diseño en capas� máquinas virtuales� Modelo cliente-servidor� Micronúcleos
� …
![Page 22: Tema 3: Estructura y servicios del sistema operativo · PDF fileLeer el estado del sistema (hora, nº de procesos, etc.) 12 Servicios adicionales Aparte de los servicios básicos,](https://reader031.vdocuments.co/reader031/viewer/2022030400/5a6fa9df7f8b9a93538b4cd8/html5/thumbnails/22.jpg)
22
Diseño monolítico
� La arquitectura más simple para un S.O. Es un núcleo compacto, que contiene todas las rutinas de S.O.
NÚCLEO
hardware
programa programa programa
Llamadas al sistema
![Page 23: Tema 3: Estructura y servicios del sistema operativo · PDF fileLeer el estado del sistema (hora, nº de procesos, etc.) 12 Servicios adicionales Aparte de los servicios básicos,](https://reader031.vdocuments.co/reader031/viewer/2022030400/5a6fa9df7f8b9a93538b4cd8/html5/thumbnails/23.jpg)
23
Diseño por capas
� El S.O. se construye en niveles jerárquicos, cada uno de los cuales aprovecha los servicios del nivel inferior.
� Diseño más modular y escalable que el monolítico.
capa 0
capa 1
capa 2programa
![Page 24: Tema 3: Estructura y servicios del sistema operativo · PDF fileLeer el estado del sistema (hora, nº de procesos, etc.) 12 Servicios adicionales Aparte de los servicios básicos,](https://reader031.vdocuments.co/reader031/viewer/2022030400/5a6fa9df7f8b9a93538b4cd8/html5/thumbnails/24.jpg)
24
Diseño por capas (2)
� Cada capa del SO consistiría en la implementación
de un objeto abstracto
� Datos
� Operaciones
...
capa M-1
capa M...
...
operaciones nuevas
operaciones existentes
operaciones ocultas
![Page 25: Tema 3: Estructura y servicios del sistema operativo · PDF fileLeer el estado del sistema (hora, nº de procesos, etc.) 12 Servicios adicionales Aparte de los servicios básicos,](https://reader031.vdocuments.co/reader031/viewer/2022030400/5a6fa9df7f8b9a93538b4cd8/html5/thumbnails/25.jpg)
25
Ejemplo por capas: THE
� Sistema experimental de los años 60� Seis niveles:
� L5: aplicaciones de usuario� L4: buffering � L3: consola del operador � L2: gestión de memoria paginada
� L1: planificación de procesos � L0: hardware
![Page 26: Tema 3: Estructura y servicios del sistema operativo · PDF fileLeer el estado del sistema (hora, nº de procesos, etc.) 12 Servicios adicionales Aparte de los servicios básicos,](https://reader031.vdocuments.co/reader031/viewer/2022030400/5a6fa9df7f8b9a93538b4cd8/html5/thumbnails/26.jpg)
26
Ejemplo: MS-DOS (Microsoft)
controladores de dispositivos en ROM BIOS
controladores de dispositivosde MS-DOS
programa del sistema residente
programa de aplicación
![Page 27: Tema 3: Estructura y servicios del sistema operativo · PDF fileLeer el estado del sistema (hora, nº de procesos, etc.) 12 Servicios adicionales Aparte de los servicios básicos,](https://reader031.vdocuments.co/reader031/viewer/2022030400/5a6fa9df7f8b9a93538b4cd8/html5/thumbnails/27.jpg)
27
Ejemplo: Unix (AT&T)
(usuarios)
shells y órdenescompiladores e intérpretes
bibliotecas del sistema
Interfaz con el núcleo mediante llamadas al sistema
manejo de terminales por señales
sistema de E/S por caracteresdrivers de terminales
sistema de archivossistema de E/S por intercambio
de bloquesdrivers de disco y cinta
planificación de CPUreemplazo de páginas
paginación por demandamemoria virtual
Interfaz con el núcleo
controladores de terminalesterminales
controladores de dispositivosdiscos y cintas
controladores de memoriamemoria física
![Page 28: Tema 3: Estructura y servicios del sistema operativo · PDF fileLeer el estado del sistema (hora, nº de procesos, etc.) 12 Servicios adicionales Aparte de los servicios básicos,](https://reader031.vdocuments.co/reader031/viewer/2022030400/5a6fa9df7f8b9a93538b4cd8/html5/thumbnails/28.jpg)
28
Ejemplo: OS/2 (IBM)
controlador de dispositivo
controlador de dispositivo
controlador de dispositivo
controlador de dispositivo
núcleo del sistema• gestión de memoria• planificación de tareas• gestión de dispositivos
subsistema subsistema subsistema
interfaz de programación de aplicaciones (API) extensión API
aplicación aplicación aplicación aplicación
![Page 29: Tema 3: Estructura y servicios del sistema operativo · PDF fileLeer el estado del sistema (hora, nº de procesos, etc.) 12 Servicios adicionales Aparte de los servicios básicos,](https://reader031.vdocuments.co/reader031/viewer/2022030400/5a6fa9df7f8b9a93538b4cd8/html5/thumbnails/29.jpg)
29
Diseño por capas: ventajas sobre monolítico
� La modularidad simplifica:� Depuración y verificación
� Una vez depurada la primera capa se puede dar por sentado su funcionamiento correcto mientras se trabaja con la segunda capa.
� Mantenimiento� Es posible por ejemplo cambiar las rutinas de bajo nivel
siempre que la interfaz externa de la rutina no cambie y la rutina realice la misma tarea anunciada
![Page 30: Tema 3: Estructura y servicios del sistema operativo · PDF fileLeer el estado del sistema (hora, nº de procesos, etc.) 12 Servicios adicionales Aparte de los servicios básicos,](https://reader031.vdocuments.co/reader031/viewer/2022030400/5a6fa9df7f8b9a93538b4cd8/html5/thumbnails/30.jpg)
30
Diseño por capas: desventajas sobre monolítico
� Problema: definición apropiada de las distintas capas
� Tienden a ser menos eficientes� Llamadas entre capas => paso de parámetros
� En definitiva cada capa implica un gasto extra
� Tendencia: equilibrio, menos capas con más funcionalidad:� Ventajas de la modularidad
� Evitan los problemas de definición e interacción entre capas
![Page 31: Tema 3: Estructura y servicios del sistema operativo · PDF fileLeer el estado del sistema (hora, nº de procesos, etc.) 12 Servicios adicionales Aparte de los servicios básicos,](https://reader031.vdocuments.co/reader031/viewer/2022030400/5a6fa9df7f8b9a93538b4cd8/html5/thumbnails/31.jpg)
31
Máquinas virtuales
� La idea: mediante software, se proporciona a los programas la emulación de un sistema que nos interesa reproducir.
� El sistema emulado puede ser una máquina, un sistema operativo, una red de computadores…
� El software emulador traduce las peticiones hechas a la máquina virtual en operaciones sobre la máquina real.
� Se pueden ejecutar varias máquinas virtuales al mismo tiempo (ej. mediante tiempo compartido).
� Los recursos reales se reparten entre las distintas máquinas virtuales.
![Page 32: Tema 3: Estructura y servicios del sistema operativo · PDF fileLeer el estado del sistema (hora, nº de procesos, etc.) 12 Servicios adicionales Aparte de los servicios básicos,](https://reader031.vdocuments.co/reader031/viewer/2022030400/5a6fa9df7f8b9a93538b4cd8/html5/thumbnails/32.jpg)
32
Máquinas virtuales: ejemplos
� IBM VM: ofrecía a cada usuario su propia máquina virtual no multiprogramada; las m.v. se planificaban con tiempo compartido.
� Java: los programas compilados en Java corren sobre una máquina virtual (JVM).
� VMware: capaz de ejecutar al mismo tiempo varias sesiones Windows, Linux, Mac OS X, etc. sobre plataforma PC o Mac.
� Nachos: S.O. que se ejecuta en una máquina virtual MIPS, cuyo emulador corre sobre Unix.
![Page 33: Tema 3: Estructura y servicios del sistema operativo · PDF fileLeer el estado del sistema (hora, nº de procesos, etc.) 12 Servicios adicionales Aparte de los servicios básicos,](https://reader031.vdocuments.co/reader031/viewer/2022030400/5a6fa9df7f8b9a93538b4cd8/html5/thumbnails/33.jpg)
33
Máquinas virtuales: pros y contras
� Protección: cada máquina virtual está aislada de las otras y no puede interferir
� Independencia de la plataforma (ej. Java)
� Pervivencia de sistemas antiguos (ej. emuladores MSDOS)
� Experimentación: se puede desarrollar y ejecutar para un hardware que no tenemos
� Pero… el rendimiento de la m.v. puede ser muy lento
![Page 34: Tema 3: Estructura y servicios del sistema operativo · PDF fileLeer el estado del sistema (hora, nº de procesos, etc.) 12 Servicios adicionales Aparte de los servicios básicos,](https://reader031.vdocuments.co/reader031/viewer/2022030400/5a6fa9df7f8b9a93538b4cd8/html5/thumbnails/34.jpg)
34
Modelo cliente-servidor
� Según este modelo, el SO se organiza como un conjunto de módulos autónomos, cada uno de los cuales tiene a disposición del resto una serie de servicios
� Cada módulo actúa como un servidor de ciertas funcionalidades, que atiende las peticiones de otros módulos y que su vez puede ser cliente de otros módulos
![Page 35: Tema 3: Estructura y servicios del sistema operativo · PDF fileLeer el estado del sistema (hora, nº de procesos, etc.) 12 Servicios adicionales Aparte de los servicios básicos,](https://reader031.vdocuments.co/reader031/viewer/2022030400/5a6fa9df7f8b9a93538b4cd8/html5/thumbnails/35.jpg)
35
Modelo cliente-servidor
� Podemos extender el modelo cliente-servidor hasta el infinito, si consideramos cada módulo del sistema como un conjunto de módulos con relaciones cliente-servidor
� El modelo jerárquico no es más que un caso particular del modelo cliente-servidor
� Indicado para sistemas distribuidos
![Page 36: Tema 3: Estructura y servicios del sistema operativo · PDF fileLeer el estado del sistema (hora, nº de procesos, etc.) 12 Servicios adicionales Aparte de los servicios básicos,](https://reader031.vdocuments.co/reader031/viewer/2022030400/5a6fa9df7f8b9a93538b4cd8/html5/thumbnails/36.jpg)
36
Micronúcleo
� Objetivo: construir un núcleo del SO con lo mínimo imprescindible� cambios de contexto, gestión de interrupciones,
comunicación entre procesos, etc.
� Las políticas de gestión de los recursos se implementan fuera del núcleo, como procesos externos a nivel de usuario
� Primer micronúcleo: Mach (1980)
![Page 37: Tema 3: Estructura y servicios del sistema operativo · PDF fileLeer el estado del sistema (hora, nº de procesos, etc.) 12 Servicios adicionales Aparte de los servicios básicos,](https://reader031.vdocuments.co/reader031/viewer/2022030400/5a6fa9df7f8b9a93538b4cd8/html5/thumbnails/37.jpg)
37
Micronúcleo (2)
![Page 38: Tema 3: Estructura y servicios del sistema operativo · PDF fileLeer el estado del sistema (hora, nº de procesos, etc.) 12 Servicios adicionales Aparte de los servicios básicos,](https://reader031.vdocuments.co/reader031/viewer/2022030400/5a6fa9df7f8b9a93538b4cd8/html5/thumbnails/38.jpg)
38
Micronúcleos: ventajas
� Se pueden incorporar nuevos módulos sin necesidad de alterar el núcleo
� Se cargan en memoria sólo aquellos módulos que sean necesarios en cada momento
� Pueden aplicarse diferentes políticas para distintas clases de procesos (ej. unos por lotes, otros en tiempo real…)
� Puede servir como base de múltiples sistemas operativos (estos se implementan como colecciones de módulos cargables)
� Facilita la implementación de máquinas virtuales
![Page 39: Tema 3: Estructura y servicios del sistema operativo · PDF fileLeer el estado del sistema (hora, nº de procesos, etc.) 12 Servicios adicionales Aparte de los servicios básicos,](https://reader031.vdocuments.co/reader031/viewer/2022030400/5a6fa9df7f8b9a93538b4cd8/html5/thumbnails/39.jpg)
39
Micronúcleos: ventajas (2)
� Fiabilidad� “Lo pequeño es bello”
� el micronúcleo es menos complejo y por tanto
más fácil de depurar
� Muchos módulos se ejecutan como procesos de
usuario
� si un servicio falla, el resto del SO puede
seguir adelante
![Page 40: Tema 3: Estructura y servicios del sistema operativo · PDF fileLeer el estado del sistema (hora, nº de procesos, etc.) 12 Servicios adicionales Aparte de los servicios básicos,](https://reader031.vdocuments.co/reader031/viewer/2022030400/5a6fa9df7f8b9a93538b4cd8/html5/thumbnails/40.jpg)
40
Implementación de un sistema operativo
� Como todo software, debe seguirse un proceso de desarrollo (ingeniería de sw):� requisitos, diseño, construcción, pruebas, paso a
explotación, mantenimiento…
� Pero un SO presenta características especiales:� Es un sistema crítico (todas las aplicaciones dependen de
él)
� Normalmente hay requisitos más estrictos de portabilidad (respetar versiones anteriores)
� Es más complicado de depurar… ¿cómo probamos un pequeño cambio? ¿tenemos que volverlo a instalar un equipo?
![Page 41: Tema 3: Estructura y servicios del sistema operativo · PDF fileLeer el estado del sistema (hora, nº de procesos, etc.) 12 Servicios adicionales Aparte de los servicios básicos,](https://reader031.vdocuments.co/reader031/viewer/2022030400/5a6fa9df7f8b9a93538b4cd8/html5/thumbnails/41.jpg)
41
Separar mecanismos y políticas
� Los mecanismos definen cómo se realiza algo; las políticas definen qué se debe realizar.
� Ejemplos:� Tiempo compartido � política
� Temporizador, colas de procesos, gestión de interrupciones � mecanismos
� Es conveniente separar en el código los mecanismos de las políticas. Aunque la política cambie, los mismos mecanismos pueden seguir siendo útiles.
![Page 42: Tema 3: Estructura y servicios del sistema operativo · PDF fileLeer el estado del sistema (hora, nº de procesos, etc.) 12 Servicios adicionales Aparte de los servicios básicos,](https://reader031.vdocuments.co/reader031/viewer/2022030400/5a6fa9df7f8b9a93538b4cd8/html5/thumbnails/42.jpg)
42
Lenguaje para implementar un SO
� En el pasado, lenguaje ensamblador (por eficiencia).
� Hoy día se usan lenguajes de alto nivel, sobre todo C/C++. � Más legible y fácil de mantener y depurar
� Más transportable a distintas arquitecturas hardware