Download Qué es un sistema operativo? - Arcos
Document related concepts
Transcript
Lección 1 Introducción Grupo ARCOS Diseño de Sistemas Operativos Grado en Ingeniería Informática Universidad Carlos III de Madrid Objetivos 2 Conocimiento de los métodos de gestión interna de recursos en un sistema operativo. Introducción a las técnicas para la programación y modificación del sistema operativo. ARCOS @ UC3M Alejandro Calderón Mateos Lecturas recomendadas Base Recomendada Carretero 2007: 1. 1. Tanenbaum 2006: 1. Cap. 2 1. Stallings 2005: 2. 1. Parte uno. Transfondo. Silberschatz 2006: 3. 1. 3 Cap.1 Cap.1 ARCOS @ UC3M Alejandro Calderón Mateos ¡ATENCIÓN! 4 Estas transparencias son un guión para la clase. Los libros dados en la bibliografía junto con lo explicado en clase representa el material de estudio para el temario de la asignatura. ARCOS @ UC3M Alejandro Calderón Mateos Contenidos 1. ¿Qué es un sistema operativo? 2. Evolución de los sistemas operativos. 3. Tareas de un sistema operativo. 4. Estructura del sistema operativo. 5 ARCOS @ UC3M Alejandro Calderón Mateos Contenidos 1. ¿Qué es un sistema operativo? 2. Evolución de los sistemas operativos. 3. Tareas de un sistema operativo. 4. Estructura del sistema operativo. 6 ARCOS @ UC3M Alejandro Calderón Mateos ¿Qué es un sistema operativo? Sistema operativo: software destinado a permitir la comunicación del usuario con un ordenador y gestionar sus recursos de manera cómoda y eficiente. Sistema Operativo Hardware 7 ARCOS @ UC3M Alejandro Calderón Mateos ¿Qué es un sistema operativo? Sistema operativo: software destinado a permitir la comunicación del usuario con un ordenador y gestionar sus recursos de manera cómoda y eficiente. Complejidad para encubrir el hardware subyacente (en el S.O.) Sistema Operativo Hardware 8 ARCOS @ UC3M Alejandro Calderón Mateos ¿Qué es un sistema operativo? Sistema operativo: software destinado a permitir la comunicación del usuario con un ordenador y gestionar sus recursos de manera cómoda y eficiente. Complejidad para encubrir el hardware subyacente (en el S.O.) Programas del sistema para la gestión de los recursos. Software de sistema Sistema Operativo Hardware 9 ARCOS @ UC3M Alejandro Calderón Mateos ¿Qué es un sistema operativo? Sistema operativo: software destinado a permitir la comunicación del usuario con un ordenador y gestionar sus recursos de manera cómoda y eficiente. Complejidad para encubrir el hardware subyacente (en el S.O.) Programas del sistema para la gestión de los recursos. Software de sistema Sistema Operativo Hardware 10 ARCOS @ UC3M Alejandro Calderón Mateos ¿Qué es un sistema operativo? Sistema operativo: software destinado a permitir la comunicación del usuario con un ordenador y gestionar sus recursos de manera cómoda y eficiente. Complejidad para encubrir el hardware subyacente (en el S.O.) Programas del sistema para la gestión de los recursos. Software de aplicación Software de sistema Sistema Operativo Hardware 11 ARCOS @ UC3M Alejandro Calderón Mateos Versátil Mismo equipo, diferentes SSOO: IBM PC Linux DR-DOS … IBM PC Mismo SO, diferentes equipos: Unix Unix CRAY-Y/MP 12 IBM PC … ARCOS @ UC3M Alejandro Calderón Mateos Versátil Mismo equipo, diferentes SSOO: IBM PC Linux DR-DOS … IBM PC Mismo SO, diferentes equipos: Unix Portabilidad Unix CRAY-Y/MP 13 IBM PC … ARCOS @ UC3M Alejandro Calderón Mateos Versátil Supercomputador Unix, Linux, … Mainframe OS/360, z/OS, … Miniordenadores y PC Unix, MacOs, Windows, … Empotrados VxWorks, QNX, LynxOS, Android, iOS, Windows Embedded, … 14 ARCOS @ UC3M Alejandro Calderón Mateos Contenidos 1. ¿Qué es un sistema operativo? 2. Evolución de los sistemas operativos. 3. Tareas de un sistema operativo. 4. Estructura del sistema operativo. 15 ARCOS @ UC3M Alejandro Calderón Mateos Hw Evolución (asociada al hardware) Primera generación (años 50) Multiprogramación, tiempo compartido y multiusuario. Cuarta generación (años 80 – actualidad) 16 Procesamiento por lotes. Tercera generación (años 70) Monitor hardware. Segunda generación (años 60) S.O. Sistemas distribuidos. Interfaz gráfica, reconocimiento de voz, etc. Virtualización. ARCOS @ UC3M Alejandro Calderón Mateos Primera generación (1945-1955) Hw monitor hardware S.O. Tubos de vacío. Monitor hardware. 17 ENIAC, UNIVAC, … Grandes, lentos y caros. Complicación para programar y depurar. Asistente para el diagnóstico. ARCOS @ UC3M Alejandro Calderón Mateos Segunda generación (1955-1965) Hw procesamiento por lotes S.O. Transistores. Procesamiento por lotes. 18 IBM 7090, IBM1620, … Más pequeños, rápidos y fiables. Ligeras mejoras en su programación. 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 ARCOS @ UC3M Alejandro Calderón Mateos Tercera generación (1965-1980) Hw multiprogramación, multitarea y multiusuario S.O. Circuitos integrados. Multiprogramación. Gestión de recursos compartidos solapando esperas en CPU. Tiempo compartido y multiusuario. 19 PDP-8, … Más pequeños, rápidos y fiables. Fortran, C, Pascal, Basic, etc. Compartición de recursos y multiplexación del uso de la CPU. Aparición de Multics, Unix, CP/M, etc. ARCOS @ UC3M Alejandro Calderón Mateos Cuarta generación (1980-) Hw distribuidos, con interfaz gráfica, etc. S.O. El microprocesador. Distribuidos (de tiempo real) Conexión a Internet, aplicaciones de trabajo distribuido Interfaz gráfica. 20 IBM-PC, … Ordenadores personales. C++, etc. System 5, Windows 1.0, etc. ARCOS @ UC3M Alejandro Calderón Mateos Cuarta generación (2005-) Hw virtualización, multiprocesamiento, etc. S.O. Los system-on-chip y multicores. Virtualización. Cloud computing, legacy computing, desktop móvil, etc. Nuevas formas de interacción. 21 Tables, smartphones, … Era post-PC. .net, java, python, php, etc. Reconocimiento del habla, entrada multitáctil, etc.. Pantallas 3D, holografías, etc. ARCOS @ UC3M Alejandro Calderón Mateos Evolución: continuos cambios para adaptarse A las nuevas demandas de los usuarios: 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: 22 Reconocimiento de voz, entrada multitáctil, etc. Procesamiento por lotes, multiprogramación, tiempo compartido, etc. Multiusuario, trabajo colaborativo, etc. Sistemas distribuidos, servicios en red, etc. ARCOS @ UC3M Alejandro Calderón Mateos Evolución de los sistemas operativos 55 IOCS IBSYS 60 CTSS 65 DOS/360 OS/360 70 75 MULTICS CP/CM5 DOS/VDSE MVS/370 RT-11 UNIXV.7 VM/370 80 85 SYSTEM III VS MVS/XA SYSTEM V.4 95 VM/ESA AIX/370 LINUX AIX/ESA CP/M VMS 1.0 4.1BSD XENIX MS-DOS 1.0 SUN OS 4.2BSD AIX POSIX MACH VM/XA SYSTEM V 90 VS/ESA MVS/ES RSX-11M UNIX TSO OSF/1 4.3BSD SOLARIS 2 4.4BSD 00 DR/DOS OS/2 WIN 3.0 VMS 5.4 WIN 3.1 WIN NT WIN 9X VMS 7.3 WIN 2000 LINUX 2.6 03 23 SOLARIS 10 https://www.microsoft.com/resources/sharedsource/windowsacademic/curriculumresourcekit.mspx WIN XP WIN Server 2003 ARCOS @ UC3M Alejandro Calderón Mateos Evolución de los sistemas operativos UNIX 24 http://clusterize.net/161-unix-era-40-years/ ARCOS @ UC3M Alejandro Calderón Mateos Evolución de los sistemas operativos Distribuciones Linux (distros) hasta 2010 25 http://futurist.se/gldt/wp-content/uploads/gldt1012.png ARCOS @ UC3M Alejandro Calderón Mateos Evolución de los sistemas operativos Fedora Core 9 => ~200 Linux 26 https://secure.wikimedia.org/wikipedia/de/wiki/Datei:Linux_kernel_loc.svg http://blogs.computerworld.com/204_5_million_lines_of_code_equals_one_great_linux_distribution ARCOS @ UC3M Alejandro Calderón Mateos Evolución de los sistemas operativos Windows 7 Home 7 Professional 2009 27 http://www.jlcarneiro.com/wp-content/uploads/Image/blog/misc/windows_timeline.gif ARCOS @ UC3M Alejandro Calderón Mateos Evolución de los sistemas operativos Windows 42,5 45 40 Millones de líneas de código 35 30 30 25 20 15 16 18 15 10 10 5 0 Windows NT 28 Windows 95 Windows NT 4.0 Windows 98 Windows 2000 http://e-articles.info/e/a/title/The-Evolution-of-Microsoft-Windows-~-The-Windows-NT-Family/ Windows XP ARCOS @ UC3M Alejandro Calderón Mateos Contenidos 1. ¿Qué es un sistema operativo? 2. Evolución de los sistemas operativos. 3. Tareas de un sistema operativo. 4. Estructura del sistema operativo. 29 ARCOS @ UC3M Alejandro Calderón Mateos Funciones del sistema operativo Usuario Interfaz del usuario. Máquina extendida: Sistema operativo Servicios, interfaz del programador, etc. Gestor de recursos: CPU, memoria, etc. Hardware 30 ARCOS @ UC3M Alejandro Calderón Mateos Funciones del sistema operativo Usuario Interfaz del usuario. Máquina extendida: Sistema operativo Servicios, interfaz del programador, etc. Gestor de recursos: CPU, memoria, etc. Hardware 31 ARCOS @ UC3M Alejandro Calderón Mateos Abstracciones fundamentales Procesos 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) A nuevo finalizado preparado B funcionando bloqueado D E C F Árbol de procesos 32 https://www.microsoft.com/resources/sharedsource/windowsacademic/curriculumresourcekit.mspx ARCOS @ UC3M Alejandro Calderón Mateos Abstracciones fundamentales Archivos Archivos y directorios Ruta, directorio de trabajo y raíz Protección Descriptor de archivo Archivos especiales: 33 tmp etc usr mia pit Dispositivos E/S Directorio raíz E/S de bloque y de caracteres Pipes Estándares entrada/salida/error https://www.microsoft.com/resources/sharedsource/windowsacademic/curriculumresourcekit.mspx ARCOS @ UC3M Alejandro Calderón Mateos Funciones del sistema operativo Usuario Interfaz del usuario. Máquina extendida: Sistema operativo Servicios, interfaz del programador, etc. Gestor de recursos: CPU, memoria, etc. Hardware 34 ARCOS @ UC3M Alejandro Calderón Mateos Tareas principales del sistema operativo Gestión de Procesamiento – Planificación Planificación Prioridades, multiusuario Gestión de Memoria Reparto de memoria entre procesos, con protección y compartición Gestión de Almacenamiento – Sistema de Archivos Ofrecer 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 35 ARCOS @ UC3M Alejandro Calderón Mateos Funciones del sistema operativo Usuario Interfaz del usuario. Máquina extendida: Sistema operativo Servicios, interfaz del programador, etc. Gestor de recursos: CPU, memoria, etc. Hardware 36 ARCOS @ UC3M Alejandro Calderón Mateos Interfaz del usuario Interfaz del programador: Interfaz de la máquina extendida. Mediante llamadas al sistema. Interfaz de usuario: Interacción SSOO/Usuario. Mediante shell: 37 Interfaz de línea de mandatos o CLI Interfaz gráfica o GUI ARCOS @ UC3M Alejandro Calderón Mateos Llamadas al sistema (1/2) Los programas de usuario acceden a los servicios del sistema operativo a través de llamadas al sistema. Son vistas por los usuarios programadores como llamadas a funciones: leidos = read(filedesc, buffer, nbytes) ; 38 ARCOS @ UC3M Alejandro Calderón Mateos Llamadas al sistema (2/2) En general, hay 5 tipos de llamada al sistema: Interfaces propietarias vs. estándar: 39 Control de procesos Manipulación de archivos Manipulación de dispositivos Monitorización Comunicación Interfaz POSIX Interfaz Win32 ARCOS @ UC3M Alejandro Calderón Mateos Intérprete de mandatos 40 http://www.guidebookgallery.org/screenshots/commandprompt ARCOS @ UC3M Alejandro Calderón Mateos Interfaz gráfica 41 http://www.guidebookgallery.org/screenshots/full ARCOS @ UC3M Alejandro Calderón Mateos Objetivos en el diseño de un sistema operativo Rendimiento: eficiencia y velocidad 42 Hardware Baja sobrecarga, uso adecuado de los recursos Estabilidad: robustez y resistencia Sistema Operativo 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 http://www.cc.gatech.edu/~pwh/ ARCOS @ UC3M Alejandro Calderón Mateos Objetivos en el diseño de un sistema operativo Sistema Operativo Hardware Butler Lampson: «selecciona cualquier terna de objetivos de diseño» Muchos objetivos son antagónicos: Eficiencia vs protección Claridad vs compatibilidad A más cosas que se puedan hacer, más posibles agujeros de seguridad Pero no todos son antagónicos: 43 Implementación difícil de antiguos estándares (ej.: signal en Unix) Flexibilidad vs seguridad A más comprobaciones, más sobrecarga La portabilidad tiende a mejorar la claridad del código http://www.cc.gatech.edu/~pwh/ ARCOS @ UC3M Alejandro Calderón Mateos Contenidos 1. ¿Qué es un sistema operativo? 2. Evolución de los sistemas operativos. 3. Tareas de un sistema operativo. 4. Estructura del sistema operativo. 1. 2. 3. 44 Estructuras generales Estructuras específicas Estructura en sistemas actuales ARCOS @ UC3M Alejandro Calderón Mateos Niveles del sistema operativo Usuarios Programas Shell Servicios Núcleo API Sistema operativo Hardware 45 ARCOS @ UC3M Alejandro Calderón Mateos ¿Qué es el kernel (núcleo)? Usuarios Programas Shell Servicios Núcleo API Sistema operativo Hardware Un kernel de sistema operativo es la base o entrañas de un sistema operativo. Se carga al arrancar y queda residente en memoria hasta el apagado. El kernel activa los dispositivos hardware y crea el primer proceso (init) que usualmente crea el resto de los procesos. Una vez cargado e inicializado, deja el control a los procesos de usuarios que ejecutan hasta que necesitan realizar una petición de servicio al kernel (llamada al sistema) Los dispositivos necesitan interrumpir al proceso (o kernel) a través de interrupciones hardware; una vez servido el dispositivo, el kernel continua cualquiera que sea la actividad que fue interrumpida. El kernel suele incluir un pequeño número de kernel deamons, procesos que periódicamente ejecutan código del kernel y vuelven a dormir. Nombres usados en la bibliografía: kernel, núcleo o core. 46 http://www.cc.gatech.edu/~pwh/ ARCOS @ UC3M Alejandro Calderón Mateos Modo kernel y usuario Usuarios Programas Shell Servicios Núcleo API Sistema operativo Hardware Los sistemas modernos usan ayuda hardware especial para la protección del kernel de programas maliciosos. En la CPU se usa una serie de bit (mínimo un bit) llamado bit de modo que determina si la máquina está ejecutando en modo privilegiado (modo kernel) o en modo ordinario (modo usuario) El código del kernel ejecuta en modo kernel y las aplicaciones ordinarias ejecutan en modo usuario. Las aplicaciones piden al kernel peticiones de servicio mediante llamadas al sistema que utilizan una transferencia controlada del modo usuario a modo kernel (y viceversa) T. total T. kernel 47 http://www.codinghorror.com/blog/2008/01/understanding-user-and-kernel-mode.html ARCOS @ UC3M Alejandro Calderón Mateos Estructura del Sistema Operativo 48 Tipos de estructura general del sistema operativo: Monolítico En subsistemas En capas Microkernel ARCOS @ UC3M Alejandro Calderón Mateos Estructura del Sistema Operativo Monolítico (macrokernel) App 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 Modo Usuario Modo Kernel Servicios del sistema Procedimientos y estructuras del sistema operativo Hardware 49 ARCOS @ UC3M Alejandro Calderón Mateos Estructura del Sistema Operativo En subsistemas 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. App App Modo Usuario Modo Kernel Servicios del sistema … Subsistema 1 Ejemplo: 50 Linux Hardware ARCOS @ UC3M Alejandro Calderón Mateos Estructura del Sistema Operativo Por capas Binario monolítico aunque codificado estructurado de forma lógica en capas. Cada capa proporciona acceso únicamente a la interfaz de niveles inferiores. Ejemplo: 51 THE (Dijkstra) Multics, que añadió a la noción de capa la idea de anillos de privilegios App App Modo Usuario Modo Kernel Servicios del sistema G. dispositivos de E/S Planificación e IPC Gestión de memoria Hardware ARCOS @ UC3M Alejandro Calderón Mateos Estructura del Sistema Operativo Microkernel 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. App Cliente Servidor de memoria Servidor de procesos Servidor de red Servidor de ficheros Servidor Pantallas Modo Usuario Modo Kernel petición Microkernel respuesta Ejemplo: 52 Match, QNX, Minix, L4, etc. Hardware ARCOS @ UC3M Alejandro Calderón Mateos Estructura del Sistema Operativo Microkernel vs Capas/Subsistemas Servidor de memoria App Cliente App Servidor de ficheros Servidor de procesos App Servidor de red Servidor Pantallas Modo Usuario Modo Usuario Modo Kernel Modo Kernel Servicios del sistema petición Microkernel respuesta G. dispositivos de E/S Hardware Planificación e IPC Microkernel: Gestión de memoria [v] más fiable y estructurado [I] pérdida de rendimiento Hardware [I] posibles problemas de seguridad 53 cambio de modo kernel a usuario son costosos Ej.: man in the middle ARCOS @ UC3M Alejandro Calderón Mateos Estructura del Sistema Operativo 54 Estructuras específicas que puede tener un sistema operativo: Módulos Máquinas virtuales ARCOS @ UC3M Alejandro Calderón Mateos Módulos (1/2) G. dispositivos de E/S D#10 D#15 55 Los primeros kernels tenían que: Incluir código para todos los posibles dispositivos Ser recompilados por cada nuevo dispositivo añadido 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. Pueden verse como las librerías dinámicas para el kernel (DLL). El módulo puede descargarse cuando el dispositivo deje de usarse. http://www.cc.gatech.edu/~pwh/ ARCOS @ UC3M Alejandro Calderón Mateos Módulos (2/2) App App Kernel 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. D#18 56 http://www.cc.gatech.edu/~pwh/ ARCOS @ UC3M Alejandro Calderón Mateos Máquinas virtuales Apl. Apl. S.O. S.O. … Mgmt Hipervisor (VMM) Hardware 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 copias de un sistema operativo ejecuten simultáneamente. La virtualización: 57 [I] supone cierta sobrecarga [V] ofrece un aislamiento excelente entre sistemas y la flexibilidad en la reserva de recursos lo que mejora el coste, especialmente en «granjas» http://www-128.ibm.com/developerworks/library/l-linuxvirt/index.html ARCOS @ UC3M Alejandro Calderón Mateos Estructura del Sistema Operativo 58 Estructuras usadas en sistemas operativos actuales: Linux Windows 2000 Mac OS X Minikernel ARCOS @ UC3M Alejandro Calderón Mateos Estructura del Sistema Operativo Linux (versión simplificada) Usuario Kernel 59 ARCOS @ UC3M Alejandro Calderón Mateos Estructura del Sistema Operativo Linux (versión ‘menos’ simplificada) 60 http://www.makelinux.net/kernel_map.shtml ARCOS @ UC3M Alejandro Calderón Mateos Estructura del Sistema Operativo Windows 2000 (visión simplificada) Subsistemas de entorno Procesos del Sistema y Servicios Aplicaciones Usuario OS/2 Win32 POSIX DLLs de SubsitemaL Ntdll.dll Usuario Kernel Ejecutivo Drivers Kernel Win32 User/GDI Hardware Abstraction Layer (HAL) 61 http://technet.microsoft.com/en-us/library/cc750820.aspx ARCOS @ UC3M Alejandro Calderón Mateos Estructura del Sistema Operativo Windows 2000 Replicator Alerter Event Log Session Mgr WinLogon Procesos de sistema Win32 POSIX OS/2 Servicios Aplicacs. Usuario Interface DLL Subsystem DLL Subsistemas de entorno Ntdll.dll Usuario Kernel System Service Dispatcher Sistema E/S Monitor Seguridad Procesos/ Threads Servicios de objetos Memoria Mgmt Win32 GDI Gestión de Objectos Sistemas ficheros Drivers Kernel Exec. RTL Hardware Abstraction Layer (HAL) 62 ARCOS @ UC3M Alejandro Calderón Mateos Estructura del Sistema Operativo MacOS (visión simplificada) 63 http://developer.apple.com/DOCUMENTATION/Darwin/Conceptual/KernelProgramming/index.html ARCOS @ UC3M Alejandro Calderón Mateos Estructura del Sistema Operativo MacOS (detalles del núcleo) 64 ARCOS @ UC3M Alejandro Calderón Mateos Estructura del Sistema Operativo Virtualización en z/OS SOFTWARE Maquina Virtual 1 Maquina Virtual 2 Maquina Virtual 3 Maquina Virtual 4 Z/OS Z/OS Z/Linux Z/Linux Z/VM HARDWARE MEMORIA Control del sistema CPU 1 CPU 2 CPU 4 CPU 5 Control del sistema E/S Canal 2 Partición lógica 1 65 CPU 3 E/S Canal 3 Partición lógica 2 E/S Canal 4 E/S Canal 5 E/S Canal 6 Partición lógica 3 http://www.redbooks.ibm.com/abstracts/sg246366.html?Open ARCOS @ UC3M Alejandro Calderón Mateos Estructura del Sistema Operativo Minikernel app1 … system_lib Programas a nivel de usuario Minikernel llamadas al sistema ListaBCP + planificador Tablas dinámicas sist.fich. … drivers interrupciones + excepciones Módulos cargables HAL 66 simpleFS … CD-ROM disco ARCOS @ UC3M Alejandro Calderón Mateos Estructura del Sistema Operativo Minikernel app1 … system_lib Programas a nivel de usuario Minikernel llamadas al sistema Tablas dinámicas ListaBCP + planificador sist.fich. … drivers interrupciones + excepciones Módulos cargables HAL 67 simpleFS … CD-ROM disco ARCOS @ UC3M Alejandro Calderón Mateos Lección 1 Introducción Grupo ARCOS Diseño de Sistemas Operativos Grado en Ingeniería Informática Universidad Carlos III de Madrid