Evolución de los Sistemas Operativos

Anuncio
Historia de los S. O.
Evolución de los Sistemas
Operativos
Mario Medina
[email protected]
1ra. Generación (tubos)
• Inicialmente, el
usuario hacía todo
” Escribía
el programa
(en binario!)
” Cargaba el programa
en memoria
” Controlaba y depuraba
la ejecución
• Más tarde,
aparecen programas
utilitarios
” Ensambladores
” Compiladores
” Bibliotecas
” Enlazadores
” Cargadores
Sistemas batch
• Liga a la historia de los computadores
”1ra.
generación de computadores digitales
hNo
tenían sistemas operativos!
de vacío
h1941: Conrad Zuse’s Z3
h1941: ABC Atanasoff-Berry Computer
h1943: Colossus
h1944 ENIAC
hTubos
2da. Generación (transistores)
• Computadores mainframes
”Transistores,
cintas y discos magnéticos,
tarjetas perforadas, impresoras, etc.
• Costos del HW bajan
”Utilización
”Sistemas
de CPU es factor importante
batch
hAgrupar
ocupada
trabajos para mantener la CPU
Ejemplo de programa batch
• Operador ingresa trabajo a la cola
• Se ejecuta toda la cola de entrada
• Se transfieren los resultados a la cola
de salida
(C) 2008 Mario Medina
1
Sistemas batch
ATLAS (1950-60)
• Reduce demora debido al operador
• Universidad de Manchester
”FORSYS,
SCOPE, OS/MFT
• Tiempos de respuesta largos
”No
hay interactividad
• Qué pasa si el programa necesita leer
datos de la cinta?
”CPU
ociosa mientras se leen los datos
”Sistema
operativo batch con spooling
”Palabras de 48 bits, direcciona 1 MWord
• Administración de memoria
”Tambor
magnético (98 KWords) y
memoria magnética (16 KWords)
”Paginación y caching
”Algoritmos de reemplazo de páginas
CTSS (1962)
XDS-940 (1965)
• Ejecución sobre IBM 7090
• Universidad de California at Berkeley
• Sistema de tiempo compartido
• Paginación
”Sistema
de tiempo compartido
”32 usuarios simultáneos
”Memoria física de 32 KWords
”Palabras de 36 bits
”S.O. ocupaba 5 KWords
”Usuarios compartían 27 KWords
”Algoritmos MLFQ
”Memoria
física de 64 KWords
”Memoria por usuario de 16 KWords
”Páginas de 2 KWords
”Tabla de páginas en registros
MULTICS (1965)
3ra. Generación (C. Integrados)
• MIT, GE, Bell Labs
• Computador GE 645
• Hardware es aún más rápido y más
barato
”Segmentación
y paginación
”Páginas de 1 KWord
”Direcciones: 18 bits segmento, 16 bits
offset en página
• Antecesor de UNIX
(C) 2008 Mario Medina
”Minicomputadores
(DEC, UNISYS, etc.)
”Terminales, comunicaciones, redes
• Sistemas multiprogramados
”Compartir
la CPU entre varios usuarios
”Aprovechar el tiempo de E/S de la
aplicación
2
Monoprogramación
Multiprogramación
• Programas oscilan entre CPU y E/S
”CPU
ociosa durante períodos de
entrada/salida
”CPU mucho más rápida que los
dispositivos de entrada/salida
Multiprogramación
Multiprogramación y memoria
• Presenta al usuario la ilusión de un
computador dedicado sólo a él
• CPU se alterna entre los procesos del
S.O. y los procesos de los usuarios
proceso se ejecuta por un quantum
y luego cede la CPU al siguiente
”Sistemas Time-Sharing
”Cada
Trabajo 3
Trabajo 2
Particiones
de memoria
Trabajo 1
• Memoria es
compartida entre
todos los trabajos a
ejecutar y el sistema
operativo
Sistema
Operativo
”Spooling
Ejemplo de sistema multitarea
Tarea 1
Tarea 2
Análisis de Edición de
Tipo
imágenes
imágenes
Procesamiento Alto Cómputo Alto en E/S
Duración
5 minutos 15 minutos
Uso de CPU
80%
10%
Uso de Memoria
50 MB
100 MB
Usa disco?
No
No
Usa terminal?
No
SÍ
Usa impresora?
No
No
(C) 2008 Mario Medina
Histogramas de uso
Tarea 3
Impresión
imágenes
Alto en E/S
10 minutos
10%
80MB
Sí
No
Sí
3
Estadísticas de sistema multitarea
Uso de CPU
Uso de memoria
Uso de disco
Uso de impresora
Tiempo de ejecución
Tasa de trabajos
Tiempo de respuesta
Spooling
Monoprogramación Multiprogramación
22%
43%
30%
67%
33%
67%
33%
67%
30 min.
15 min.
6 por hora
12 por hora
18 min.
10 min.
Área de spooling
Trabajos
Área de spooling
Sistema
Operativo
• Utiliza la memoria
RAM como
almacenamiento de
datos para
periféricos
• Hardware de DMA
transfiere datos
directamente a los
periféricos
S. O. Multitarea
4ta. Generación (PCs)
• Interactividad via terminales
• Costos del hardware bajan y bajan
”Compartir
usuarios
computador entre varios
• IBM OS/360
• UNIX
”Antecesor
OS X
de Linux, BSD, Solaris, Mac
” 1994:
” 1985:
” 1993:
” 1995:
” 1996:
” 1998:
” 2000:
” 2001:
” 2007:
tener un computador por usuario
• Sistemas operativos monousuario
multitarea
”MS-DOS,
MS-DOS 1.0
MS-DOS 6.22
Windows 1.0
Windows 3.11
Windows 95
Windows NT 4
Windows 98
Windows 2000
Windows XP
Windows Vista
(C) 2008 Mario Medina
CP-M, Windows
• Ambientes gráficos (WIMP)
”Windows,
S. O. de Microsoft
” 1982:
”Posible
X11, MacOS, GNOME, KDE
S.O. de Microsoft
• MS-DOS 1.0: S.O. original del IBMPC
• Windows 3.1: Primer WIMP que
funciona
• Windows 2000: Primer WIMP estable
• Windows 7: 2009? 2010?
”WinFS,
nuevo kernel
4
S.O. Unix
Herederos de UNIX
• Desarrollado en AT&T Bell Labs por Ritchie,
Thompson y McIllroy (1969)
” Escrito
en C
” Multitarea
” Multiusuario
” Acceso a código
fuente!
” Portable
” Simple
h “Filosofía
UNIX”
(C) 2008 Mario Medina
” Sistema
de archivos
jerárquico
” Comunicación entre
procesos (IPC)
• BSD (Berkeley Software Distribution)
”SunOS,
NetBSD, FreeBSD, OpenBSD
• ATT UNIX System V
”Solaris,
UNIXWare
• MINIX
• Linux
• MacOS X
5
Descargar