Historia de los sistemas operativos

Definici´ on Historia Estructura Ejemplos Comparativa Historia de los sistemas operativos Gustavo Romero L´ opez Arquitectura y Tecnolog´ıa de Comput...
2 downloads 0 Views 3MB Size
Definici´ on Historia Estructura Ejemplos Comparativa

Historia de los sistemas operativos Gustavo Romero L´ opez Arquitectura y Tecnolog´ıa de Computadores

7 de junio de 2016

Gustavo Romero L´ opez

Historia de los sistemas operativos

1 / 37

Definici´ on Historia Estructura Ejemplos Comparativa

´Indice

1

Definici´on

2

Historia

3

Estructura

4

Ejemplos

5

Comparativa

Gustavo Romero L´ opez

Historia de los sistemas operativos

2 / 37

Definici´ on 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)

Gustavo Romero L´ opez

Historia de los sistemas operativos

3 / 37

Definici´ on Historia Estructura Ejemplos Comparativa

Motivaci´on La arquitectura de un SO marca de forma vital su funcionamiento. Cada posible elecci´ on tendr´a 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,..}; --------------------------------------------------------------------------Gustavo Romero L´ opez

Historia de los sistemas operativos

4 / 37

Definici´ on Historia Estructura Ejemplos Comparativa

Definici´on

Gustavo Romero L´ opez

Historia de los sistemas operativos

5 / 37

Definici´ on Historia Estructura Ejemplos Comparativa

¿Qu´e es un sistema operativo? ¿Todos los programas que vienen con el ordenador al comprarlo? =⇒ 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 programas ejecuci´ on de programas acceso a dispositivos de E/S acceso al sistema de ficheros protecci´ on y seguridad detecci´ on y respuesta a errores contabilidad

Gestor de recursos. Gustavo Romero L´ opez

Historia de los sistemas operativos

6 / 37

Definici´ on Historia Estructura Ejemplos Comparativa

Historia

Gustavo Romero L´ opez

Historia de los sistemas operativos

7 / 37

Definici´ on Historia Estructura Ejemplos Comparativa

Historia

Primera generaci´on (1945-55) Segunda generaci´on (1955-65) Tercera generaci´on (1965-80) Cuarta generaci´on (1980-hoy)

Gustavo Romero L´ opez

Historia de los sistemas operativos

8 / 37

Definici´ on Historia Estructura Ejemplos Comparativa

Primera generaci´on (1945-55) Tubos de vacio y paneles

Utilidad: m´aquinas de c´alculo. Tecnolog´ıa: dispositivos mec´anicos ⇒ tubos de vacio y paneles. M´etodo de programaci´on: cables ⇒ interruptores y tarjetas perforadas. Dise˜no/construcci´on/operaci´on/programaci´on/mantenimiento: genios como Aiken, von Newman o Mauchley.

Gustavo Romero L´ opez

Historia de los sistemas operativos

9 / 37

Definici´ on Historia Estructura Ejemplos Comparativa

Segunda generaci´on (1955-65) Transistores y sistemas por lotes

Utilidad: c´alculo cient´ıfico e ingenier´ıa. Tecnolog´ıa: la invenci´ on del transistor redujo su tama˜ no y precio y los populariz´ o ⇒ mainframes/IBM 1401/7094. M´etodo de programaci´ on: ensamblador y lenguajes de alto nivel (FORTRAN) sobre tarjetas perforadas. Paso de procesamiento secuencial a procesamiento por lotes. Ejemplos: FMS y IBSYS.

Gustavo Romero L´ opez

Historia de los sistemas operativos

10 / 37

Definici´ on Historia Estructura Ejemplos Comparativa

Tercera generaci´on (1965-80) Circuitos integrados y multiprogramaci´ on

2 usos principales: c´alculo cient´ıfico e ingenier´ıa. procesamiento de car´acteres.

Circuito integrado ⇒ +barato ⇒ +popular ⇒ IBM 360, GE-645, DEC PDP-1. Logros destacables: multiprogramaci´ on. spooling. tiempo compartido.

Ejemplos: OS/360, CTSS, MULTICS, UNIX. Gustavo Romero L´ opez

Historia de los sistemas operativos

11 / 37

Definici´ on Historia Estructura Ejemplos Comparativa

Cuarta generaci´on (1980-hoy) Ordenador personal (era µ)

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

MS-DOS, Linux, MacOS, Windows 1..10.

µ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,

Gustavo Romero L´ opez

Historia de los sistemas operativos

12 / 37

Definici´ on Historia Estructura Ejemplos Comparativa

Estructura

Gustavo Romero L´ opez

Historia de los sistemas operativos

13 / 37

Definici´ on Historia Estructura Ejemplos Comparativa

Clasificaci´on de SO seg´un su estructura ¿C´ omo se organiza internamente el SO?

Clasificaci´on: Estructura simple: monol´ıticos capas modulares

Estructura cliente/servidor: micron´ ucleo exon´ ucleo

M´aquina virtual. H´ıbridos.

Tendencias: N´ ucleos extensibles. Multiservidores sobre un micron´ ucleo. N´ ucleos h´ıbridos.

Gustavo Romero L´ opez

Historia de los sistemas operativos

14 / 37

Definici´ on Historia Estructura Ejemplos Comparativa

Monol´ıtico El SO completo se ejecuta en modo protegido. Nula protecci´on entre los componentes. Ventajas: Econom´ıa de cambios de contexto ⇒ +eficiente.

Inconvenientes: Falta de protecci´ on ⇒ -fiabilidad (controladores). Manejo de la complejidad: Es m´as sencillo escribir 103 programas de 103 l´ıneas que uno de 106 . Gustavo Romero L´ opez

Historia de los sistemas operativos

15 / 37

Definici´ on Historia Estructura Ejemplos Comparativa

Capas/Niveles El SO completo se ejecuta en modo protegido. Escasa protecci´on entre los componentes. Ventajas: Econom´ıa de cambios de contexto ⇒ +eficiente. Menor complejidad.

Inconvenientes: Falta de protecci´ on ⇒ -fiabilidad (controladores). Menos flexible que monol´ıtico.

¿C´omo subdividir en capas? Gustavo Romero L´ opez

Historia de los sistemas operativos

16 / 37

Definici´ on Historia Estructura Ejemplos Comparativa

Modular El SO completo se ejecuta en modo protegido. Escasa protecci´on entre los componentes. Ventajas: Econom´ıa de cambios de contexto ⇒ +eficiente. Menor complejidad.

Inconvenientes: Falta de protecci´ on ⇒ -fiabilidad (controladores). Menos flexible que monol´ıtico.

¿Qu´e colocar en el n´ ucleo y qu´e en m´odulos? Gustavo Romero L´ opez

Historia de los sistemas operativos

17 / 37

Definici´ on Historia Estructura Ejemplos Comparativa

Micron´ucleo Una m´ınima parte del SO se ejecuta en modo protegido. Ventajas: Perfecta protecci´ on entre componentes ⇒ +fiabilidad. Manejo de la complejidad. Facilidad de programaci´ on.

Inconvenientes: Sobrecarga en las comunicaciones ⇒ -eficiencia. Gustavo Romero L´ opez

Historia de los sistemas operativos

18 / 37

Definici´ on Historia Estructura Ejemplos Comparativa

Exon´ucleo Apenas existe SO, s´ olo un gestor de recursos. Dejamos que el software acceda directamente al hardware. Ventajas: Perfecta protecci´ on entre componentes ⇒ +fiabilidad. Acceso directo al hardware ⇒ m´ axima eficiencia

Inconvenientes: Pobre reutilizaci´ on de c´ odigo. Gustavo Romero L´ opez

Historia de los sistemas operativos

19 / 37

Definici´ on Historia Estructura Ejemplos Comparativa

M´aquina virtual N copias virtuales de la m´aquina real: Software: Bochs, Qemu, VMWare, Xen. Hardware: VMWawe, Xen.

Inconvenientes: La simulaci´on del hardware real es costosa ⇒ poco eficiente

IBM VM/370 (1972). Ventajas: Perfecta protecci´ on entre componentes ⇒ +fiabilidad. Mejor aprovechamiento del hardware. M´axima reutilizaci´ on de c´ odigo. Gustavo Romero L´ opez

Historia de los sistemas operativos

20 / 37

Definici´ on Historia Estructura Ejemplos Comparativa

H´ıdrida Mezcla m´as frecuente: micron´ ucleo + monol´ıtico. Ventaja: =⇒ ganamos velocidad respecto a micron´ ucleo. Inconveniente: =⇒ perdemos protecci´ on entre componentes.

Gustavo Romero L´ opez

Historia de los sistemas operativos

21 / 37

Definici´ on Historia Estructura Ejemplos Comparativa

Ejemplos

Gustavo Romero L´ opez

Historia de los sistemas operativos

22 / 37

Definici´ on Historia Estructura Ejemplos Comparativa

MS-DOS

Gustavo Romero L´ opez

Historia de los sistemas operativos

23 / 37

Definici´ on Historia Estructura Ejemplos Comparativa

Windows 2000

Gustavo Romero L´ opez

Historia de los sistemas operativos

24 / 37

Definici´ on Historia Estructura Ejemplos Comparativa

Linux

Gustavo Romero L´ opez

Historia de los sistemas operativos

25 / 37

Definici´ on Historia Estructura Ejemplos Comparativa

Mach

Gustavo Romero L´ opez

Historia de los sistemas operativos

26 / 37

Definici´ on Historia Estructura Ejemplos Comparativa

MacOS X

Gustavo Romero L´ opez

Historia de los sistemas operativos

27 / 37

Definici´ on Historia Estructura Ejemplos Comparativa

QNX

Gustavo Romero L´ opez

Historia de los sistemas operativos

28 / 37

Definici´ on Historia Estructura Ejemplos Comparativa

Comparativa

Gustavo Romero L´ opez

Historia de los sistemas operativos

29 / 37

Definici´ on Historia Estructura Ejemplos Comparativa

Coste estructural: monol´ıtico

1 llamada al sistema: entrada al n´ ucleo. cambio al espacio de direcciones del n´ ucleo. recuperar el espacio de direcciones original. salida del n´ ucleo.

1 llamada a procedimiento: llamada y retorno en el interior del espacio de direcciones del n´ ucleo y pudiendo compartir informaci´ on.

Gustavo Romero L´ opez

Historia de los sistemas operativos

30 / 37

Definici´ on Historia Estructura Ejemplos Comparativa

Coste estructural: micron´ucleo 4 llamadas al sistema: entrada al micron´ ucleo. cambio al espacio de direcciones del micron´ ucleo. transferencia del mensaje. recuperar el espacio de direcciones original. salida del micron´ ucleo.

Gustavo Romero L´ opez

Historia de los sistemas operativos

31 / 37

Definici´ on Historia Estructura Ejemplos Comparativa

Coste estructural: multiservidor

Gustavo Romero L´ opez

Historia de los sistemas operativos

32 / 37

Definici´ on Historia Estructura Ejemplos Comparativa

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

Gustavo Romero L´ opez

Historia de los sistemas operativos

33 / 37

Definici´ on Historia Estructura Ejemplos Comparativa

Sobrecarga por comunicaci´on entre procesos

Gustavo Romero L´ opez

Historia de los sistemas operativos

34 / 37

Definici´ on Historia Estructura Ejemplos Comparativa

L4Linux

Gustavo Romero L´ opez

Historia de los sistemas operativos

35 / 37

Definici´ on 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):

Gustavo Romero L´ opez

Historia de los sistemas operativos

36 / 37

Definici´ on Historia Estructura Ejemplos Comparativa

¿Te aburres?

Barrelfish PikeOS L4 ⇒ seL4 Singularity ⇒ Midori ⇒

Gustavo Romero L´ opez

Historia de los sistemas operativos

37 / 37