Title: Evolucin de los Sistemas Operativos
1Evolución de los Sistemas Operativos
Pedro RodrÃguez Moreno Arquitectura de
Computadores y Sistemas (IECI) Departamento de
Sistemas de Información Facultad de Ciencias
Empresariales
2Evolución (1) Primeros Computadores, década 1940
- Computador dedicado a un usuario/ programador a
la vez. - El programa es cargado manualmente por el
programador, usando switches de la consola. - Depuración usando luces de la consola.
- Ventajas
- Interactivo (los usuarios obtienen respuesta
inmediata). - Desventajas
- Máquina cara y permanece bastante tiempo ociosa,
debido a que las personas son lentas. - Programación depuración tediosas.
- Cada programa debe incluir código para operar
periféricos propenso a errores, dependencia de
errores.
3(No Transcript)
4(No Transcript)
5(No Transcript)
6Evolución (3) década 1960_1970
7Monoprogramación
8(No Transcript)
9(No Transcript)
10Evolución (4) década 1970
- Sistemas de Tiempo Compartido (Time Sharing).
- Trabajo interactivo con el computador a través
de terminales. - Nace el concepto de Proceso.
- Asignación de tiempo de CPU por tajadas de
tiempo. - Ya no se habla de tiempo de despacho de un job,
sino que tiempo de respuesta. - Núcleos monolÃticos. Todas las funciones y
servicios del sistema operativo están dentro del
núcleo. - Espacio de direcciones virtuales para cada
proceso, utilizando mecanismos de segmentación o
paginación. - Sistemas Operativos Unix, VAX/VMS, AS/400.
- Ventaja Aumento en la productividad de los
programadores. - Desventaja El procesador es un cuello de
botella.
11(No Transcript)
12Evolución (5)
13Sistemas Operativos Distribuidos
- El núcleo se denomina microkernel, que
proporciona un conjunto de servicios esenciales
(comunicación, procesos, y memoria virtual). - El resto de los servicios del microkernel se
implementan como servidores, que corren en modo
usuario. - La idea es mantener un núcleo lo mas pequeño
posible. - Una llamada al sistema puede consistir en un
mensaje entre un proceso servidor y el
microkernel. - Los procesos servidores y el microkernel se
ejecutan en espacio de direcciones diferentes. - Ejemplos Mach, Chorus, Amoeba.
14La naturaleza del Núcleo
15El Micro Kernel y los Servicios
16Kernel MonolÃtico
17Núcleos Multithread
18(No Transcript)
19Arquitectura Multithread Linux
20Modelo de Programación Multithread
- LibrerÃas que vamos a utilizar
- POSIX (pthreads).
- Solaris (threads, de carácter propietario).
- Estas librerÃas actúan como un minikernel.
- Pueden crear y destruir procesos livianos.
- Asignan memoria a los threads.
- Aplican estrategias de planificación o
scheduling. - Proporcionan mecanimos de sincronización tales
como semáforos, monitores, mensajes, cerrojos,
etc. - Lenguajes de programación como Java incorporan
este modelo, transformándolo en un lenguaje
concurrente. - Las librerÃa de POSIX se adapta al modelo de
threads del Sistema Operativo en el que corre
(Windows, Linux, Solaris). - Los threads corren dentro de un proceso (válido
en las tres librerÃas). - Los threads de las librerÃas POSIX y Solaris
pueden correr en distintos procesadores.
21Arranque del Computador Cómo cargar el núcleo?