Historia SO

31
Definici´ on Historia Estructura Ejemplos Comparativa Historia de los sistemas operativos Gustavo Romero Arquitectura y Tecnolog´ ıa de Computadores 12 de febrero de 2009 c Gustavo Romero Historia de los sistemas operativos (1/31)

description

Historia de los Sistemas Operativos

Transcript of Historia SO

Page 1: Historia SO

Definicion Historia Estructura Ejemplos Comparativa

Historia de los sistemas operativos

Gustavo Romero

Arquitectura y Tecnologıa de Computadores

12 de febrero de 2009

c©Gustavo Romero Historia de los sistemas operativos (1/31)

Page 2: Historia SO

Definicion Historia Estructura Ejemplos Comparativa

Indice

1 Definicion

2 Historia

3 Estructura

4 Ejemplos

5 Comparativa

c©Gustavo Romero Historia de los sistemas operativos (2/31)

Page 3: Historia SO

Definicion Historia Estructura Ejemplos Comparativa

Lecturas recomendadas

Jean Bacon Operating Systems (2, 26)

Abraham Silberschatz Fundamentos de Sistemas Operativos (2)

William Stallings Sistemas Operativos (2)

Andrew Tanuenbaum Sistemas Operativos Modernos (1,12)

c©Gustavo Romero Historia de los sistemas operativos (3/31)

Page 4: Historia SO

Definicion Historia Estructura Ejemplos Comparativa

Motivacion

La arquitectura de un SO marca de forma vital sufuncionamiento.

Cada posible eleccion tendra consecuencias ineludibles.

Ejemplo: el compromiso velocidad/espacio:

---------------------------------------------------------------------------

#define BYTE_SIZE 8 /* a byte contains 8 bits */

int bit_count(int byte) /* count the bits in a byte */

{

int i, count = 0;

for (i = 0; i < BYTE_SIZE; i++) /* loop over the bits in a byte */

if ((byte >> i) & 1)

++count; /* if this bit is a 1, add to count */

return count; /* return sum */

}

---------------------------------------------------------------------------

#define bit_count(b) (b&1) + ((b>>1)&1) + ((b>>2)&1) + ((b>>3)&1) +

((b>>4)&1) + ((b>>5)&1) + ((b>>6)&1) + ((b>>7)&1);

---------------------------------------------------------------------------

char bits[256] = {0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4, 1, 2,..};

---------------------------------------------------------------------------

c©Gustavo Romero Historia de los sistemas operativos (4/31)

Page 5: Historia SO

Definicion Historia Estructura Ejemplos Comparativa

¿Que es un sistema operativo?

¿Todos los programas que vienen con el ordenador alcomprarlo? =⇒ no.

¿Todo lo que viene en el CD/DVD del creador del SO? =⇒no.

Los programas que nos permiten utilizar el ordenador (... con

suerte eficientemente) =⇒ si.Interfaz con el ordenador:

desarrollo de programasejecucion de programasacceso a dispositivos de E/Sacceso al sistema de ficherosproteccion y seguridaddeteccion y respuesta a errorescontabilidad

Gestor de recursos.

c©Gustavo Romero Historia de los sistemas operativos (5/31)

Page 6: Historia SO

Definicion Historia Estructura Ejemplos Comparativa

Historia

Primera generacion (1945-55)

Segunda generacion (1955-65)

Tercera generacion (1965-80)

Cuarta generacion (1980-hoy)

c©Gustavo Romero Historia de los sistemas operativos (6/31)

Page 7: Historia SO

Definicion Historia Estructura Ejemplos Comparativa

Primera generacion (1945-55)Tubos de vacio y paneles

Utilidad: maquinas de calculo.

Tecnologıa: dispositivos mecanicos ⇒ tubos devacio y paneles.

Metodo de programacion: cables ⇒interruptores y tarjetas perforadas.

Diseno/construccion/operacion/programacion/-mantenimiento: genios como Aiken, vonNewman o Mauchley.

c©Gustavo Romero Historia de los sistemas operativos (7/31)

Page 8: Historia SO

Definicion Historia Estructura Ejemplos Comparativa

Segunda generacion (1955-65)Transistores y sistemas por lotes

Utilidad: calculo cientıfico e ingenierıa.

Tecnologıa: la invencion del transistor redujo su tamano yprecio y los popularizo ⇒ mainframes/IBM 1401/7094.

Metodo de programacion: ensamblador y lenguajes de altonivel (FORTRAN) sobre tarjetas perforadas.

Paso de procesamiento secuencial a procesamiento por lotes.

Ejemplos: FMS y IBSYS.

1401 7094 1401

(a) (b) (c) (d) (e) (f)

Card reader

Tape drive Input

tapeOutput tape

System tape

Printer

c©Gustavo Romero Historia de los sistemas operativos (8/31)

Page 9: Historia SO

Definicion Historia Estructura Ejemplos Comparativa

Tercera generacion (1965-80)Circuitos integrados y multiprogramacion

2 usos principales:calculo cientıfico eingenierıa.procesamiento decaracteres.

Circuito integrado ⇒+barato ⇒ +popular ⇒IBM 360, GE-645, DECPDP-1.Logros destacables:

multiprogramacion.spooling.tiempo compartido.

Ejemplos: OS/360, CTSS,MULTICS, UNIX.

c©Gustavo Romero Historia de los sistemas operativos (9/31)

Page 10: Historia SO

Definicion Historia Estructura Ejemplos Comparativa

Cuarta generacion (1980-hoy)Ordenador personal (era µ)

(V)LSI ⇒ ++barato ⇒++popular ⇒ IBM PC.

µP: 8080, Z80, 8086, 286,386, 486, Pentium, Core 2,Athlon, Alpha, Ultrasparc.

Logros destacables:

GUI.

SO de red.

SMP.

SO distribuidos.

Ejemplos: UNIX, CP/M,

MS-DOS, Linux, MacOS,XP, NT, Vista...

c©Gustavo Romero Historia de los sistemas operativos (10/31)

Page 11: Historia SO

Definicion Historia Estructura Ejemplos Comparativa

Clasificacion de SO segun su estructura¿Como se organiza internamente el SO?

Clasificacion:

Desestructurados.Estructura simple:

monolıticoscapasmodulares

Estructura cliente/servidor:

micronucleoexonucleo

Maquina virtual.Hıbridos.

Tendencias:

Nucleos extensibles.Multiservidores sobre un micronucleo.Nucleos hıbridos.

c©Gustavo Romero Historia de los sistemas operativos (11/31)

Page 12: Historia SO

Definicion Historia Estructura Ejemplos Comparativa

Monolıtico

El SO completo se ejecutaen modo protegido.

Nula proteccion entre loscomponentes.Ventajas:

Economıa de cambios decontexto ⇒ +eficiente.

Inconvenientes:Falta de proteccion ⇒-fiabilidad(controladores).Manejo de lacomplejidad: Es massencillo escribir 103

programas de 103 lıneasque uno de 106.

c©Gustavo Romero Historia de los sistemas operativos (12/31)

Page 13: Historia SO

Definicion Historia Estructura Ejemplos Comparativa

Capas/Niveles

El SO completo se ejecutaen modo protegido.

Escasa proteccion entre loscomponentes.

Ventajas:

Economıa de cambios decontexto ⇒ +eficiente.Menor complejidad.

Inconvenientes:

Falta de proteccion ⇒-fiabilidad(controladores).Menos flexible quemonolıtico.

¿Como subdividir en capas?

c©Gustavo Romero Historia de los sistemas operativos (13/31)

Page 14: Historia SO

Definicion Historia Estructura Ejemplos Comparativa

Modular

El SO completo se ejecutaen modo protegido.

Escasa proteccion entre loscomponentes.Ventajas:

Economıa de cambios decontexto ⇒ +eficiente.Menor complejidad.

Inconvenientes:Falta de proteccion ⇒-fiabilidad(controladores).Menos flexible quemonolıtico.

¿Que colocar en el nucleo yque en modulos?

c©Gustavo Romero Historia de los sistemas operativos (14/31)

Page 15: Historia SO

Definicion Historia Estructura Ejemplos Comparativa

Micronucleo

Una mınima parte del SOse ejecuta en modoprotegido.Ventajas:

Perfecta proteccion entrecomponentes ⇒+fiabilidad.Manejo de lacomplejidad.Facilidad deprogramacion.

Inconvenientes:Sobrecarga en lascomunicaciones ⇒-eficiencia.

c©Gustavo Romero Historia de los sistemas operativos (15/31)

Page 16: Historia SO

Definicion Historia Estructura Ejemplos Comparativa

Exonucleo

Apenas existe SO, solo ungestor de recursos.Dejamos que el softwareacceda directamente alhardware.Ventajas:

Perfecta proteccion entrecomponentes ⇒+fiabilidad.Acceso directo alhardware ⇒ maximaeficiencia

Inconvenientes:Pobre reutilizacion decodigo.

c©Gustavo Romero Historia de los sistemas operativos (16/31)

Page 17: Historia SO

Definicion Historia Estructura Ejemplos Comparativa

Maquina virtual

N copias virtuales de lamaquina real:

Software: Bochs, Qemu,VMWare, Xen.

Hardware: VMWawe,Xen.

IBM VM/370 (1972).

Ventajas:

Perfecta proteccion entrecomponentes ⇒+fiabilidad.

Mejor aprovechamientodel hardware.

Maxima reutilizacion decodigo.

Inconvenientes:

La simulacion delhardware real es costosa⇒ poco eficiente

c©Gustavo Romero Historia de los sistemas operativos (17/31)

Page 18: Historia SO

Definicion Historia Estructura Ejemplos Comparativa

Hıdrida

Mezcla mas frecuente: micronucleo + monolıtico.

Ventaja: =⇒ ganamos velocidad respecto a micronucleo.

Inconveniente: =⇒ perdemos proteccion entre componentes.

c©Gustavo Romero Historia de los sistemas operativos (18/31)

Page 19: Historia SO

Definicion Historia Estructura Ejemplos Comparativa

MS-DOS

c©Gustavo Romero Historia de los sistemas operativos (19/31)

Page 20: Historia SO

Definicion Historia Estructura Ejemplos Comparativa

Windows 2000

c©Gustavo Romero Historia de los sistemas operativos (20/31)

Page 21: Historia SO

Definicion Historia Estructura Ejemplos Comparativa

Linux

c©Gustavo Romero Historia de los sistemas operativos (21/31)

Page 22: Historia SO

Definicion Historia Estructura Ejemplos Comparativa

Mach

c©Gustavo Romero Historia de los sistemas operativos (22/31)

Page 23: Historia SO

Definicion Historia Estructura Ejemplos Comparativa

MacOS X

c©Gustavo Romero Historia de los sistemas operativos (23/31)

Page 24: Historia SO

Definicion Historia Estructura Ejemplos Comparativa

QNX

c©Gustavo Romero Historia de los sistemas operativos (24/31)

Page 25: Historia SO

Definicion Historia Estructura Ejemplos Comparativa

Coste estructural: monolıtico

1 llamada al sistema:entrada al nucleo.cambio al espacio dedirecciones del nucleo.recuperar el espacio dedirecciones original.salida del nucleo.

1 llamada aprocedimiento: llamaday retorno en el interior delespacio de direcciones delnucleo y pudiendocompartir informacion.

c©Gustavo Romero Historia de los sistemas operativos (25/31)

Page 26: Historia SO

Definicion Historia Estructura Ejemplos Comparativa

Coste estructural: micronucleo

4 llamadas al sistema:entrada al micronucleo.cambio al espacio de direcciones del micronucleo.transferencia del mensaje.recuperar el espacio de direcciones original.salida del micronucleo.

c©Gustavo Romero Historia de los sistemas operativos (26/31)

Page 27: Historia SO

Definicion Historia Estructura Ejemplos Comparativa

Coste estructural: multiservidor

c©Gustavo Romero Historia de los sistemas operativos (27/31)

Page 28: Historia SO

Definicion Historia Estructura Ejemplos Comparativa

El desastre de los 100 µs (micronucleos de 1a generacion)SYSCALL ↔ RPC ≈ 2× IPC : MachIPC=115µs, LinuxIPC=20µs, L4IPC=5µs (486 50MHz)

c©Gustavo Romero Historia de los sistemas operativos (28/31)

Page 29: Historia SO

Definicion Historia Estructura Ejemplos Comparativa

Sobrecarga por comunicacion entre procesos

c©Gustavo Romero Historia de los sistemas operativos (29/31)

Page 30: Historia SO

Definicion Historia Estructura Ejemplos Comparativa

L4Linux

c©Gustavo Romero Historia de los sistemas operativos (30/31)

Page 31: Historia SO

Definicion Historia Estructura Ejemplos Comparativa

Coste estructural: cambio de contexto

Linux 2.4.21: 13200 ciclos/5.4µs en un Pentium 4 a 2.4GHz

L4 (Liedtke, Achieved IPC performance):

c©Gustavo Romero Historia de los sistemas operativos (31/31)