Story Transcript
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