Documente Academic
Documente Profesional
Documente Cultură
Capítulo 3
Silberschatz Galvin
1
Componentes comunes del sistema
• Manejo de procesos
• Manejo de memoria
• Manejo del almacenamiento secundario
• Manejo de la E/S
• Manejo de archivos
• Sistema de protección
• Redes
• Intérprete de comandos
2
Manejo de los procesos
3
Administración de la memoria principal
Ejecución de MS-DOS
Proceso
Intérprete de
comandos
Kérnel
4
UNIX Ejecutando múltiples procesos
Proceso D
Memoria libre
Proceso C
Intérprete
Proceso B
Kernel
5
Administración del almacenamiento
secundario
• Los discos son el principal medio de almacenamiento
– Para datos y programas
• El sistema operativo es responsable de la administración
del disco
– Administración del espacio libre
– Asignación de los archivos
– Planificación del disco
6
Administración de los archivos
Sistema de protección
7
Redes (Sistemas Distribuidos)
8
Intérprete de comandos del sistema
9
Servicios del sistema operativo
• Comunicaciones
– Intercambio de información entre procesos
• Ejecutándose en la misma computadora
• Diferentes computadoras en una red
– Implementado con memoria compartida o paso de
mensajes
Modelos de comunicación
Paso de mensajes
Proceso A M
Proceso B M
Kérnel M
10
Modelos de comunicación
Memoria compartida
Proceso A
Memoria compartida
Proceso B
Kérnel
• Detección de errores
– Asegurarse de un manejo adecuado debido a la detección
de errores
• CPU
• Hardware
• Dispositivos de E/S
• Programas de usuario
11
Funciones adiciones del sistema
operativo
• Las funciones adicionales para asegurarse de la
eficiencia operaciones del sistema
– Asignación de recursos
• Asignar los recursos a múltiples usuarios, y tareas en
ejecución
– Contabilidad
• Llevar registro de cuales usuarios usan recursos y qué tanto
• Cobro, estadísticas, etc.
– Protección
• Asegurarse que todos los accesos a los recursos del sistema
están controlados
Llamadas al sistema
12
Llamadas al sistema
X: X
parámetros
para una Registro
llamada Uso de Código de
parámetros de la llamada
la tabla x
Carga la al sistema
dirección X 13
Llamada 13
13
Programas del sistema
14
Estructura del sistema – Una
aproximación simple
• MS-DOS – diseñado para proveer funcionalidad en el
espacio restante
– No está dividido en módulos
– Aunque MS-DOS tiene alguna estructura, sus interfases y
niveles de funcionalidad no están bien separados
Manejadores de
dispositivos del
MSDOS
15
Estructura del sistema – Una
aproximación simple
• UNIX
– Limitado por la funcionalidad del hardware
– El SO UNIX original tenía una estructuración limitada
• El SO UNIX consiste de dos partes separables
– Programas del sistema
– Kérnel o Núcleo
• Todo lo que está debajo de la interfase de las llamadas al
sistema y sobre el hardware físico
• Provee el sistema de archivos, planificación del CPU,
manejo de la memoria, etc.
Usuarios
Shells y comandos
Compiladores e intérpretes
Librerías del sistema
Interfase de llamadas al sistema al kernel
16
Estructura del sistema
Operaciones Capa M
nuevas
Operaciones
existentes
17
Estructura de capas del Sistema
Operativo
Nivel 5 Programas de usuario
Nivel 0 Hardware
18
Micronúcleos
19
Ventajas de la organización micronúcleo
• Portabilidad:
– En el micronúcleo (y no en los demás servicios) se
realizan los cambios necesarios para portar el sistema a
un nuevo procesador.
• Fiabilidad:
– Diseño modular.
– Un pequeño micronúcleo puede probarse de un modo
muy riguroso.
20
Diseño de micronúcleo
Kernel
21
Máquinas virtuales
Máquinas Virtuales
22
Modelos
Máquina No Virtual Máquina Virtal
Interfase de
programación Kernel Kernel Kernel
Kernel Máquina virtual
Hardware Hardware
23
Ventajas y desventajas de las máquinas
virtuales
• Una máquina virtual es una herramienta perfecta para el
desarrollo e investigación de sistemas operativos
– El desarrollo se hace en una máquina virtual en vez de
una máquina física
– No interfiera con la operación normal del sistema
• El concepto de máquina virtual es difícil de implementar
debido al esfuerzo requerido para proveer una copia
exacta de la máquina
Interfase de
programación Kernel Kernel Kernel
Kernel Máquina virtual
Hardware Hardware
24
La máquina virtual de Java
Host
La plataforma Java
25
Archivo Java .class en diferentes
plataformas
Programa.Class
Prog1.class Prog2.class
Clase API de
líder Java Ambiente de
Archivos ejecución
Intérprete .class (Plataforma Java)
de Java
Sistema anfitrión
26
Metas del diseño del sistema
27
Mecanismos y Políticas
28
Portabilidad
Programa
Hola.c
29
Generación del Sistema (SYSGEN)
• Arranque (boot)
– Iniciar una computadora cargando el kérnel
• Programa Bootstrap
– Código almacenado en ROM que puede localizar el
código de arranque del sistema operativo
– Cargarlo en memoria
30