DSO-1: Introducción al diseño de un sistema operativo (v3b)
-
Upload
alejandro-calderon-mateos -
Category
Education
-
view
54 -
download
0
Transcript of DSO-1: Introducción al diseño de un sistema operativo (v3b)
![Page 1: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/1.jpg)
Lección 1Introducción
Diseño de Sistemas Operativos
Grado en Ingeniería Informática
Grupo ARCOSUniversidad Carlos III de Madrid
![Page 2: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/2.jpg)
Alejandro Calderón Mateos
Lecturas recomendadas
ARCOS @ UC3M2
1. Carretero 2007:
1. Cap. 2
1. Tanenbaum 2006:
1. Cap.1
2. Stallings 2005:
1. Parte uno. Transfondo.
3. Silberschatz 2006:
1. Cap.1
Base Recomendada
![Page 3: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/3.jpg)
Alejandro Calderón Mateos
A recordar…
ARCOS @ UC3M3
1. Estudiar la teoría asociada.� Estudiar el material asociado a la bibliografía:
las transparencias solo no son suficiente.
� Crear cuestiones con sus respuestas y justificación.
2. Repasar lo visto en clase.� Realizar el cuaderno de prácticas progresivamente.
3. Ejercitar las competencias.� Realizar las prácticas progresivamente.
� Realizar todos los ejercicios posibles.
![Page 4: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/4.jpg)
Alejandro Calderón Mateos
Contenidos
ARCOS @ UC3M4
1. Qué es un sistema operativo.
1. Definiciones, principales funciones y características
2. Cómo es por dentro.
1. Principales objetivos, estructura y ejecución asíncrona
3. Cómo es por fuera.
1. Núcleo y módulos
![Page 5: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/5.jpg)
Alejandro Calderón Mateos
Contenidos
ARCOS @ UC3M5
1. Qué es un sistema operativo.
1. Definiciones, principales funciones y características
2. Cómo es por dentro.
1. Principales objetivos, estructura y ejecución asíncrona
3. Cómo es por fuera.
1. Núcleo y módulos
![Page 6: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/6.jpg)
Alejandro Calderón Mateos
Definición de sistema operativo
ARCOS @ UC3M6
� Sistema operativo: software destinado a permitir la comunicación del usuario con un ordenador y gestionar sus recursos de manera cómoda y eficiente.
Hardware
Sistema Operativo
usuario
![Page 7: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/7.jpg)
Alejandro Calderón Mateos
Definición de sistema operativo
ARCOS @ UC3M7
� Sistema operativo: software destinado a permitir la comunicación del usuario con un ordenador y gestionar sus recursos de manera cómoda y eficiente.
Hardware
Sistema Operativo
Software de sistema
Software de aplicaciónusuario
![Page 8: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/8.jpg)
Alejandro Calderón Mateos
Contenidos
ARCOS @ UC3M8
1. Qué es un sistema operativo.
1. Definiciones, principales funciones y características
2. Cómo es por dentro.
1. Principales objetivos, estructura y ejecución asíncrona
3. Cómo es por fuera.
1. Núcleo y módulos
![Page 9: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/9.jpg)
Alejandro Calderón Mateos
Funciones del sistema operativo
ARCOS @ UC3M9
� Interfaz del usuario.
� Gestor de recursos:
� CPU, memoria, etc.
� Máquina extendida:
� Servicios, interfaz del programador, etc.
Hardware
Usuario
Sistema operativo
![Page 10: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/10.jpg)
Alejandro Calderón Mateos
Funciones del sistema operativo
ARCOS @ UC3M10
� Interfaz del usuario.
� Gestor de recursos:
� CPU, memoria, etc.
� Máquina extendida:
� Servicios, interfaz del programador, etc.
Hardware
Usuario
Sistema operativo
![Page 11: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/11.jpg)
Alejandro Calderón Mateos
Abstracciones fundamentalesProcesos
ARCOS @ UC3M11
� Procesos, tabla de procesos, árbol de procesos
� Imagen básica, planificación, señales
� Identificación de usuario y grupo
� Intérprete de mandatos (shell)
https://www.microsoft.com/resources/sharedsource/windowsacademic/curriculumresourcekit.mspx
preparado funcionando
bloqueado
finalizadonuevo
A
B C
FED
Árbol de procesos
![Page 12: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/12.jpg)
Alejandro Calderón Mateos
Abstracciones fundamentalesArchivos
ARCOS @ UC3M12
� Archivos y directorios
� Ruta, directorio de trabajo y raíz
� Protección
� Descriptor de archivo
� Archivos especiales:
� Dispositivos E/S
� E/S de bloque y de caracteres
� Pipes
� Estándares entrada/salida/error
https://www.microsoft.com/resources/sharedsource/windowsacademic/curriculumresourcekit.mspx
Directorio raíz
tmp usretc
pitmia
![Page 13: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/13.jpg)
Alejandro Calderón Mateos
Funciones del sistema operativo
ARCOS @ UC3M13
� Interfaz del usuario.
� Gestor de recursos:
� CPU, memoria, etc.
� Máquina extendida:
� Servicios, interfaz del programador, etc.
Hardware
Usuario
Sistema operativo
![Page 14: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/14.jpg)
Alejandro Calderón Mateos
Áreas de gestión
ARCOS @ UC3M14
� Gestión de Procesamiento
� Planificación
� Prioridades, multiusuario
� Gestión de Memoria y Almacenamiento
� Reparto de memoria entre procesos, con protección y compartición
� Persistencia y etiquetación (ej. Sistema de Archivos) con una visión lógica unificada para usuarios y programas que sea independiente del medio físico
� Gestión de Dispositivos
� Encubriendo las dependencias de hardware
� Gestión de accesos concurrentes
![Page 15: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/15.jpg)
Alejandro Calderón Mateos
Funciones del sistema operativo
ARCOS @ UC3M15
� Interfaz del usuario.
� Gestor de recursos:
� CPU, memoria, etc.
� Máquina extendida:
� Servicios, interfaz del programador, etc.
Hardware
Usuario
Sistema operativo
![Page 16: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/16.jpg)
Alejandro Calderón Mateos
Interfaz del usuario
ARCOS @ UC3M16
� Interfaz del programador:
� Mediante llamadas al sistema.
� Interfaz de usuario:
� Mediante línea de mandatos o CLI
� Interfaz gráfica o GUI
ret = close (filedesc) ;
http://www.guidebookgallery.org/screenshots/commandprompthttp://www.guidebookgallery.org/screenshots/full
![Page 17: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/17.jpg)
Alejandro Calderón Mateos
Funciones del sistema operativoresumen
ARCOS @ UC3M17
� Interfaz del usuario.
� Gestor de recursos:
� CPU, memoria, etc.
� Máquina extendida:
� Servicios, interfaz del programador, etc.
Hardware
Usuario
Sistema operativo
![Page 18: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/18.jpg)
Alejandro Calderón Mateos
Un detalle más sobre máquina extendida…
ARCOS @ UC3M18
� Interfaz del usuario.
� Gestor de recursos:
� CPU, memoria, etc.
� Máquina extendida:
� Servicios, interfaz del programador, etc.
Hardware
Usuario
Sistema operativo
![Page 19: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/19.jpg)
Alejandro Calderón Mateos
Máquinas virtuales
ARCOS @ UC3M19
� El sistema operativo virtualiza ciertos elementos del hardware; ¿Por qué no virtualizar todo?
� IBM ha usado esta idea en sus mainframes desde principio de la década de los 70.
� Un hipervisor virtualiza todo el ordenador, de manera que permite que múltiples sistemas operativos (o copias del mismo) ejecuten a la vez.
� La virtualización:
� [I] supone cierta sobrecarga
� [V] ofrece un aislamiento excelente entre sistemas y la flexibilidad en la reserva de recursos lo quemejora el coste, especialmente en «granjas»
http://www-128.ibm.com/developerworks/library/l-linuxvirt/index.html
Hardware
Hipervisor (VMM)
S.O. S.O.
Apl. Apl.
… Mgmt
![Page 20: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/20.jpg)
Alejandro Calderón Mateos
Máquinas virtuales
ARCOS @ UC3M20 http://www-128.ibm.com/developerworks/library/l-linuxvirt/index.html
Distinto HardwareHW. emulation
Mismo Hardware y…
![Page 21: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/21.jpg)
Alejandro Calderón Mateos
Máquinas virtuales
ARCOS @ UC3M21 http://www-128.ibm.com/developerworks/library/l-linuxvirt/index.html
Distinto Hardware
… mismo S.O. Containers
HW. emulation
… distinto S.O. y…
Mismo Hardware y…
![Page 22: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/22.jpg)
Alejandro Calderón Mateos
Máquinas virtuales
ARCOS @ UC3M22 http://www-128.ibm.com/developerworks/library/l-linuxvirt/index.html
Distinto Hardware
… mismo S.O.
… no colaborancon el hipervisor
Containers
Para-virtualization
Full virtualization
HW. emulation
… distinto S.O. y…
… colaborancon el hipervisorMismo Hardware y…
![Page 23: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/23.jpg)
Alejandro Calderón Mateos
Contenidos
ARCOS @ UC3M23
1. Qué es un sistema operativo.
1. Definiciones, principales funciones y características
2. Cómo es por dentro.
1. Principales objetivos, estructura y ejecución asíncrona
3. Cómo es por fuera.
1. Núcleo y módulos
![Page 24: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/24.jpg)
Alejandro Calderón Mateos
Principales características
ARCOS @ UC3M24
� Versátil
� Portabilidad
� Adaptativo
� Multidisciplinar
� Complejo
� Delicado
![Page 25: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/25.jpg)
Alejandro Calderón Mateos
Versatilidad
ARCOS @ UC3M25
MainframeOS/360, z/OS, …
Miniordenadores y PCUnix, MacOs, Windows, …
EmpotradosVxWorks, QNX, LynxOS,
Android, iOS, Windows Embedded, …
SupercomputadorUnix, Linux, …
![Page 26: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/26.jpg)
Alejandro Calderón Mateos
� Mismo equipo, diferentes SSOO: IBM PC
� Mismo SO, diferentes equipos: Unix
Principales características:
1) Versátil
ARCOS @ UC3M26
IBM PC
DR-DOSLinux
IBM PC
Unix
CRAY-Y/MP
…
…
Portabilidad
![Page 27: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/27.jpg)
Alejandro Calderón Mateos
Principales características:
2) Continuos cambios para adaptarse
ARCOS @ UC3M27
� A las nuevas demandas de los usuarios:
� Reconocimiento de voz, entrada multitáctil, etc.
� A la evolución o nuevo tipo de hardware:
� Controladores para todo tipo de nuevos dispositivos
� Sistemas multicore, virtualización, etc.
� A integrar soluciones de distintos entornos:
� Procesamiento por lotes, multiprogramación, tiempo compartido, etc.
� Multiusuario, trabajo colaborativo, etc.
� Sistemas distribuidos, servicios en red, etc.
![Page 28: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/28.jpg)
Alejandro Calderón Mateos
Resumen de la evolución
ARCOS @ UC3M28
� Primera generación (años 50)
� Monitor hardware.
� Segunda generación (años 60)
� Procesamiento por lotes.
� Tercera generación (años 70)
� Multiprogramación, tiempo compartido y multiusuario.
� Cuarta generación (años 80 – actualidad)
� Sistemas distribuidos.
� Interfaz gráfica, reconocimiento de voz, etc.
� Virtualización.
Hw
S.O.
![Page 29: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/29.jpg)
Alejandro Calderón Mateos
Primera generación (1945-1955)monitor hardware
ARCOS @ UC3M29
� Tubos de vacío.
� ENIAC, UNIVAC, …
� Grandes, lentos y caros.
� Complicación para programar y depurar.
� Monitor hardware.
� Asistente para el diagnóstico.
Hw
S.O.
![Page 30: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/30.jpg)
Alejandro Calderón Mateos
Segunda generación (1955-1965)procesamiento por lotes
ARCOS @ UC3M30
� Transistores.
� IBM 7090, IBM1620, …
� Más pequeños, rápidos y fiables.
� Ligeras mejoras en su programación.
� Procesamiento por lotes.
� Ejecución de trabajos uno detrás de otro.
� Enlace de rutinas de librerías a programas.
� Gestión de archivos, dispositivos de E/S y almacenamiento secundario.
� Aparición de OS/360
Hw
S.O.
![Page 31: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/31.jpg)
Alejandro Calderón Mateos
Tercera generación (1965-1980)multiprogramación, multitarea y multiusuario
ARCOS @ UC3M31
� Circuitos integrados.
� PDP-8, …
� Más pequeños, rápidos y fiables.
� Fortran, C, Pascal, Basic, etc.
� Multiprogramación.
� Gestión de recursos compartidos solapando esperas en CPU.
� Tiempo compartido y multiusuario.
� Compartición de recursos y multiplexación del uso de la CPU.
� Aparición de Multics, Unix, CP/M, etc.
Hw
S.O.
![Page 32: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/32.jpg)
Alejandro Calderón Mateos
Cuarta generación (1980-)distribuidos, con interfaz gráfica, etc.
ARCOS @ UC3M32
� El microprocesador.
� IBM-PC, …
� Ordenadores personales.
� C++, etc.
� Distribuidos (de tiempo real)
� Conexión a Internet, aplicaciones de trabajo distribuido
� Interfaz gráfica.
� System 5, Windows 1.0, etc.
Hw
S.O.
![Page 33: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/33.jpg)
Alejandro Calderón Mateos
Cuarta generación (2005-)virtualización, multiprocesamiento, etc.
ARCOS @ UC3M33
� Los system-on-chip y multicores.
� Tables, smartphones, …
� Era post-PC.
� .net, java, python, php, etc.
� Virtualización.
� Cloud computing, legacy computing, desktop móvil, etc.
� Nuevas formas de interacción.
� Reconocimiento del habla, entrada multitáctil, etc..
� Pantallas 3D, holografías, etc.
Hw
S.O.
![Page 34: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/34.jpg)
Alejandro Calderón Mateos
Evolución de los sistemas operativos
ARCOS @ UC3M34
55
60
65
70
75
80
85
90
95
00
03
IOCS
DOS/360
DOS/VDSE
VS
VS/ESA
OS/360
MVS/370
MVS/XA
MVS/ES
TSO
IBSYS
CTSS
CP/CM5
VM/370
VM/XA
VM/ESA
SYSTEM III
SYSTEM V
SYSTEM V.4
MULTICS
UNIX
UNIXV.7
AIX/370
AIXSUN OS
POSIX
SOLARIS 2
4.1BSD
4.2BSD
4.3BSD
4.4BSD
MACH
OSF/1
AIX/ESA
XENIX MS-DOS 1.0
CP/M
DR/DOS
OS/2WIN 3.0
WIN NT
WIN 2000
WIN 9X
WIN XP
LINUX
RSX-11M
VMS 1.0
VMS 5.4
VMS 7.3
WIN 3.1
SOLARIS 10
RT-11
LINUX 2.6
WIN Server 2003
https://www.microsoft.com/resources/sharedsource/windowsacademic/curriculumresourcekit.mspx
![Page 35: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/35.jpg)
Alejandro Calderón Mateos
Principales características:
3) Software multidisciplinar
ARCOS @ UC3M35
� Software multidisciplinar:
� Integra trabajos de diferentes áreas: Interfaces de usuario, software de sistema, inteligencia artificial, seguridad, Ingeniería Software, etc.
http://work-at-home-data-entry.com/wp-content/uploads/2014/10/Work-from-home-team-group-of-workers-icon.png
![Page 36: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/36.jpg)
Alejandro Calderón Mateos
Principales características:
4) Software complejo
ARCOS @ UC3M36
� Software complejo:
� Muchas líneas de código.
� Muchos equipos de trabajo.
![Page 37: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/37.jpg)
Alejandro Calderón Mateos
Principales características:
4) Software complejo
ARCOS @ UC3M37
� Software complejo:
� Muchas líneas de código.
� Muchos equipos de trabajo.
https://www.openhub.net/p/linux
![Page 38: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/38.jpg)
Alejandro Calderón Mateos
Principales características:
4) Software complejo
ARCOS @ UC3M38
� Software complejo:
� Muchas líneas de código.
� Muchos equipos de trabajo.
http://www.zdnet.co.uk/reviews/desktop-os/2010/11/20/a-quarter-century-of-windows-40090900/5/#top
![Page 39: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/39.jpg)
Alejandro Calderón Mateos
Principales características:
4) Software complejo
ARCOS @ UC3M39
� Software complejo:
� Muchas líneas de código.
� Muchos equipos de trabajo.
http://www.zdnet.co.uk/reviews/desktop-os/2010/11/20/a-quarter-century-of-windows-40090900/5/#top
![Page 40: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/40.jpg)
Alejandro Calderón Mateos
Principales características:
4) Software complejo
ARCOS @ UC3M40
� Software complejo:
� Muchas líneas de código.
� Muchos equipos de trabajo.
http://osdelivers.blackducksoftware.com/2015/05/05/driving-into-the-future-of-automotive-technology-at-genivi-annual-members-meeting/http://www.alexmarchant.com/writing/healthcare-dot-gov-lines-of-code-comparison/
![Page 41: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/41.jpg)
Alejandro Calderón Mateos
Principales características:
5) Software delicado
ARCOS @ UC3M41
� Software delicado:
� Un fallo en un driver (software controlador de un dispositivo) puede bloquear todo el sistema.
� Trata datos de distintas aplicaciones de distintos usuarios que no deben ser perdidos o trasladados a manos incorrectas.
![Page 42: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/42.jpg)
Alejandro Calderón Mateos
Principales características:
5) Software delicado
ARCOS @ UC3M42
� Software delicado:
� Un fallo en un driver (software controlador de un dispositivo) puede bloquear todo el sistema.
� Trata datos de distintas aplicaciones de distintos usuarios que no deben ser perdidos o trasladados a manos incorrectas.
http://www.mayerdan.com/ruby/2012/11/11/bugs-per-line-of-code-ratio/
![Page 43: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/43.jpg)
Alejandro Calderón Mateos
Principales características:
5) Software delicado
ARCOS @ UC3M43
� Software delicado:
� Un fallo en un driver (software controlador de un dispositivo) puede bloquear todo el sistema.
� Trata datos de distintas aplicaciones de distintos usuarios que no deben ser perdidos o trasladados a manos incorrectas.
http://www.mayerdan.com/ruby/2012/11/11/bugs-per-line-of-code-ratio/
![Page 44: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/44.jpg)
Alejandro Calderón Mateos
Principales característicasresumen
ARCOS @ UC3M44
� Versátil
� Portabilidad
� Adaptativo
� Multidisciplinar
� Complejo
� Delicado
![Page 45: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/45.jpg)
Alejandro Calderón Mateos
Contenidos
ARCOS @ UC3M45
1. Qué es un sistema operativo.
1. Definiciones, principales funciones y características
2. Cómo es por dentro.
1. Principales objetivos, estructura y ejecución asíncrona
3. Cómo es por fuera.
1. Núcleo y módulos
![Page 46: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/46.jpg)
Alejandro Calderón Mateos
Objetivos en el diseño de un sistema operativo
ARCOS @ UC3M46
� Rendimiento: eficiencia y velocidad� Baja sobrecarga,
uso adecuado de los recursos
� Estabilidad: robustez y resistencia� Tiempo de funcionamiento, degradación aceptable, fiabilidad e integridad
� Capacidad: prestaciones, flexibilidad y compatibilidad
� Seguridad y protección� Protección entre usuarios
� Sistema seguro para ‘los malos’
� Portabilidad
� Claridad
� Extensibilidad
Hardware
Sistema Operativo
http://www.cc.gatech.edu/~pwh/
![Page 47: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/47.jpg)
Alejandro Calderón Mateos
Contenidos
ARCOS @ UC3M47
1. Qué es un sistema operativo.
1. Definiciones, principales funciones y características
2. Cómo es por dentro.
1. Principales objetivos, estructura y ejecución asíncrona
3. Cómo es por fuera.
1. Núcleo y módulos
![Page 48: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/48.jpg)
Alejandro Calderón Mateos
Estructura del sistema operativo
ARCOS @ UC3M48
Hardware
Kernel
Servicios
Shell
Usuarios
AplicacionesAPI
SistemaOperativo
� Gestor de recursos.
� Máquina extendida.
� Interfaz de usuario
� Interfaz de programador
![Page 49: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/49.jpg)
Alejandro Calderón Mateos
Estructura del Sistema OperativoMonolítico (macrokernel)
ARCOS @ UC3M49
� Sistema monolítico.
� No estructurado.
� Desde cualquier punto del código se puede acceder a cualquier variable o función de otra parte del núcleo (kernel)
� [I] muy difícil de mantener, muy sensible a errores
App App
Servicios del sistema
Hardware
Procedimientos y estructuras del sistema operativo
Modo Usuario
Modo Kernel
![Page 50: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/50.jpg)
Alejandro Calderón Mateos
Estructura del Sistema OperativoEn subsistemas
ARCOS @ UC3M50
� Sistema monolítico, compuesto de subsistemas lógicos que ofrecen interfaces bien definidas como puntos de entrada.
� Se agrupan procedimientos y estructuras de datos relacionadas.
� Ejemplo:
� Linux
App App
Servicios del sistema
Hardware
Subsistema 1
Modo Usuario
Modo Kernel
…
![Page 51: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/51.jpg)
Alejandro Calderón Mateos
Estructura del Sistema OperativoPor capas
ARCOS @ UC3M51
� Binario monolítico aunque codificado estructurado de forma lógica en capas.
� Cada capa proporciona acceso únicamente a la interfaz de niveles inferiores.
� Ejemplo:
� THE (Dijkstra)
� Multics, que añadió a la noción de capa la idea de anillos de privilegios
App App
Servicios del sistema
Hardware
Modo Usuario
Modo Kernel
G. dispositivos de E/S
Planificación e IPC
Gestión de memoria
![Page 52: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/52.jpg)
Alejandro Calderón Mateos
Estructura del Sistema OperativoMicrokernel
ARCOS @ UC3M52
� Además de estructurado, los principales componentes se ejecutan como procesos servidores, fuera del kernel.
� El microkernel tiene:� Planificación y gestión de procesos.
� Gestión de memoria virtual básica.
� Comunicación entre procesos básica.
� Ejemplo:
� Match, QNX, Minix, L4, etc.
Servidorde memoria
AppCliente
Servidorde red
Servidorde procesos
Servidorde ficheros
ServidorPantallas
Microkernel
Hardware
petición
respuesta
Modo Usuario
Modo Kernel
![Page 53: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/53.jpg)
Alejandro Calderón Mateos
Estructura del Sistema OperativoWindows 2000 (visión simplificada)
ARCOS @ UC3M53
Usuario
Kernel
Ejecutivo
Drivers Kernel
Win32Aplicaciones
Usuario
DLLs de Subsitema L
Procesos del Sistema y Servicios
POSIXOS/2
Win32User/GDI
Subsistemas de entorno
Ntdll.dll
Hardware Abstraction Layer (HAL)
http://technet.microsoft.com/en-us/library/cc750820.aspx
![Page 54: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/54.jpg)
Alejandro Calderón Mateos
Ejemplo de estructura de subsistemasLinux (versión simplificada)
ARCOS @ UC3M54
Usuario
Kernel
Núcleo
Servicios
Shell
![Page 55: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/55.jpg)
Alejandro Calderón Mateos
SS.OO. RealesLinux (versión ‘menos’ simplificada)
http://www.makelinux.net/kernel_map.shtml ARCOS @ UC3M55
![Page 56: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/56.jpg)
Alejandro Calderón Mateos
Contenidos
ARCOS @ UC3M56
1. Qué es un sistema operativo.
1. Definiciones, principales funciones y características
2. Cómo es por dentro.
1. Principales objetivos, estructura y ejecución asíncrona
3. Cómo es por fuera.
1. Núcleo y módulos
![Page 57: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/57.jpg)
Alejandro Calderón Mateos
Estructura del sistema operativo
ARCOS @ UC3M57
Hardware
Kernel
Servicios
Shell
Usuarios
AplicacionesAPI
SistemaOperativo
� Gestor de recursos.
� Máquina extendida.
� Interfaz de usuario
� Interfaz de programador
![Page 58: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/58.jpg)
Alejandro Calderón Mateos
Ejecución asíncronaejecución (general)
ARCOS @ UC3M58
------------------------------------------------------------------------------------------
![Page 59: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/59.jpg)
Alejandro Calderón Mateos
Ejecución asíncronaejecución (general)
ARCOS @ UC3M59
------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
Al llegar un evento (ex) se ejecuta el manejador
asociado (hx)
![Page 60: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/60.jpg)
Alejandro Calderón Mateos
Ejecución asíncronaejecución (general)
ARCOS @ UC3M60
------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
Al finalizar el manejador, se continúa la ejecución por donde fue interrumpida
![Page 61: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/61.jpg)
Alejandro Calderón Mateos
Ejecución asíncronacódigo (general)
ARCOS @ UC3M61
int main ( … ){
…On (event1, handler1) ;…
}
1) Asociar el manejador (handler1) al evento
![Page 62: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/62.jpg)
Alejandro Calderón Mateos
Ejecución asíncronacódigo (general)
ARCOS @ UC3M62
int main ( … ){
…On (event1, handler1) ;…
}
void handler1 ( … ){}
…
2) Codificar la función manejador que tratará el evento
1) Asociar el manejador (handler1) al evento
![Page 63: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/63.jpg)
Alejandro Calderón Mateos
Ejecución asíncronacódigo (general)
ARCOS @ UC3M63
2) Codificar la función manejador que tratará el evento
1) Asociar el manejador (handler1) al evento
3) Para comunicar funciones, se usa variables globalesint global1;
…
int main ( … ){
…On (event1, handler1) ;…
}
void handler1 ( … ){}
…
![Page 64: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/64.jpg)
Alejandro Calderón Mateos
Ejemplo de ejecución asíncronaSeñales
ARCOS @ UC3M64
#include<stdio.h>#include<signal.h>#include<unistd.h>
void sig_handler (int signo){
if (signo == SIGINT)printf("received SIGINT\n");
}
int main(void){
if (signal (SIGINT, sig_handler ) == SIG_ERR) printf("\ncan't catch SIGINT\n");
sleep(60); // simula un proceso largo.
return 0;}
signal.h
http://www.thegeekstuff.com/2012/03/catch-signals-sample-c-code/
![Page 65: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/65.jpg)
Alejandro Calderón Mateos
Ejecución asíncronaejemplo simplificado
ARCOS @ UC3M65
S.O.
HW.
App.
CPU Disco RAM
• char buffer[1024];…
• read(fd,buffer)•
Pi
![Page 66: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/66.jpg)
Alejandro Calderón Mateos
Ejecución asíncronaejemplo simplificado
ARCOS @ UC3M66
S.O.
HW.
App.
CPU Disco RAM
• Pedir bloque• Ejecutar Pi +1
• char buffer[1024];…
• read(fd,buffer)•
ll. sistema
Pi
![Page 67: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/67.jpg)
Alejandro Calderón Mateos
Ejecución asíncronaejemplo simplificado
ARCOS @ UC3M67
S.O.
HW.
App.
CPU Disco RAM
• Pedir bloque• Ejecutar Pi +1
Pi • char buffer[1024];…
• read(fd,buffer)•
ll. sistema
Pi +1 • int x;…
• for (x=0; x<900; x++);
•
![Page 68: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/68.jpg)
Alejandro Calderón Mateos
Ejecución asíncronaejemplo simplificado
ARCOS @ UC3M68
S.O.
HW.
App.
CPU Disco RAM
• Pedir bloque• Ejecutar Pi +1
Pi • char buffer[1024];…
• read(fd,buffer)•
ll. sistema
Pi +1 • int x;…
• for (x=0; x<900; x++);
•
![Page 69: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/69.jpg)
Alejandro Calderón Mateos
Ejecución asíncronaejemplo simplificado
ARCOS @ UC3M69
S.O.
HW.
App.
CPU Disco RAM
• Pedir bloque• Ejecutar Pi +1
int. hw
• Copiar a RAM• Pi listo• Continuar Pi +1
Pi • char buffer[1024];…
• read(fd,buffer)•
ll. sistema
Pi +1 • int x;…
• for (x=0; x<900; x++);
•
![Page 70: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/70.jpg)
Alejandro Calderón Mateos
Ejecución asíncronaejemplo simplificado
ARCOS @ UC3M70
S.O.
HW.
App.
CPU Disco RAM
• Pedir bloque• Ejecutar Pi +1
int. hw
• Copiar a RAM• Pi listo• Continuar Pi +1
Pi • char buffer[1024];…
• read(fd,buffer)•
ll. sistema
Pi +1 • int x;…
• for (x=0; x<900; x++);
•
![Page 71: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/71.jpg)
Alejandro Calderón Mateos
Estructura base del sistema operativocódigo (general)
ARCOS @ UC3M71
int global1; …
int main ( … ){
…On (event1, handler1) ;On (event2, handler2) ;On (event3, handler3) ;…
}
void handler1 ( … ) { xxx }
…
void handler2 ( … ) { xxx }
void handler3 ( … ) { }i.h. 1
ll. sistema
i.h. 2
Disco
Red
App 1
…
• Copiar a RAM• Pu listo• Continuar Pv
![Page 72: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/72.jpg)
Alejandro Calderón Mateos
Ejecución asíncronasoporte hardware
ARCOS @ UC3M72
S.O.
HW.
App.
CPU Disco RAM
int. hw
• Copiar a RAM• Pu listo• Continuar Pv
Pi • char buffer[1024];…
• read(fd,buffer)•
X
int. hw
• Dato a RAM• Px listo• Continuar Py
![Page 73: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/73.jpg)
Alejandro Calderón Mateos
Interrupciones hardwarerepaso (1/4)
ARCOS @ UC3M73
� Cada periférico (capaz de generar una petición de interrupción) dispone de una línea denominada IRQ (Interrupt ReQuest)
� Puede haber múltiples dispositivos en una línea, se precisa muestreo para conocer el peticionario
� Todas las líneas se conectan a un PIC (Programmable Interrupt Controller)
� Actualmente se usa un APIC (Advanced Programmable Interrupt Controller)
� El PIC se conecta a la CPU por una línea de aviso de interrupción pendiente (INT)
� El PIC y la CPU también están conectados por el bus de datos
Understanding the Linux kernel (2nd edition)
Periférico iPIC
CPU...
Bus Datos
INT
IDT
IRQi_interrupt()
do_IRQ(i)
IRQ
vector
Int. i descriptor
...
![Page 74: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/74.jpg)
Alejandro Calderón Mateos
Interrupciones hardwarerepaso (2/4)
ARCOS @ UC3M74
� El PIC monitoriza las líneas de IRQ esperando la llegada de una señal
� Si llega una señal entonces:
� Asocia al IRQ del periférico un valor que guarda en un registro del PIC (llamado vector)
� Avisa a la CPU a través de la línea de interrupción pendiente (INT)
� La CPU lee del registro (como puerto de E/S o como dirección de memoria) el vector
� La CPU escribe en el registro de control del PIC que ya leyó el vector
� El PIC desactiva la línea de interrupción pendiente. borra el vector y vuelve a monitorizar…
Understanding the Linux kernel (2nd edition)
Periférico iPIC
CPU...
Bus Datos
INT
IDT
IRQi_interrupt()
do_IRQ(i)
IRQ
vector
Int. i descriptor
...
![Page 75: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/75.jpg)
Alejandro Calderón Mateos
Interrupciones hardwarerepaso (3/4)
ARCOS @ UC3M75
� El PIC puede permitir deshabilitar selectivamente las IRQ
� El PIC deja de avisar a la CPU de la petición de una IRQ hasta que se habiliten: no se pierden.
� Deshabilitar a nivel de CPU (mask/unmask) es diferente: ignora la INT
� El PIC puede permitir tener niveles de prioridad de interrupción
� Se asocia a cada IRQ con una prioridad
� Si hay varias IRQ, el PIC ‘atiende’ primero las de mayor prioridad (resto: deshabilitado temporalmente)
� Si el PIC no tiene niveles de prioridad, se pueden simular por software en el sistema operativo
Understanding the Linux kernel (2nd edition)
Periférico iPIC
CPU...
Bus Datos
INT
IDT
IRQi_interrupt()
do_IRQ(i)
IRQ
vector
Int. i descriptor
...
![Page 76: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/76.jpg)
Alejandro Calderón Mateos
Interrupciones hardwarerepaso (4/4)
ARCOS @ UC3M76
� La CPU detecta la petición de INT
� Acepta la interrupción: copia el vector por el bus de datos y ACK al PIC
� Busca en la Interrupt Descriptor Table (IDT) la rutina de tratamiento asociada
� Guarda el estado del procesador en pila, pasa a modo privilegiado y ejecuta la RTI
� Puede que varias RTI (do_IRQ) compartan una misma interrupción (uso de enumeración)
� Puede que varias interrupciones compartan una rutina genérica común a ellas
� Recupera el estado de pila, y ejecuta RETI (paso a modo previo y vuelta a lo interrumpido)
Periférico iPIC
CPU...
Bus Datos
INT
IDT
IRQi_interrupt()
do_IRQ(i)
IRQ
vector
Int. i descriptor
...
![Page 77: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/77.jpg)
Alejandro Calderón Mateos
Llamada al sistemasoporte hardware
ARCOS @ UC3M77
S.O.
HW.
App.
CPU Disco RAM
• Pedir bloque• Ejecutar Pi +1
Pi • char buffer[1024];…
• read(fd,buffer)•
ll. sistema
![Page 78: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/78.jpg)
Alejandro Calderón Mateos
Llamada al sistema
ARCOS @ UC3M78
� Existe una instrucción en ensamblador que genera una interrupción por software
� La CPU detecta la petición de INT
� Busca en la Interrupt Descriptor Table (IDT) la rutina de tratamiento asociada
� Guarda el estado del procesador en pila, pasa a modo privilegiado y ejecuta la RTI
� Puede que varias RTI (do_IRQ) compartan una misma interrupción (uso de enumeración)
� Puede que varias interrupciones compartan una rutina genérica común a ellas
� Recupera el estado de pila, y ejecuta RETI (paso a modo previo y vuelta a lo interrumpido)
CPU
Bus Datos
INT
IDT
IRQi_interrupt()
do_IRQ(i)
Int. i descriptor
...
![Page 79: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/79.jpg)
Alejandro Calderón Mateos
Contenidos
ARCOS @ UC3M79
1. Qué es un sistema operativo.
1. Definiciones, principales funciones y características
2. Cómo es por dentro.
1. Principales objetivos, estructura y ejecución asíncrona
3. Cómo es por fuera.
1. Núcleo y módulos
![Page 80: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/80.jpg)
Alejandro Calderón Mateos
Ejecutables (1/1)
ARCOS @ UC3M80
� Los primeros kernels tenían que:
� Incluir código para todos los posibles dispositivos.
� Cada cierto tiempo se recompilaba para añadir los nuevos dispositivos.
� Se distribuía como un conjunto de ejecutables.
http://www.cc.gatech.edu/~pwh/
G. dispositivos de E/S
D#10D#15
![Page 81: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/81.jpg)
Alejandro Calderón Mateos
Módulos (1/2)
ARCOS @ UC3M81
� Los módulos inicialmente se desarrollaron para permitir la inclusión condicional de controladores de dispositivos (drivers)
� Los módulos ofrecen añadir dinámicamente código de un driver pre-compilado.
� Se distribuyen como bibliotecas dinámicas para el kernel (.so/.dll).
� El módulo puede descargarse cuando el dispositivo deje de usarse.
http://www.cc.gatech.edu/~pwh/
G. dispositivos de E/S
D#10
D#15
![Page 82: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/82.jpg)
Alejandro Calderón Mateos
Módulos (2/2)
ARCOS @ UC3M82
� La gran mayoría de sistemas operativos modernos tienen un kernel que permite el uso de módulos:
� Linux, Solaris, BSD, Windows, etc.
� Los módulos se utilizan no solo para los drivers de los dispositivos, actualmente también se utilizan para añadir otro tipos de funcionalidad:
� El kernel de Linux lo utiliza extensivamente para sistemas de ficheros, protocolos de red, llamadas al sistema, etc.
http://www.cc.gatech.edu/~pwh/
App App
Kernel
F#18
![Page 83: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/83.jpg)
Alejandro Calderón Mateos
Ejemplo de módulosWindows 2000
ARCOS @ UC3M83
System Service Dispatcher
Sistema E/S
MonitorSeguridad
Procesos/Threads
Serviciosde objetos
MemoriaMgmt
Win32GDI
Exec.RTL
Drivers
Hardware Abstraction Layer (HAL)
Kernel
Gestión de ObjectosSistemasficheros
Procesosde sistema
ServiciosAplicacs.Usuario
Subsistemasde entorno
Subsystem DLLInterface DLL
Session MgrWinLogon
ReplicatorAlerter
Event Log
Win32POSIXOS/2
Ntdll.dllUsuario
Kernel
![Page 84: DSO-1: Introducción al diseño de un sistema operativo (v3b)](https://reader030.fdocument.pub/reader030/viewer/2022012921/588a7c101a28abad628b4b77/html5/thumbnails/84.jpg)
Lección 1Introducción
Grupo ARCOS
Diseño de Sistemas Operativos
Grado en Ingeniería Informática
Universidad Carlos III de Madrid