introducción a los sistemas operativosarantxa.ii.uam.es/~so1/transpas/02-introssoo.6pp.pdf1 tema 2...

12
1 Tema 2 1 Tema 2 Introducción a los Sistemas Operativos A.Ortigosa Tema 2 2 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 3 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 4 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: Permite el desarrollo efectivo, la verificación y la introducción de nuevas funciones en el sistema sin interferir en los servicios. Modularidad A.Ortigosa Tema 2 5 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 6 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.

Upload: nguyennguyet

Post on 20-Oct-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

1

Tema 2 1

Tema 2

Introducción a los Sistemas Operativos

A.Ortigosa Tema 2 2

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 3

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 4

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:

  Permite el desarrollo efectivo, la verificación y la introducción de nuevas funciones en el sistema sin interferir en los servicios.

Modularidad

A.Ortigosa Tema 2 5

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 6

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.

2

Tema 2 7

Introducción a los Sistemas Operativos

Sistema informático

Memoria

Programas y datos

Software del sistema operativo

Procesador Procesador

Controlador de E/S

Controlador de E/S

Controlador de E/S

Dispositivos de E/S Impresoras, teclados, cámaras digitales,etc.

Almacenamiento

Datos Programas

SO

A.Ortigosa Tema 2 8

Niveles de un sistema informático

Usuario final

Progra-mador

Programas de aplicación

Utilidades

Hardware del computador

Sistema operativo

Figura 2.1. Niveles y vistas de un sistema informático.

Diseñador del sistema operativo

A.Ortigosa Tema 2 9

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 10

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 11

Servicios que ofrece el sistema operativo (III)

 Contabilidad:   Recoger estadísticas.   Supervisar su rendimiento.   Utilizado para los usuarios con cuotas.

A.Ortigosa Tema 2 12

Evolución de un sistema operativo

 Actualizaciones del hardware y nuevos tipos de hardware.

 Nuevos servicios.  Correcciones.

3

A.Ortigosa Tema 2 13

- 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

1981 2007 factor CPU (MHz) 10 3 000 30 0 RAM 128 Kb 4 Gb 32 000 Disco 10 Mb 500 Gb 50 000 Red (Bwth) 9600 b/s 155 Mb/s 15000 # bits direcc. 16 64 4 # usuarios/máquina Decenas 1 0.1 Precio 5M 0.002 M 0.0 00 4

Evolución del Hardware

A.Ortigosa Tema 2 14

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:   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.

A.Ortigosa Tema 2 15 A.Ortigosa Tema 2 16

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 17

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 18

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

4

A.Ortigosa Tema 2 19

Ejemplo (JCL)

$ USER $ JOB $ FTN - - - $ LOAD $ RUN - - - $ END

}

}

Instrucciones en Fortran

Datos

A.Ortigosa Tema 2 20

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 21

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 22

Debugging

A.Ortigosa Tema 2 23

Monoprogramación

 Antes de continuar, el procesador debe esperar hasta que la instrucción de E/S termine.

Programa A Esperar Ejecutar Esperar

(a) Monoprogramación Tiempo

Ejecutar

A.Ortigosa Tema 2 24

Multiprogramación

 Cuando un trabajo necesite esperar una E/S, el procesador puede cambiar al otro trabajo.

Ejecutar B

Ejecutar Ejecutar

Ejecutar B

Esperar Esperar

Esperar

Programa A

Esperar Esperar

Esperar Esperar Programa B

Combinados

Ejecutar Ejecutar

Ejecutar A Ejecutar A

Tiempo

(b) Multiprogramación con dos programas

5

A.Ortigosa Tema 2 25

Multiprogramación

Esperar

Esperar

Esperar

Esperar

Programa B

Programa A Ejec.

Programa C

Combinados

Esperar

Esperar Esperar

Esperar Esperar

Ejec.

Tiempo

(c) Multiprogramación con tres programas

Ejec

Ejec.

Ejec

Ejec.

Ejec.

A

Ejec.

B Ejec.

C. Ejec.

C. Ejec.

B

Ejec.

A Esperar

A.Ortigosa Tema 2 26

MEMORIA Proceso 1 CP = CP1 RA = RA1

… RZ = RZ1

Comienzo Pila = Pi1 Profundidad Pila= Ph1

Contador de Programa (CP) Acumulador (AC) Registro A (RA)

... Registro Z (RZ)

Pila (P)

Proceso 2 CP = CP2 RA = RA2

… RZ = RZ2

Comienzo Pila = Pi2 Profundidad Pila= Ph2

Proceso 1

Proceso 2

Proceso 3

Proceso m

Sistema Operativo

(...)

CPU

Requisitos (I): Cambio de Contexto

A.Ortigosa Tema 2 27

Programa 3 Programa 4 Programa 5

Programa n

DISCO MEMORIA

2

Programa 1 Programa 2

(...)

1 CPU Proceso 1

Proceso 2

Proceso 3

Proceso m

Sistema Operativo

(...)

Requisitos (II): Intercambio

A.Ortigosa Tema 2 28

TRABAJO 1

TRABAJO 2 (TRABAJO 2)

Libre Libre Libre

(TRABAJO 2) (TRABAJO 2)

(TRABAJO 1)

TRABAJO 4

TRABAJO 1

Libre Libre Libre

TRABAJO 3

Figura 2.7. Operación CTSS (Sistema Compatible de Tiempo Compartido).

TRABAJO 2

Ejemplo: CTSS (MIT) - 1961

A.Ortigosa Tema 2 29

Ejemplo

TRABAJO1 TRABAJO2 TRABAJO3

Tipo de trabajo Cálculo intensivo E/S intensiva 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

¿Necesita impresora? No No Sí

A.Ortigosa Tema 2 30

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 12 trabajos/hora

Tiempo medio de respuesta 18 min. 10 min.

6

A.Ortigosa Tema 2 31

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 32

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

Multiprogramación por lotes frente a tiempo compartido

A.Ortigosa Tema 2 33

¡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 34

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 35

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 36

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   Dependencia mutua

7

A.Ortigosa Tema 2 37

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 38

Proceso Memoria principal

Lista de procesos

Proceso A

Proceso B

Registros del procesador Índice de proceso

PC

Base Límite

Otros registros

Contexto

Datos

Programa (código)

Contexto

Datos

Programa (código)

Figura 2.8. Implementación típica de los procesos.

A.Ortigosa Tema 2 39

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 40

Sistema de archivos

  Incorpora un almacenamiento a largo plazo.  La información se almacena en unos objetos

denominados archivos.

A.Ortigosa Tema 2 41

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 42

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.

8

A.Ortigosa Tema 2 43

Disco Memoria principal

Figura 2.9. Conceptos de memoria virtual.

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.

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.

Programa de usuario

A

Programa de usuario

B

A.Ortigosa Tema 2 44

Direccionamiento de la memoria virtual

Dirección de disco

Dirección real

Dirección de disco

Dirección virtual

Unidad de gestión de memoria

Memoria secundaria

Procesador

Memoria principal

Figura 2.10. Direccionamiento de la memoria virtual.

A.Ortigosa Tema 2 45

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 46

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:   Maximiza la productividad, minimiza el

tiempo de respuesta y aloja a tantos usuarios como sea posible.

A.Ortigosa Tema 2 47

Elementos principales de un sistema operativo

Sistema operativo

Cola a corto plazo

Cola de E/S

Cola a largo plazo

Planificador a corto plazo

(código)

Gestor de interrupciones

(código)

Gestor de peticiones de

servicio (código)

Interrupción de un proceso

Interrupción de E/S

Petición de servicio de un

proceso

Pasar el control al proceso

Figura 2.11. Elementos clave para la multiprogramación de un sistema operativo.

A.Ortigosa Tema 2 48

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.

9

A.Ortigosa Tema 2 49

Llamadas al sistema … read(); …

read() { … trap N_SYS_READ() … }

sys_read()

sys_read() { /* system function */ … return; }

Modo Núcleo Trap Table

/*Función resguardo*/

Modo Usuario

A.Ortigosa Tema 2 50

Llamadas al sistema

Llamada a P(a,b,c)

(a,b,c)

OK/ERROR

TRAP(P)

PROGRAMA DE USUARIO

PROCEDIMIENTO DE RESPUESTA

A LA LLAMADA P

RETURN FROM TRAP(P)

SISTEMA OPERATIVO

CONTROL DATOS

REGISTRO DE ESTADO

REGISTRO(S)

Código para la llamada

P

A.Ortigosa Tema 2 51

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 52

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 53

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)

MS-DOS

Dispositivos

Aplicaciones de usuario

SO residente (Shell + núcleo)

drivers MS-DOS

BIOS (ROM)

A.Ortigosa Tema 2 54

Aplicaciones de usuario

Interfaz entre el shell y el núcleo (kernel)

Interfaz entre el kernel y el hardware

Intérprete de comandos (shell) compiladores y bibliotecas del sistema

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

Controlador de terminal

Terminales

Controlador de dispositivos

Unidad de disco

Controlador de memoria

Memoria física

SO

UNIX (Original)

10

A.Ortigosa Tema 2 55

Ejemplo, THE (1968)

Controlador de terminal, discos y cintas, memoria

terminal, discos y cintas, memoria física

5. Programas de Usuario

4. Control de E/S

3. Comunicación Operador-proceso

2. Administrador de memoria y disco

1. Temporización de procesos y multiprogramación

0. Dispositivos

Problema: distribución de tareas en capas, baja eficiencia Solución: arquitecturas mixtas (OS/2, NT 4.0)

Sistemas por capas

A.Ortigosa Tema 2 56

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

Hardware

Máquina Virtual

Núcleo Núcleo Núcleo

Proceso Proceso Proceso

- La Máquina virtual proporciona copias exactas del hardware subyacente

Máquinas Virtuales

A.Ortigosa Tema 2 57

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 58

Modelo Cliente/Servidor

Núcleo

Proceso Cliente

Proceso Cliente

Servidor de

Procesos

Servidor de

Memoria

Servidor de

Archivos

Servidor de

E/S ...

Mensaje

  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

A.Ortigosa Tema 2 59

Modelo Cliente/Servidor

Núcleo Núcleo Núcleo Núcleo

Proceso Cliente

Servidor Procesos

Servidor Archivos

Servidor Memoria

Red Mensaje

  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

A.Ortigosa Tema 2 60

Jerarquía de diseño de un S.O.

Nivel Nombre Objetos Ejemplos de operaciones 13 Shell Entorno de programación Sentencias de un lenguaje

de usuario de shell 12 Procesos de usuario Procesos de usuario Salir, eliminar, suspender,

reanudar 11 Directorios Directorios Crear, destruir, conectar,

desconectar, buscar, listar 10 Dispositivos Dispositvos externos como Abrir, cerrar, leer, escribir

impresoras, pantallas y teclados

9 Sistema de archivos Archivos Crear, destruir, abrir, cerrar, leer, escribir

8 Comunicaciones Tubos (pipes) Crear, destruir, abrir, cerrar, leer, escribir

11

A.Ortigosa Tema 2 61

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

5 Procesos primitivos Procesos primitivos, Suspender, reanudar, esperar, semáforos, colas de señalizar procesos listos

A.Ortigosa Tema 2 62

Jerarquía de diseño de un S.O.

Nivel Nombre Objetos Ejemplos de operaciones

4 Interrupciones Programas de tratamiento Invocar, enmascarar, de interrupciones desenmascarar, reintentar

3 Procedimientos Procedimientos, pila de Marcar la pila, llamar,

llamadas, visualización 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 Circuitos Registros, puertas, buses, etc. Borrar, transferir, activar, electrónicos complementar

A.Ortigosa Tema 2 63

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 64

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:   Un conjunto de uno o más hilos.

A.Ortigosa Tema 2 65

Características de los sistemas operativos modernos

 Multiproceso simétrico (SMP):   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.

A.Ortigosa Tema 2 66

Características de los sistemas operativos modernos

 Sistema operativo distribuido:   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.

12

A.Ortigosa Tema 2 67

Características de los sistemas operativos modernos

 Diseño orientado a objetos:   Añade extensiones modulares a un pequeño

núcleo.   Permite a los programadores personalizar

un sistema operativo sin romper la integridad del sistema.

A.Ortigosa Tema 2 68

UNIX

 Hardware rodeado del sistema operativo  SO llamado núcleo del sistema o kernel  Equipado con servicios de usuario e

interfaces   Intérprete de comandos (shell)   Compilador de C

A.Ortigosa Tema 2 69

UNIX

y órdenes (comandos) UNIX Bibliotecas

Núcleo

Aplicaciones escritas por el usuario

Interfaz de llama- das al sistema

Hardware

Figura 2.15. Arquitectura general de UNIX A.Ortigosa Tema 2 70

Sistemas UNIX modernos

 System V Release 4 (SVR4)  Solaris 9.x  4.4BSD  Linux  MacOS X

A.Ortigosa Tema 2 71

Para la próxima clase

 Stallings: 3.1, 3.2, 3.3