1 2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan...

43
1 2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy Sistemas Operativos I Sistemas Operativos I Introducción a los Sistemas Operativos

Transcript of 1 2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan...

Page 1: 1  2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy Sistemas Operativos I Introducción a los.

1 2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy

Sistemas Operativos ISistemas Operativos I

Introducción a los

Sistemas Operativos

Page 2: 1  2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy Sistemas Operativos I Introducción a los.

2 2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy

ContenidosContenidos

1. Fundamentación de la necesidad de un Sistema Operativo (SO).

2. Historia de los SO.3. Familias de SO:

1. Unix.2. BSD. 3. NT. 4. BeOS. 5. Mac. 6. VMX. 7. IBM. 8. PalmOS. 9. Symbian.10. QNX.

4. Redes y la necesidad de resolver el problema distribuidamente:

1. Modelo DoD.

Page 3: 1  2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy Sistemas Operativos I Introducción a los.

3 2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy

IntroducciónIntroducción

Un computador está integrado por:• Hardware• Programas del sistema y• Aplicaciones.

Page 4: 1  2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy Sistemas Operativos I Introducción a los.

4 2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy

¿Qué es un Sistema Operativo?¿Qué es un Sistema Operativo?

• Máquina extendida (ó máquina virtual)– Oculta los detalles acerca de cómo se realizan las

acciones.– Presenta al usuario una máquina virtual, mas

simple de utilizar.

• Controlador de recursos– Cada programa obtiene tiempo para emplear

cada recurso.– Cada programa obtiene espacio de los recursos.

Page 5: 1  2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy Sistemas Operativos I Introducción a los.

5 2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy

Generaciones de Generaciones de computadorascomputadoras• Primera generación: 1945 - 1955

– Válvulas al vacío, conexiones semejantes a pizarras

• Segunda generación: 1955 - 1965– transistores, sistemas de procesamiento por lotes– mainframes

• Tercera generación 1965 – 1980– Circuitos Integrados (ICs) y multiprogramación– mainframes y minicomputers

• Cuarta generación 1980 – presente– Computadores personales, dispositivos móviles,

computadores embebidos.– mainframes, minicomputers y microprocessors

Page 6: 1  2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy Sistemas Operativos I Introducción a los.

6 2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy

Historia de los SOHistoria de los SO

Los computadores a transistores de la segunda generación, 1955 a 1965, comienzan a utilizar sistemas de procesamiento por lotes (batch processing systems):

(a) Los programadores llevan las tarjetas perforadas a un IBM 1401(b) 1401 lee los datos y los coloca en bandas magnéticas(c) El operador lleva la cinta a la IBM 7094(d) 7094 lee la cinta de entrada, realiza los cálculos y coloca los resultados en la cinta de salida(e) El operador lleva la cinta de resultados a la 1401(f) 1401 imprime los resultados para su entrega a los programadores.

Page 7: 1  2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy Sistemas Operativos I Introducción a los.

7 2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy

Historia …(2)Historia …(2)

• Se crea el concepto de trabajo (job), una estructura lógica relacionada con la organización del empleo del computador:

Estructura de un job en Fortran Monitor System - FMS

Page 8: 1  2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy Sistemas Operativos I Introducción a los.

8 2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy

Historia …(3)Historia …(3)

• Con la tercera generación, 1965 a 1980, aparecen los Circuitos Integrados y la Multiprogramación:

Sistema de multiprogramación con tres trabajos (jobs) en memoria.

Page 9: 1  2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy Sistemas Operativos I Introducción a los.

9 2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy

Componentes de un PCComponentes de un PC

Un computador personal simple de cuarta generación está integrado por:a) Unidad Central de Procesos (CPU),b) Memoria,c) Controlador de vídeo,d) Controlador de teclado,e) Controladores de unidades de discos,f) Controladores para otros dispositivos, yg) Bus para direcciones, datos y control.

Monitor

Bus

Page 10: 1  2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy Sistemas Operativos I Introducción a los.

10 2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy

Proceso de una instrucciónProceso de una instrucción

Se muestra el proceso en:(a) Pipeline en tres etapas(b) CPU superscalar

Page 11: 1  2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy Sistemas Operativos I Introducción a los.

11 2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy

Jerarquía típica de la memoriaJerarquía típica de la memoria

• Registros• Cache• Memoria principal• Disco• Cinta

Page 12: 1  2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy Sistemas Operativos I Introducción a los.

12 2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy

Estructura de una unidad de Estructura de una unidad de discodisco

• Cabezas de lectura / escritura• Brazo • Superficies

Page 13: 1  2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy Sistemas Operativos I Introducción a los.

13 2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy

MemoriaMemoria

Ubicación de un proceso con:• Una dirección base límite• Dos direcciones base límites

Page 14: 1  2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy Sistemas Operativos I Introducción a los.

14 2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy

Mecanismo de InterrupciónMecanismo de Interrupción

(a) Pasos para iniciar un dispositivo de E/S y obtener interrupciones desde el mismo.

(b) Como se interrumpe a la CPU.

(a) (b)

Page 15: 1  2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy Sistemas Operativos I Introducción a los.

15 2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy

Estructura de un PentiumEstructura de un Pentium

Structure of a large Pentium system

Page 16: 1  2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy Sistemas Operativos I Introducción a los.

16 2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy

Conceptos de los SOConceptos de los SO

• Llamadas al sistema (system calls): Constituyen la interfaz entre el SO y los programas. Se define como el conjunto de “instrucciones ampliadas” que crean, eliminan y utilizan varios objetos del software controlados por el sistema operativo.

• Proceso (process): Concepto central. Esencialmente es un programa en ejecución: código ejecutable, datos y pila, contador de programa y otros registros, así como cualquier otra información necesaria para ejecutar el programa.

• Tabla de Procesos: Arreglo (ó lista) de estructuras que contiene una entrada por cada proceso existente en un momento dado.

Page 17: 1  2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy Sistemas Operativos I Introducción a los.

17 2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy

Conceptos …(2)Conceptos …(2)

• Árbol de procesos (process tree): Un proceso puede crear uno ó mas procesos hijos, los cuales pueden, a su vez, crear sus propios procesos hijos, de donde se obtiene una estructura de árbol:

El proceso A creó dos hijos: B y C.Por su parte, el proceso B creó a los procesos hijos D, E y F.

Page 18: 1  2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy Sistemas Operativos I Introducción a los.

18 2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy

Conceptos … (3)Conceptos … (3)

• Intérprete de comandos (shell): Proceso que lee comandos de un terminal y ejecuta las necesarias llamadas al sistema para cumplir la tarea solicitada.

• Mensaje (Message): Manera en que se comunican los procesos.

• Señal (signal): Tipo de mensaje que envía el SO a los procesos para indicar eventos.

• Identificación del Usuario (uid): Indica cual usuario está ejecutando cada proceso. Es fundamental en sistemas multiusuarios.

• Identificación de Grupos (gid): Los usuarios se organizan en grupos: equipos de proyecto, departamento, etc; ó según su rol en la organización: estudiante, administrativo, profesor, etc. Conjuntamente con el uid, el gid ayuda a la protección de la información contenida en el computador.

Page 19: 1  2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy Sistemas Operativos I Introducción a los.

19 2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy

ArchivosArchivos

• Categoría muy importante. • Oculta las especificidades y detalles asociados con

el manejo de los discos y demás dispositivos de Entrada / Salida.

• Presenta un modelo agradable y transparente, fácilmente comprensible, que es independiente de los dispositivos.

• Es muy común el concepto de Directorio (Carpeta, Folder) como manera de agrupar los archivos.

• Los datos de un directorio pueden ser archivos u otros directorios, por lo que se puede crear una jerarquía:

Page 20: 1  2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy Sistemas Operativos I Introducción a los.

20 2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy

Jerarquía de un sistema de Jerarquía de un sistema de archivosarchivos

Page 21: 1  2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy Sistemas Operativos I Introducción a los.

21 2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy

Acceso a los archivosAcceso a los archivos

• Cada archivo de la jerarquía está identificado de manera única mediante el nombre de la ruta de acceso, que es el camino que debe recorrerse para llegar hasta dicho archivo partiendo desde la parte superior de la jerarquía, el directorio raíz (root).

• Ejemplos:– Windows: C:\AppServ\www\index.html– UNIX like: /var/www/html/index.html

• En cada momento, para cada proceso, los sitemas UNIX like tienen activo un directorio de trabajo en el que se buscan aquellos nombres de ruta de acceso que no comiencen con /

Page 22: 1  2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy Sistemas Operativos I Introducción a los.

22 2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy

Montaje de dispositivosMontaje de dispositivos

a) Antes del montaje, los archivos en la unidad de discos flexibles están inaccesibles.

b) Después de montada la unidad de disquetes como b, los archivos del disco flexible especificado forman parte de la jerarquía del sistema de archivos.

Page 23: 1  2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy Sistemas Operativos I Introducción a los.

23 2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy

Protección de la privacidad de Protección de la privacidad de los archivoslos archivos• Si varios usuarios tienen acceso a la misma

computadora, es importante tener medios para proteger la privacidad de los directorios y archivos individuales.

• También deberá contarse con medios para proteger contra escritura ó ejecución indebida algunos archivos que cumplen funciones necesarias a la integridad y disponibilidad del computador.

• Comúnmente se emplean indicadores, conocidos como bits rwx (Read, Write, eXecute), que indican quienes pueden leer, escribir ó ejecutar un determinado archivo. Los sistemas UNIX like, utilizan 9 bits correspondientes a las categorías propietario, miembros del grupo y restantes usuarios. Como ejemplo: el valor rwxr-x--x indica que el grupo puede leer y ejecutar el archivo correspondiente, mientras que los restantes usuarios sólo pueden ejecutarlo.

Page 24: 1  2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy Sistemas Operativos I Introducción a los.

24 2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy

Acceso a los archivosAcceso a los archivos

• Antes de leer ó escribir archivos, se necesita abrirles (open).

• En este momento, el SO valida los permisos correspondientes.

• Si se permite el acceso, se devuelve un descriptor de archivo (handler) para usarlo en las siguientes operaciones.

• Si se prohíbe el acceso, se devuelve un código de error.

Page 25: 1  2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy Sistemas Operativos I Introducción a los.

25 2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy

Archivos especialesArchivos especiales

• Abstracciones mediante las cuales los usuarios realizan operaciones de entrada / salida sin tener en cuenta detalles del hardware.

• Cada dispositivo físico de E/S se representa como un archivo especial, que permite leer ó escribir sobre el dispositivo y que el mismo se vea como un archivo.

• Existen varios tipos de archivos especiales:– de bloques: Usados para modelar dispositivos que

constan de conjuntos de bloques con direccionamiento aleatorio, como los discos.

– de red: Modelan dispositivos que constan de flujos de caracteres, en lugar de bloques de tamaño fijo.

– de carácter: Corresponden a dispositivos orientados al trabajo con caracteres individuales, tales como terminales (teclado y pantalla), impresoras e interfaces de red.

Page 26: 1  2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy Sistemas Operativos I Introducción a los.

26 2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy

Entrada y Salida estándarEntrada y Salida estándar

• Existen dos archivos especiales de carácter conocidos como– Entrada estándar (STDIN) y– Salida estándar (STDOUT)

asociados con la terminal colocada como consola del operador.

• Típicamente, al iniciar un proceso, STDIN se asocia con el descriptor de archivo 0, mientras que STDOUT se refiere al descriptor de archivo 1.

• Los SO UNIX – like definen también un archivo especial asociado a la salida estándar de errores, STDERR, que comúnmente se asocia con el descriptor de archivo 2. Este archivo también se visualiza por la terminal de consola.

Page 27: 1  2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy Sistemas Operativos I Introducción a los.

27 2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy

Tubos (Tubos (PipesPipes))

• Un tubo es una especie de seudo archivo que se puede utilizar para conectar dos procesos, de manera que la salida del primer proceso constituye la entrada al segundo proceso.

• Cuando el proceso A desea enviar datos al proceso B, escribe en el tubo como si fuera un archivo de salida.

• Cuando el proceso B necesita leer datos enviados por A, los leerá desde el tubo, como si fuera desde un archivo previamente grabado por A.

Page 28: 1  2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy Sistemas Operativos I Introducción a los.

28 2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy

Pasos de una llamada al Pasos de una llamada al sistemasistemaHay 11 pasos enread (fd, buffer, nbytes):1. Guardar nbytes en la pila2. Guardar dirección del

buffer en la pila3. Guardar handler del

archivo en la pila4. Llamada al procedimiento

de servicio read5. Poner código en registro6. Llamada al despachador7. Activación del acceso8. Llamada a la función

READ del sistema9. Lectura 10. Retorno al usuario11. Colocar el puntero de la

pila en el lugar apropiado.

Page 29: 1  2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy Sistemas Operativos I Introducción a los.

29 2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy

Algunas llamadas al sistema Algunas llamadas al sistema para manejo de procesospara manejo de procesos

Llamada Descripción

pid = fork() Crea un proceso hijo idéntico al padre.

pid = waitpid(pid, &statloc, options) Espera por que un proceso hijo termine.

s = execve(nombre, argv, environp) Reemplaza la imagen en memoria de un proceso.

exit(status) Termina de ejecutar un proceso y devuelve su estado.

Page 30: 1  2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy Sistemas Operativos I Introducción a los.

30 2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy

Algunas llamadas al sistema Algunas llamadas al sistema para manejo de archivos para manejo de archivos

Llamada Descripción

fd = open(nombre_archivo, como, …)

Abre el archivo nombre_archivo de acuerdo a lo indicado en como (lectura, escritura ó ambas) con las indicaciones que siguen…

s = close(fd) Cierra el archivo abierto cuyo handler es fd.

n = write(fd, buffer, nbytes) Escribe nbytes ubicados en buffer al archivo fd.

Page 31: 1  2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy Sistemas Operativos I Introducción a los.

31 2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy

Llamadas de directorioLlamadas de directorio

mkdir: para crear un nuevo directorio. rmdir: para eliminar un directorio vacío. link: para enlazar directorios. Permite que un nuevo nombre identifique y apunte a otro directorio. unlink: Elimina un enlace de entrada de directorio. mount: Permite montar un nuevo sistema de archivos. umount: Permite desmontar un sistema de archivos previamente montado.

Page 32: 1  2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy Sistemas Operativos I Introducción a los.

32 2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy

Llamadas para otras tareasLlamadas para otras tareas

• chdir (cd): cambiar directorio de trabajo.• chmod (attrib): cambiar los bits rwx de

protección de un archivo• kill: envío de una señal a un proceso.• time: obtención del tiempo

Page 33: 1  2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy Sistemas Operativos I Introducción a los.

33 2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy

Boceto de un Boceto de un shellshell

while (TRUE) { /* repetir infinitamente */ type_prompt( ); /* mostrar el “prompt” */ /* Leer entrada desde la terminal */ read_command (command, parameters)

/* Código de chequeo del padre: */ if (fork() != 0) { /* ¿Está activo proceso hijo? */ waitpid( -1, &status, 0); /* Esperar porque termine el hijo

*/ } else { /* Si el hijo no está activo, ejecutar comando */ execve (command, parameters, 0); }}

Page 34: 1  2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy Sistemas Operativos I Introducción a los.

34 2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy

SO MonolíticoSO Monolítico

• La estructura monolítica de SO es la mas común. • En ella, el SO es una colección de procedimientos, cada uno

de los cuales puede llamar a los demás cada vez que lo requiera.

• Cada procedimiento tiene una interfaz bien definida en términos de parámetros para llamada y de resultados.

• No se oculta información, ya que cada procedimiento es visible para todos los demás.

Page 35: 1  2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy Sistemas Operativos I Introducción a los.

35 2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy

SO Monolítico (2)SO Monolítico (2)

• Los servicios (llamadas al sistema) se solicitan colocando los parámetros en la pila (stack) para después ejecutar una instrucción especial de trampa denominada llamada al núcleo ó llamada al supervisor.

• Esta instrucción cambia la máquina del modo usuario al modo núcleo (ó modo supervisor), y transfiere el control al SO.

• El SO examina los parámetros de la llamada, identifica al procedimiento de servicio y le entrega el control.

• Al terminar la ejecución de la llamada, el control regresa al programa del usuario.

Distribución de la memoria asignada a un proceso: área del código, datos, pila y espacio intermedio entre ambos.

Page 36: 1  2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy Sistemas Operativos I Introducción a los.

36 2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy

Sistemas con capasSistemas con capas

• Generalizan el punto de vista anterior.• El SO se organiza como una jerarquía de

capas, cada una construida sobre la inmediata inferior.

• Ejemplo:Capa 0: Asignación del procesador y multiprogramación.Capa 1: Administración de la memoria y del disco.Capa 2: Comunicación operador – proceso.Capa 3: Control de entrada / salida.Capa 4: Programas del usuario (aplicaciones).Capa 5: El operador del sistema.

Page 37: 1  2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy Sistemas Operativos I Introducción a los.

37 2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy

Máquinas VirtualesMáquinas Virtuales

• Un monitor de máquina virtual se ejecuta en el hardware simple y realiza la multiprogramación, proporcionando varias máquinas virtuales a la siguiente capa superior.

• Las máquinas virtuales NO son máquinas extendidas, con archivos u otras características. Son copias exactas del hardware simple, con sus modos núcleo/usuario, E/S, interrupciones y demás elementos de la máquina real.

• Cada máquina virtual puede ejecutar un SO diferente que sea ejecutable en el hardware.

Estructura de VM/370 con CMS

Page 38: 1  2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy Sistemas Operativos I Introducción a los.

38 2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy

Modelo Cliente - ServidorModelo Cliente - Servidor

• Una tendencia de los SO modernos es explotar la idea de mover el código a capas superiores para mantener un núcleo mínimo, implantando la mayoría de las funciones del SO en los procesos del usuario.

• Para solicitar un servicio, un proceso del usuario denominado proceso cliente envía la solicitud a un proceso servidor, quien realiza el trabajo y envía la respuesta.

• Al separa un SO en partes, cada una de ellas controla sólo algunos elementos, como el servicio a archivos, a procesos, a terminales ó de la memoria; por lo que cada parte es mas pequeña y controlable.

Page 39: 1  2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy Sistemas Operativos I Introducción a los.

39 2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy

Modelo Cliente - ServidorModelo Cliente - Servidor

• Además, como todos los procesos se ejecutan en modo usuario, no en modo núcleo, no tienen acceso al hardware, por lo que un error no afecta al computador en general.

• Otra de sus ventajas es su fácil capacidad de adaptación para su uso en los sistemas distribuidos: Si un cliente se comunica con un servidor mediante mensajes, el cliente no necesita saber si el mensaje se maneja de forma local en su máquina ó si se envía por medio de una red a un servidor en una máquina remota. Para el cliente, envió una solicitud y recibió una respuesta.

El modelo Cliente – Servidor en un sistema distribuido.

Page 40: 1  2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy Sistemas Operativos I Introducción a los.

40 2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy

Núcleo monolítico vs Núcleo monolítico vs micronúcleomicronúcleo

• En el diseño e implementación de SO distribuidos está ganando terreno el empleo de estructuras micronúcleo (b) frente a los clásicos sistemas monolíticos (a), debido a que con éstos se obtienen sistemas mas simples, pequeños, fáciles de comprender y de mantener; lo que redunda en mayor confiabilidad y disponibilidad, así como mejor desempeño y mejores opciones de escalabilidad y replicación.

Page 41: 1  2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy Sistemas Operativos I Introducción a los.

41 2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy

Sistemas UNIX - likeSistemas UNIX - like

Page 42: 1  2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy Sistemas Operativos I Introducción a los.

42 2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy

Tipos de SOTipos de SO

• Investigar sobre ellos en Wikipedia bajo la Categoría Sistemas Operativos: http://es.wikipedia.org/wiki/Categor%C3%ADa:Sistemas_operativos las principales características: aplicación, plataformas de hardware, etc.

– BeOS: http://es.wikipedia.org/wiki/BeOS – BSD OS– IBM OS/2: http://es.wikipedia.org/wiki/OS/2 – Mac OS: http://es.wikipedia.org/wiki/Mac_OS– NT OS: http://es.wikipedia.org/wiki/Windows_NT– Palm OS: http://es.wikipedia.org/wiki/Palm_OS – QNX: http://es.wikipedia.org/wiki/QNX– Symbian OS: http://es.wikipedia.org/wiki/Symbian – UNIX: http://es.wikipedia.org/wiki/Unix

Page 43: 1  2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy Sistemas Operativos I Introducción a los.

43 2007 Universidad de Las Américas - Escuela de Ingeniería - Sistemas Operativos I - Dr. Juan José Aranda Aboy

ClasificaciónClasificación

a. Lotes (Batch)b. Interactivoc. Tiempo compartido (Time sharing)d. Tiempo Real (Real time)e. de Red (Network)f. Distribuido (Distributed)