Tema 2 Contenido

Anuncio
Tema 2
Introducción a los Sistemas
Operativos
Tema 2
1
Contenido
  Definición y necesidad de los SSOO.
  Evolución de los SSOO.
  Logros Principales.
  Llamadas al sistema.(*)
  Partes y Estructura.(*)
  UNIX.
Stallings: 2.1 – 2.4, 2.6, 2.7
(*)Tanenbaum: 1.6, 1.7
A.Ortigosa
Tema 2
2
1
Sistemas operativos
  Programa que controla la ejecución de los
programas de aplicación:
Acceso eficiente a recursos compartidos limitados
  Actúa como interfaz entre las aplicaciones
del usuario y el hardware: Simplifica la labor
del programador
A.Ortigosa
Tema 2
3
Objetivos de los sistemas
operativos
  Comodidad:
 
Hace que un computador sea más cómodo de utilizar.
Abstracción, Factores humanos
  Eficiencia:
 
Permite un uso eficiente de los recursos de un sistema
informático.
Concurrencia
  Capacidad de evolución:
 
A.Ortigosa
Permite el desarrollo efectivo, la verificación y la
introducción de nuevas funciones en el sistema sin
interferir en los servicios.
Modularidad
Tema 2
4
2
Sistemas operativos
  Funciona de la misma manera que el
software normal de un computador.
 
Es un programa ejecutado por el procesador.
  El sistema operativo abandona el control del
procesador para ejecutar otros programas.
A.Ortigosa
Tema 2
5
Núcleo
  Parte del sistema operativo que se encuentra en la
memoria principal.
  Incluye las funciones utilizadas con más frecuencia.
  Carece de estructura
  También denominado kernel (DOS, Windows , Unices).
  Microkernel o micronúcleo (WNT,W2K): En este caso,
el S.O. se ocupa sólo de unas pocas funciones (gestión
de memoria, procesos, IPC), reduciendo el núcleo a su
mínima expresión. El resto de funciones pasan a estar
en el espacio de usuario.
A.Ortigosa
Tema 2
6
3
Sistema informático
Memoria
Software
del sistema
operativo
Dispositivos de E/S
Controlador
de E/S
Impresoras,
teclados,
cámaras
digitales,etc.
Controlador
de E/S
Introducción a los Sistemas Operativos
Programas
y datos
Controlador
de E/S
Procesador
Procesador
Almacenamiento
SO
Programas
Datos
Tema 2
7
Niveles de un sistema informático
Usuario
final
Programador
Programas de aplicación
Diseñador
del sistema
operativo
Utilidades
Sistema operativo
Hardware del computador
A.Ortigosa
Figura 2.1. Niveles y vistas de un sistema informático.
Tema 2
8
4
Servicios que ofrece el sistema
operativo (I)
  Creación de programas:
 
Editores, compiladores y depuradores (debuggers).
  Ejecución de programas:
 
Administra: carga en memoria, prepara recursos,…
  Acceso a los dispositivos de E/S:
 
Proporciona interfaz de acceso, ocultando detalles y señales de
control
  Acceso controlado a los archivos:
 
Naturaleza del dispositivo,estructura de datos,…
  Acceso al sistema:
 
Acceso, protección a recursos, etc.
A.Ortigosa
Tema 2
9
Servicios que ofrece el sistema
operativo (II)
  Detección y respuesta a errores:
 
Errores internos y externos del hardware.
  Error
de memoria.
  Fallo de dispositivos.
 
Errores de software.
  Desbordamiento
aritmético.
  Acceso a una posición prohibida de memoria.
 
Incapacidad del sistema operativo para satisfacer
la solicitud de una aplicación.
A.Ortigosa
Tema 2
10
5
Servicios que ofrece el sistema
operativo (III)
  Contabilidad:
 
 
 
Recoger estadísticas.
Supervisar su rendimiento.
Utilizado para los usuarios con cuotas.
A.Ortigosa
Tema 2
11
Evolución de un sistema operativo
  Actualizaciones del hardware y nuevos tipos
de hardware.
  Nuevos servicios.
  Correcciones.
A.Ortigosa
Tema 2
12
6
Evolución del Hardware
CPU (MHz)
RAM
Disco
Red (Bwth)
# bits direcc.
# usuarios/máquina
Precio
1981
10
128 Kb
10 Mb
9600 b/s
16
Decenas
5M
2007
3000
4Gb
500Gb
155 Mb/s
64
1
0.002 M
factor
300
32000
50000
15000
4
0.1
0.0004
- La historia de los SO’s esta ligada a la rápida evolución del
hardware (€ decreciente, con el nivel de integración) y a
condicionantes sociales (encarecimiento del precio mano de
obra): ADAPTACIÓN
A.Ortigosa
Tema 2
13
Evolución de los sistemas
operativos
  Proceso en serie (Open Shop):
 
 
 
No había sistema operativo (sólo Hw).
Las operación con estas máquinas era desde una consola
consistente en unos indicadores luminosos, unos
conmutadores, un dispositivo de entrada y una impresora
(ej: tarjetas perforadas).
PROBLEMAS:
 
 
A.Ortigosa
Planificación (reserva previa) y temporización (t.máximo).
Preparación: incluía cargar un compilador, un programa fuente,
salvar el programa compilado y, por último, cargar y montar el
programa objeto. Usaban cintas y paquetes de tarjetas.
Tema 2
14
7
A.Ortigosa
Tema 2
15
EJEMPLO: IBM 701 [Rickman 83]
Características de los 19 sistemas vendidos:
• 
12 micras/ciclo (80 KHz)
• 
15000 instr/s
• 
3.5 horas entre fallos!
• 
$300 (1954) por hora de uso
• 
Slots de 15 minutos! (>10 minutos de setup)
[Rickman 83] “The IBM 701 Computer at the General Motors Research Laboratories” G. Rickman.
IEEE Annals of the History of Computing 5,2
(April 1983), 210-212
A.Ortigosa
Tema 2
16
8
Evolución de los sistemas
operativos
  Sistemas sencillos de procesamiento por lotes.
 
Monitor:
–  Software que controla los programas que están en
funcionamiento.
–  Residente en memoria principal, listo para ser
ejecutado en cuando se necesite.
–  Usuario entrega cinta o tarjeta. Los trabajos se
agrupan por lotes y se ubican en dispositivo de
entrada del monitor.
–  Monitor carga en memoria y ejecuta lotes.
–  El programa vuelve al monitor al terminar su
procesamiento y éste carga siguiente.
A.Ortigosa
Tema 2
17
Lenguaje de control de trabajos
(JCL)
  Cada usuario entregaba al operador las tarjetas de
programa con otras tarjetas de control que
codificaban las acciones requeridas.
  Tipo especial de lenguaje de programación.
  Empleado para dar instrucciones al monitor:
 
 
 
Qué compilador utilizar.
Dónde copiar el objeto compilado
Qué datos utilizar.
  Todavía utilizado en grandes sistemas de
computación científica no-interactivos
A.Ortigosa
Tema 2
18
9
Ejemplo (JCL)
$ USER
$ JOB
$ FTN
Instrucciones en Fortran
$ LOAD
$ RUN
Datos
$ END
}
}
A.Ortigosa
Tema 2
19
Características del hardware
  Protección de memoria:
 
No permite modificar la zona de memoria en la que está
el monitor.
  Temporizador:
 
Previene que un solo trabajo monopolice el sistema. Si se
excede, interrupción y vuelta al monitor.
  Instrucciones privilegiadas
 
Sólo permitidas al monitor. Ej: Operaciones E/S.
  Interrupciones
A.Ortigosa
Tema 2
20
10
Problemas
 Falta de interacción con el proceso
 
Dificultad para debugging.
 Ineficiencia en el uso de los recursos del
sistema:
Procesador: esperas por E/S
  Dispositivos: de uno en uno
 
A.Ortigosa
Tema 2
21
Debugging
A.Ortigosa
Tema 2
22
11
Monoprogramación
  Antes de continuar, el procesador debe
esperar hasta que la instrucción de E/S
termine.
Programa A
Ejecutar
Esperar
Ejecutar
Esperar
Tiempo
(a) Monoprogramación
A.Ortigosa
Tema 2
23
Multiprogramación
  Cuando un trabajo necesite esperar una E/S, el
procesador puede cambiar al otro trabajo.
Programa A
Programa B
Combinados
Esperar
Ejecutar
Esperar
Ejecutar
Ejecutar
Esperar
Ejecutar A Ejecutar B
Esperar
Esperar
Ejecutar
Ejecutar A Ejecutar B
Esperar
Esperar
Tiempo
(b) Multiprogramación con dos programas
A.Ortigosa
Tema 2
24
12
Multiprogramación
Programa A
Ejec.
Programa B
Esperar
Programa C
Combinados
Ejec.
Esperar
Ejec.
Ejec.
Ejec.
A
B
Ejec.
Esperar
Ejec
Esperar
Esperar
Esperar
Ejec
Esperar
Ejec.
C.
Esperar
Ejec.
Ejec.
A
B
Ejec.
C.
Esperar
Esperar
Tiempo
(c) Multiprogramación con tres programas
A.Ortigosa
Tema 2
25
Requisitos (I): Cambio de
Contexto
MEMORIA
Sistema
Operativo
Proceso 1
Proceso 2
Proceso 3
(...)
Proceso m
A.Ortigosa
CPU
Contador de Programa (CP)
Acumulador (AC)
Registro A (RA)
...
Registro Z (RZ)
Pila (P)
Tema 2
Proceso 1
CP = CP1
RA = RA1
…
RZ = RZ1
Comienzo Pila = Pi1
Profundidad Pila= Ph1
Proceso 2
CP = CP2
RA = RA2
…
RZ = RZ2
Comienzo Pila = Pi2
Profundidad Pila= Ph2
26
13
Requisitos (II): Intercambio
DISCO
MEMORIA
Sistema
Operativo
Programa 1
Programa 2
Proceso 1
Programa 3
Programa 4
Programa 5
1
Proceso 2
A.Ortigosa
CPU
Proceso 3
(...)
(...)
Programa n
2
Proceso m
Tema 2
27
Ejemplo: CTSS (MIT) - 1961
TRABAJO 3
TRABAJO 1
TRABAJO 2
Libre
TRABAJO 1
Libre
Libre
TRABAJO 4
(TRABAJO 1)
(TRABAJO 2)
(TRABAJO 2)
TRABAJO 2
(TRABAJO 2)
Libre
Libre
Libre
Figura 2.7. Operación CTSS (Sistema Compatible de Tiempo Compartido).
A.Ortigosa
Tema 2
28
14
Ejemplo
TRABAJO1
Tipo de trabajo
TRABAJO2
Cálculo intensivo E/S intensiva
TRABAJO3
E/S intensiva
Duración
5 min.
15 min.
10 min.
Memoria exigida
50 K
100 K
80 K
¿Necesita disco?
No
No
Sí
¿Necesita terminal?
No
Sí
No
No
Sí
¿Necesita impresora? No
A.Ortigosa
Tema 2
29
Efectos de la multiprogramación
Monoprogramación
Multiprogramación
Uso del procesador
22%
43%
Uso de la memoria
30%
67%
Uso del disco
33%
67%
Uso de la impresora
33%
67%
Tiempo transcurrido
30 min.
15 min.
Tasa de productividad
6 trabajos/hora
Tiempo medio de respuesta 18 min.
A.Ortigosa
Tema 2
12 trabajos/hora
10 min.
30
15
Tiempo compartido
  Utiliza la multiprogramación para gestionar
varias tareas interactivas.
  El tiempo del procesador se comparte entre
los diversos usuarios.
  Múltiples usuarios acceden simultáneamente
al sistema por medio de terminales.
A.Ortigosa
Tema 2
31
Multiprogramación por lotes frente
a tiempo compartido
Multiprogramación
por lotes
Tiempo compartido
Objetivo principal
Maximizar la utilización
del procesador
Minimizar tiempo de
respuesta
Origen de las
instrucciones al
sistema operativo
Instrucciones de un
lenguaje de control de
trabajos incluidas en el
trabajo
Órdenes dadas en el
terminal
A.Ortigosa
Tema 2
32
16
¡PARA MEMORIZAR!
  “Computers in the future may weigh no more than
1.5 tons”
 
Popular Mechanics (1949)
  “I think there is a world market for maybe five
computers”
 
Thomas Watson. CEO de IBM (1943)
  “640K ought to be enough for anybody”
 
Bill Gates (1981)
A.Ortigosa

Tema 2
33
Logros principales
  Los procesos.
  La gestión de memoria.
  La seguridad y la protección de la
información.
  La planificación y la gestión de recursos.
  La estructura del sistema.
A.Ortigosa
Tema 2
34
17
Procesos
  Un programa en ejecución.
  Una instancia de un programa funcionando
en un computador.
  La entidad que puede ser asignada al
procesador y ejecutada por él.
  Una unidad de actividad caracterizada por un
sencillo tratamiento de ejecución secuencial,
un estado actual, y asociada a un conjunto de
recursos del sistema.
A.Ortigosa
Tema 2
35
Dificultades en el diseño del
sistema software
  Sincronización incorrecta:
 
Asegurar que un proceso que espera el dispositivo de
E/S reciba la señal (¡y no por duplicado!).
  Fallos de exclusión mutua
 
Sólo una rutina hace transacción en un momento det.
  Funcionamiento no determinista del programa:
 
El programa debe depender de una sola entrada y no
de las zonas comunes de memoria. Interferencias.
  Interbloqueos
 
A.Ortigosa
Dependencia mutua
Tema 2
36
18
Proceso
  Formado por tres componentes:
 
 
 
Un programa ejecutable.
Los datos asociados necesarios para el programa.
El contexto de ejecución del programa.
  Toda
la información que el sistema operativo necesita
para administrar el proceso
(contenidos de registros del procesador, prioridad, si
espera E/S…).
A.Ortigosa
Tema 2
37
Proceso
Memoria principal
Registros del procesador
Índice de proceso
PC
Lista de
procesos
Base
Límite
Otros
registros
Contexto
Proceso
A
Datos
Programa
(código)
Contexto
Proceso
B
Datos
Programa
(código)
A.Ortigosa
Figura 2.8. Implementación típica de los procesos.
Tema 2
38
19
Gestión de memoria
  Aislamiento del proceso.
  Asignación y gestión automáticas.
  Soporte para la programación modular.
  Protección y control de acceso.
  Almacenamiento a largo plazo.
A.Ortigosa
Tema 2
39
Sistema de archivos
  Incorpora un almacenamiento a largo plazo.
  La información se almacena en unos objetos
denominados archivos.
A.Ortigosa
Tema 2
40
20
Memoria virtual
  Permite a los programas direccionar la
memoria desde un punto de vista lógico.
  No existirá un espacio muerto entre la
ejecución de los procesos sucesivos, mientras
un proceso se envía al almacenamiento
secundario y el proceso que le sucede es
traído de éste.
A.Ortigosa
Tema 2
41
Sistema de paginación
  Permite que los procesos estén formados por varios
bloques de tamaño fijo, denominados páginas.
  La dirección virtual está formada por un número de
página y un deplazamiento dentro de la página.
  Cada página puede estar ubicada en un lugar
cualquiera de la memoria principal.
  La dirección real o dirección física se utiliza en la
memoria principal.
A.Ortigosa
Tema 2
42
21
Programa
de usuario
B
Programa
de usuario
A
Disco
Memoria principal
La memoria principal está formada
por un número de marcos de longitud
fija del tamaño de una página. Para
ejecutar un programa, algunas o todas
sus páginas tienen que estar en el
operativo de la memoria principal.
A.Ortigosa
La memoria secundaria (disco) puede
almacenar muchas páginas de longitud fija.
Un programa de usuario está formado por
varias páginas. Las páginas de todos los
programas, incluso los del sistema están en
el disco, en forma de archivos.
Figura 2.9. Conceptos de memoria virtual.
Tema 2
43
Direccionamiento de la memoria
virtual
Procesador
Dirección
virtual
Unidad de
gestión de
memoria
Dirección
real
Memoria
principal
Direcciónde
de
Dirección
disco
disco
Memoria
secundaria
Figura 2.10. Direccionamiento de la memoria virtual.
A.Ortigosa
Tema 2
44
22
Seguridad y protección de la
información
  Control de acceso:
 
Regula el acceso del usuario al sistema.
  Control del flujo de información:
 
Regula el flujo de datos dentro del sistema y su
distribución a los usuarios.
  Certificación:
 
Demuestra que el acceso y el control del flujo se
llevan a cabo de acuerdo con las
especificaciones.
A.Ortigosa
Tema 2
45
Planificación y gestión de recursos
  Equidad:
 
Otorga un acceso igual y equitativo a todos
los procesos.
  Sensibilidades diferenciales:
 
Discrimina entre las diferentes clases de
trabajos.
  Eficiencia:
 
A.Ortigosa
Maximiza la productividad, minimiza el
tiempo de respuesta y aloja a tantos
usuarios como sea posible.
Tema 2
46
23
Elementos principales de un
sistema operativo
Sistema operativo
Petición de
servicio de un
proceso
Interrupción
de un proceso
Interrupción de E/S
Gestor de
peticiones de
servicio (código)
Gestor de
interrupciones
(código)
Cola a Cola a Cola de
largo corto
E/S
plazo plazo
Planificador a
corto plazo
(código)
Pasar el control
al proceso
Figura 2.11. Elementos clave para la multiprogramación de un sistema operativo.
A.Ortigosa
Tema 2
47
Llamadas al sistema
  Los procesos se comunican con el SO a
través de llamadas al sistema
  Cada llamada al sistema desde un
lenguaje de alto nivel se corresponde
normalmente con un procedimiento que
lee los parámetros de la llamada y los
pasa al SO, con el control, mediante un
TRAP.
A.Ortigosa
Tema 2
48
24
Llamadas al sistema
…
read();
…
Modo Usuario
Trap Table
read() {
…
trap
N_SYS_READ()
…
} /*Función resguardo*/
Modo Núcleo
sys_read()
sys_read() {
/* system function */
…
return;
}
A.Ortigosa
Tema 2
49
Llamadas al sistema
(a,b,c)
REGISTRO(S)
TRAP(P)
Llamada a
P(a,b,c)
Código para
la llamada
P
PROCEDIMIENTO RETURN FROM TRAP(P)
DE RESPUESTA
A LA LLAMADA P
OK/ERROR
PROGRAMA
DE USUARIO
REGISTRO DE
ESTADO
SISTEMA
OPERATIVO
CONTROL
DATOS
A.Ortigosa
Tema 2
50
25
Estructura del sistema
  Se puede contemplar el sistema como una serie
de niveles.
  Cada nivel lleva a cabo un determinado
subconjunto de funciones.
  Cada nivel se basa en el nivel inferior para llevar
a cabo funciones más primitivas.
  De este modo, se descompone un problema en
un número de subproblemas más manejables.
A.Ortigosa
Tema 2
51
Sistemas Monolíticos
  Estructura (o falta de ella) más común (MS-DOS,
UNIX)
  SO es un conjunto de procedimientos que pueden
llamarse mutuamente.
  Compilación individual/enlace en un único objeto.
  No hay modos usuario/núcleo (el hardware no lo
permite)
  PROBLEMAS: No hay ocultación de datos, difícil
de modificar y depurar.
A.Ortigosa
Tema 2
52
26
MS-DOS
MS-DOS nació con limitaciones de espacio (memoria), tiempo de
desarrollo y hardware (8088 no tenía modo usuario/núcleo ni
protección de memoria).
Consecuencia: INESTABILIDAD (corrupción de procesos y
dispositivos)
Aplicaciones de usuario
SO residente (Shell + núcleo)
drivers MS-DOS
BIOS (ROM)
Dispositivos
A.Ortigosa
Tema 2
53
UNIX (Original)
Aplicaciones de usuario
Intérprete de comandos (shell)
compiladores y bibliotecas del sistema
Interfaz entre el shell y el núcleo (kernel)
Manejo de señales
Sistema de E/S
Drivers terminal
Sistema de ficheros
Swapping
Drivers del disco
Asignación de CPU
Paginación
Memoria Virtual
SO
Interfaz entre el kernel y el hardware
Controlador de
terminal
Terminales
A.Ortigosa
Controlador de
dispositivos
Unidad de disco
Tema 2
Controlador de
memoria
Memoria física
54
27
Sistemas por capas
Ejemplo, THE (1968)
5. Programas de Usuario
4. Control de E/S
3. Comunicación Operador-proceso
2. Administrador de memoria y disco
Controlador de terminal, discos y cintas, memoria
1. Temporización
de procesos
multiprogramación
terminal, discos
y cintas,ymemoria
física
0. Dispositivos
Problema: distribución de tareas en capas, baja eficiencia
Solución: arquitecturas mixtas (OS/2, NT 4.0)
A.Ortigosa
Tema 2
55
Máquinas Virtuales
Extensión del sistema por capas, donde cada proceso tiene la ilusión de estar
ejecutándose en un sistema monoprogramado. Ej: IBM VM. La ilusión
se consigue mendiante planificación de CPU y de memoria virtual
Proceso
Núcleo
Proceso
Núcleo
Proceso
Núcleo
Máquina Virtual
- La Máquina virtual
proporciona copias
exactas del hardware
subyacente
Hardware
A.Ortigosa
Tema 2
56
28
Máquinas Virtuales
  Ventajas de esta filosofía:
 
 
El SO (virtual) no tiene problemas de seguridad y
protección de recursos compartidos (memoria, disco,
periféricos), ya que se ejecuta sobre una máquina
(virtual) monoprogramada.
Co-existencia de distintos SSOO sobre un mismo
hardware (ej. PowerPC incluye una máquina virtual
(emulador) del Motorola 68000 para permitir correr
ejecutables compilados para el M68000)
  Inconvenientes:
 
Perdida de eficiencia en las “traducciones”
  Ejemplo: JAVA Virtual Machine (JVM)
A.Ortigosa
Tema 2
57
Modelo Cliente/Servidor
  Simplificación del núcleo, al mover el código
correspondiente a varias funciones a capas superiores.
  Acceso a servicio mediante mensajes desde los procesos de
usuario (clientes) a los procesos que controlan los distintos
servicios (servidores) que se ejecutan en modo usuario
  El núcleo se limita a encauzar los mensajes
Proceso Proceso Servidor Servidor Servidor
Cliente Cliente
de
de
de
Procesos Memoria Archivos
...
Servidor
de
E/S
Núcleo
A.Ortigosa
Tema 2
Mensaje
58
29
Modelo Cliente/Servidor
  Facilidad de mantenimiento, debido a la modularización de
los servicios.
  Robustez, al ejecutarse los procesos de servicio en modo
usuario: un servicio puede dejar de funcionar sin que todo el
sistema tenga que interrumpir
  Extensión natural del modelo a sistemas distribuidos
Proceso
Cliente
Servidor
Procesos
Servidor
Archivos
Servidor
Memoria
Núcleo
Núcleo
Núcleo
Núcleo
Red
Mensaje
A.Ortigosa
Tema 2
59
Jerarquía de diseño de un S.O.
Nivel
13
Nombre
Shell
12
Procesos de usuario
Objetos
Entorno de programación
de usuario
Procesos de usuario
11
Directorios
Directorios
10
Dispositivos
9
Sistema de archivos
8
Comunicaciones
Dispositvos externos como Abrir, cerrar, leer, escribir
impresoras, pantallas y
teclados
Archivos
Crear, destruir, abrir, cerrar, leer,
escribir
Tubos (pipes)
Crear, destruir, abrir, cerrar, leer,
escribir
A.Ortigosa
Tema 2
Ejemplos de operaciones
Sentencias de un lenguaje
de shell
Salir, eliminar, suspender,
reanudar
Crear, destruir, conectar,
desconectar, buscar, listar
60
30
Jerarquía de diseño de un S.O.
Nivel
Nombre
Objetos
Ejemplos de operaciones
7
Memoria virtual
Segmentos, páginas
Leer, escribir, traer (fetch)
6
Almacenamiento
Bloques de datos,
Leer, escribir, asignar, liberar
secundario local
canales de dispositivos
Procesos primitivos
Procesos primitivos,
semáforos, colas de
procesos listos
5
A.Ortigosa
Suspender, reanudar, esperar,
señalizar
Tema 2
61
Jerarquía de diseño de un S.O.
Nivel
Nombre
Objetos
Ejemplos de operaciones
4
Interrupciones
Programas de tratamiento
de interrupciones
Invocar, enmascarar,
desenmascarar, reintentar
3
Procedimientos
Procedimientos, pila de
llamadas, visualización
Marcar la pila, llamar,
retornar
2
Conjunto de
Evaluación de la pila,
Cargar, almacenar, sumar,
instrucciones
intérprete de microprogramas,
restar, bifurcar
vectores de datos y escalares
1
A.Ortigosa
Circuitos
electrónicos
Registros, puertas, buses, etc.
Tema 2
Borrar, transferir, activar,
complementar
62
31
Características de los sistemas
operativos modernos
  Arquitectura micronúcleo:
 
Asigna solamente una pocas funciones
esenciales al núcleo.
  Espacios
de direcciones.
  Comunicación entre procesos (IPC).
  Planificación básica.
A.Ortigosa
Tema 2
63
Características de los sistemas
operativos modernos
  Multihilos:
 
El proceso se divide en hilos que pueden
ejecutarse concurrentemente.
  Hilo:
 
 
Unidad de trabajo que se puede expedir para su
ejecución.
Se ejecuta secuencialmente y es interrumpible.
  Proceso:
 
A.Ortigosa
Un conjunto de uno o más hilos.
Tema 2
64
32
Características de los sistemas
operativos modernos
  Multiproceso simétrico (SMP):
 
 
 
A.Ortigosa
Existencia de múltiples procesadores.
Estos procesadores comparten la misma
memoria principal y dispositivos de E/S.
Todos los procesadores pueden ejecutar las
mismas funciones.
Tema 2
65
Características de los sistemas
operativos modernos
  Sistema operativo distribuido:
 
 
A.Ortigosa
Proporciona la ilusión de un único espacio
de memoria principal y un único espacio de
memoria secundaria.
Utilizado para el sistema de archivos
distribuido.
Tema 2
66
33
Características de los sistemas
operativos modernos
  Diseño orientado a objetos:
 
 
A.Ortigosa
Añade extensiones modulares a un pequeño
núcleo.
Permite a los programadores personalizar
un sistema operativo sin romper la
integridad del sistema.
Tema 2
67
UNIX
  Hardware rodeado del sistema operativo
  SO llamado núcleo del sistema o kernel
  Equipado con servicios de usuario e
interfaces
 
 
A.Ortigosa
Intérprete de comandos (shell)
Compilador de C
Tema 2
68
34
UNIX
Bibliotecas
y órdenes (comandos) UNIX
Interfaz de llamadas al sistema
Núcleo
Hardware
Aplicaciones escritas por el
usuario
Figura 2.15. Arquitectura general de UNIX
A.Ortigosa
Tema 2
69
Sistemas UNIX modernos
  System V Release 4 (SVR4)
  Solaris 9.x
  4.4BSD
  Linux
  MacOS X
A.Ortigosa
Tema 2
70
35
Para la próxima clase
  Stallings: 3.1, 3.2, 3.3
A.Ortigosa
Tema 2
71
36
Descargar