Download Qué es un sistema operativo? - Arcos

Document related concepts

Proceso de arranque en Linux wikipedia , lookup

Sistema operativo móvil wikipedia , lookup

Anillo (seguridad informática) wikipedia , lookup

Sistema operativo wikipedia , lookup

QEMU wikipedia , lookup

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