Está en la página 1de 31

Definici

on Historia Estructura Ejemplos Comparativa

Historia de los sistemas operativos


Gustavo Romero
Arquitectura y Tecnologa de Computadores

14 de febrero de 2014

c Gustavo Romero

Historia de los sistemas operativos (1/31)

Definici
on Historia Estructura Ejemplos Comparativa

Indice

Definici
on

Historia

Estructura

Ejemplos

Comparativa

c Gustavo Romero

Historia de los sistemas operativos (2/31)

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)

c Gustavo Romero

Historia de los sistemas operativos (3/31)

Definici
on Historia Estructura Ejemplos Comparativa

Motivacion
La arquitectura de un SO marca de forma vital su
funcionamiento.
Cada posible elecci
on 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)

Definici
on Historia Estructura Ejemplos Comparativa

Que 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.
c Gustavo Romero

Historia de los sistemas operativos (5/31)

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

Definici
on Historia Estructura Ejemplos Comparativa

Primera generacion (1945-55)


Tubos de vacio y paneles

Utilidad: maquinas de calculo.


Tecnologa: dispositivos mecanicos tubos de
vacio y paneles.
Metodo de programacion: cables
interruptores y tarjetas perforadas.
Diseno/construccion/operacion/programacion/mantenimiento: genios como Aiken, von
Newman o Mauchley.

c Gustavo Romero

Historia de los sistemas operativos (7/31)

Definici
on Historia Estructura Ejemplos Comparativa

Segunda generacion (1955-65)


Transistores y sistemas por lotes

Utilidad: calculo cientfico e ingeniera.


Tecnologa: la invencion del transistor redujo su tama
no y
precio y los populariz
o mainframes/IBM 1401/7094.
Metodo de programacion: ensamblador y lenguajes de alto
nivel (FORTRAN) sobre tarjetas perforadas.
Paso de procesamiento secuencial a procesamiento por lotes.
Ejemplos: FMS y IBSYS.
Card
reader

Tape
drive

Input
tape

Output
tape
Printer

1401

(a)

System
tape

(b)

7094

(c)
c Gustavo Romero

(d)

1401

(e)

(f)

Historia de los sistemas operativos (8/31)

Definici
on Historia Estructura Ejemplos Comparativa

Tercera generacion (1965-80)


Circuitos integrados y multiprogramaci
on

2 usos principales:
calculo cientfico e
ingeniera.
procesamiento de
caracteres.

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

Ejemplos: OS/360, CTSS,


MULTICS, UNIX.
c Gustavo Romero

Historia de los sistemas operativos (9/31)

Definici
on Historia Estructura Ejemplos Comparativa

Cuarta generacion (1980-hoy)


Ordenador personal (era )

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

MS-DOS, Linux, MacOS,


XP, NT, Vista...

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,

c Gustavo Romero

Historia de los sistemas operativos (10/31)

Definici
on Historia Estructura Ejemplos Comparativa

Clasificacion de SO segun su estructura


C
omo se organiza internamente el SO?

Clasificaci
on:
Desestructurados.
Estructura simple:
monolticos
capas
modulares

Estructura cliente/servidor:
micron
ucleo
exon
ucleo

Maquina virtual.
Hbridos.

Tendencias:
N
ucleos extensibles.
Multiservidores sobre un micron
ucleo.
N
ucleos hbridos.
c Gustavo Romero

Historia de los sistemas operativos (11/31)

Definici
on Historia Estructura Ejemplos Comparativa

Monoltico
El SO completo se ejecuta
en modo protegido.
Nula proteccion entre los
componentes.
Ventajas:
Economa de cambios de
contexto +eficiente.

Inconvenientes:
Falta de proteccion
-fiabilidad
(controladores).
Manejo de la
complejidad: Es mas
sencillo escribir 103
programas de 103 lneas
que uno de 106 .
c Gustavo Romero

Historia de los sistemas operativos (12/31)

Definici
on Historia Estructura Ejemplos Comparativa

Capas/Niveles
El SO completo se ejecuta
en modo protegido.
Escasa proteccion entre los
componentes.
Ventajas:
Economa de cambios de
contexto +eficiente.
Menor complejidad.

Inconvenientes:
Falta de proteccion
-fiabilidad
(controladores).
Menos flexible que
monoltico.

Como subdividir en capas?


c Gustavo Romero

Historia de los sistemas operativos (13/31)

Definici
on Historia Estructura Ejemplos Comparativa

Modular
El SO completo se ejecuta
en modo protegido.
Escasa proteccion entre los
componentes.
Ventajas:
Economa de cambios de
contexto +eficiente.
Menor complejidad.

Inconvenientes:
Falta de proteccion
-fiabilidad
(controladores).
Menos flexible que
monoltico.

Que colocar en el n
ucleo y
que en modulos?
c Gustavo Romero

Historia de los sistemas operativos (14/31)

Definici
on Historia Estructura Ejemplos Comparativa

Micronucleo
Una mnima parte del SO
se ejecuta en modo
protegido.
Ventajas:
Perfecta proteccion entre
componentes
+fiabilidad.
Manejo de la
complejidad.
Facilidad de
programaci
on.

Inconvenientes:
Sobrecarga en las
comunicaciones
-eficiencia.
c Gustavo Romero

Historia de los sistemas operativos (15/31)

Definici
on Historia Estructura Ejemplos Comparativa

Exonucleo
Apenas existe SO, solo un
gestor de recursos.
Dejamos que el software
acceda directamente al
hardware.
Ventajas:
Perfecta proteccion entre
componentes
+fiabilidad.
Acceso directo al
hardware m
axima
eficiencia

Inconvenientes:
Pobre reutilizaci
on de
codigo.
c Gustavo Romero

Historia de los sistemas operativos (16/31)

Definici
on Historia Estructura Ejemplos Comparativa

Maquina virtual
N copias virtuales de la
maquina real:
Software: Bochs, Qemu,
VMWare, Xen.
Hardware: VMWawe,
Xen.

Inconvenientes:
La simulacion del
hardware real es costosa
poco eficiente

IBM VM/370 (1972).


Ventajas:
Perfecta proteccion entre
componentes
+fiabilidad.
Mejor aprovechamiento
del hardware.
Maxima reutilizaci
on de
codigo.
c Gustavo Romero

Historia de los sistemas operativos (17/31)

Definici
on Historia Estructura Ejemplos Comparativa

Hdrida
Mezcla mas frecuente: micron
ucleo + monoltico.
Ventaja: = ganamos velocidad respecto a micron
ucleo.
Inconveniente: = perdemos proteccion entre componentes.

c Gustavo Romero

Historia de los sistemas operativos (18/31)

Definici
on Historia Estructura Ejemplos Comparativa

MS-DOS

c Gustavo Romero

Historia de los sistemas operativos (19/31)

Definici
on Historia Estructura Ejemplos Comparativa

Windows 2000

c Gustavo Romero

Historia de los sistemas operativos (20/31)

Definici
on Historia Estructura Ejemplos Comparativa

Linux

c Gustavo Romero

Historia de los sistemas operativos (21/31)

Definici
on Historia Estructura Ejemplos Comparativa

Mach

c Gustavo Romero

Historia de los sistemas operativos (22/31)

Definici
on Historia Estructura Ejemplos Comparativa

MacOS X

c Gustavo Romero

Historia de los sistemas operativos (23/31)

Definici
on Historia Estructura Ejemplos Comparativa

QNX

c Gustavo Romero

Historia de los sistemas operativos (24/31)

Definici
on Historia Estructura Ejemplos Comparativa

Coste estructural: monoltico

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 informacion.

c Gustavo Romero

Historia de los sistemas operativos (25/31)

Definici
on Historia Estructura Ejemplos Comparativa

Coste estructural: micronucleo


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.

c Gustavo Romero

Historia de los sistemas operativos (26/31)

Definici
on Historia Estructura Ejemplos Comparativa

Coste estructural: multiservidor

c Gustavo Romero

Historia de los sistemas operativos (27/31)

Definici
on Historia Estructura Ejemplos Comparativa

El desastre de los 100 s (micronucleos de 1a generacion)


SYSCALL RPC 2 IPC : MachIPC =115s, LinuxIPC =20s, L4IPC =5s (486 50MHz)

c Gustavo Romero

Historia de los sistemas operativos (28/31)

Definici
on Historia Estructura Ejemplos Comparativa

Sobrecarga por comunicacion entre procesos

c Gustavo Romero

Historia de los sistemas operativos (29/31)

Definici
on Historia Estructura Ejemplos Comparativa

L4Linux

c Gustavo Romero

Historia de los sistemas operativos (30/31)

Definici
on Historia Estructura Ejemplos Comparativa

Coste estructural: cambio de contexto


Linux 2.4.21: 13200 ciclos/5.4s en un Pentium 4 a 2.4GHz
L4 (Liedtke, Achieved IPC performance):

c Gustavo Romero

Historia de los sistemas operativos (31/31)

También podría gustarte