1.2 OS Evolution ESP
description
Transcript of 1.2 OS Evolution ESP
Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas PolzeWindows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze
Unidad SO1: Unidad SO1: Descripción de los Sistemas Descripción de los Sistemas OperativosOperativos
1.2. La Evolución de los Sistemas Operativos1.2. La Evolución de los Sistemas Operativos
2
Guía para la Sección 1.2.Guía para la Sección 1.2.
Historia de los Sistemas OperativosHistoria de los Sistemas Operativos
Tareas de un Sistema OperativoTareas de un Sistema Operativo
SO como una extensión del hardwareSO como una extensión del hardware
Conceptos fundamentales: procesamiento, Conceptos fundamentales: procesamiento, archivos, accesos al sistemaarchivos, accesos al sistema
Estructura del Sistema OperativoEstructura del Sistema Operativo
3
Conceptos de Sistemas OperativosConceptos de Sistemas OperativosProgramas del Sistema para la gestión de los Programas del Sistema para la gestión de los recursosrecursos
Complejidad para encubrir en el SO el hardware Complejidad para encubrir en el SO el hardware subyacentesubyacente
Arquitecturas en capasArquitecturas en capas
Dispositivos Físicos
Microprogramación
Lenguaje de máquina
Sistema Operativo
Compiladores Editores Intérprete de comandos
SistemaBancario
ReservaciónAerea
NavegadorWeb
Programas de Aplicación
Hardware
Programas del Sistema
4
Historia de Sistemas OperativosHistoria de Sistemas Operativos
Procesamiento en BatchProcesamiento en Batch
Programación en Programación en tarjetas tarjetas perforadasperforadas Multiprocesamiento Multiprocesamiento
Los elementos del sistema Los elementos del sistema básicos de IBM 1401 son, la básicos de IBM 1401 son, la Unidad de Procesamiento Unidad de Procesamiento 1401 , Lector de Tarjetas 1401 , Lector de Tarjetas Perforadas 1402, y la Perforadas 1402, y la impresora 1403. impresora 1403.
Job 3Job 2Job 1OS
Particionesde Memoria
5
La Evolución de la Funcionalidad La Evolución de la Funcionalidad del Sistema Operativodel Sistema Operativo
Procesamiento de Trabajos en Batch Procesamiento de Trabajos en Batch
Enlace de rutinas de librerías a programasEnlace de rutinas de librerías a programas
Gestión de archivos, dispositivos de E/S, almacenamiento secundarioGestión de archivos, dispositivos de E/S, almacenamiento secundario
MultiprogramaciónMultiprogramación
Gestión de los recursos compartidos para la programación múltipleGestión de los recursos compartidos para la programación múltiple
Ejecución del programa Quasi-simultaneoEjecución del programa Quasi-simultaneo
Usuario únicoUsuario único
Multiusuarios/Sistemas de Recursos CompartidosMultiusuarios/Sistemas de Recursos Compartidos
Gestión de múltiples usuarios simultáneos interconectados a través de terminalesGestión de múltiples usuarios simultáneos interconectados a través de terminales
Gestión adecuada de recursos: planificación del CPU, spooling, exclusión mutuaGestión adecuada de recursos: planificación del CPU, spooling, exclusión mutua
Sistemas de Tiempo-Real (sistemas de control de procesos)Sistemas de Tiempo-Real (sistemas de control de procesos)
Gestión de procesos de tiempo-críticoGestión de procesos de tiempo-crítico
Altos requisitos con respecto a confiabilidad y a disponibilidad Altos requisitos con respecto a confiabilidad y a disponibilidad
6
Tareas de un Sistema OperativoTareas de un Sistema Operativo
Gestión de Procesamiento – Planificación Gestión de Procesamiento – Planificación
Equidad Equidad
Disposición de Des-bloqueoDisposición de Des-bloqueo
PrioridadesPrioridades
Gestión de MemoriaGestión de Memoria
Memoria Virtual contra Memoria Física, jerarquización de memoriaMemoria Virtual contra Memoria Física, jerarquización de memoria
Protección de programas emulados/concurrentesProtección de programas emulados/concurrentes
Gestión de Almacenamiento – Sistema de Archivos Gestión de Almacenamiento – Sistema de Archivos
Acceso a medios externos de almacenamiento Acceso a medios externos de almacenamiento
Gestión de DispositivosGestión de Dispositivos
Encubriendo las dependencias de hardwareEncubriendo las dependencias de hardware
Gestión de accesos concurrentes Gestión de accesos concurrentes
Procesamiento en BatchProcesamiento en Batch
Definición de una orden de ejecución; rendimiento maximizadoDefinición de una orden de ejecución; rendimiento maximizado
7
Kernel y Programas en Modo Kernel y Programas en Modo UsuarioUsuario
Típica implementación funcional en cualquier modalidad:Típica implementación funcional en cualquier modalidad:
Kernel: Kernel:
Modalidad con PrivilegiosModalidad con Privilegios
Estricta suposición acerca de la fiabilidad/seguridad del códigoEstricta suposición acerca de la fiabilidad/seguridad del código
Memoria residenteMemoria residente
CPU-, memoria-, gestión de Entrada/SalidaCPU-, memoria-, gestión de Entrada/Salida
Gestión de Multiprocesamiento, diagnóstico, prueba Gestión de Multiprocesamiento, diagnóstico, prueba
Partes de un sistema de archivos y de la interface de la redPartes de un sistema de archivos y de la interface de la red
Ambiente Usuario: Ambiente Usuario:
Mayor flexibilidadMayor flexibilidad
Fácil mantenimiento y depuraciónFácil mantenimiento y depuración
Compilador, ensamblador, interprete, enlace/cargaCompilador, ensamblador, interprete, enlace/carga
Gestión de sistema de archivos, telecomunicaciones, gestión de la redGestión de sistema de archivos, telecomunicaciones, gestión de la red
Editores, hojas de cálculos, aplicaciones de usuarioEditores, hojas de cálculos, aplicaciones de usuario
8
Evolución de los Sistema OperativosEvolución de los Sistema Operativos
55
60
65
70
75
80
85
90
95
00
03
IOCS
DOS/360
DOS/VDSE
VS
VS/ESA
OS/360
MVS/370
MVS/XA
MVS/ES
TSO
IBSYS
CTSS
CP/CM5
VM/370
VM/XA
VM/ESA
SYSTEM III
SYSTEM V
SYSTEM V.4
MULTICS
UNIX
UNIXV.7
AIX/370
AIXSUN OS
POSIX
SOLARIS 2
4.1BSD
4.2BSD
4.3BSD
4.4BSD
MACHOSF/1
AIX/ESA
XENIX MS-DOS 1.0
CP/M
DR/DOS
OS/2WIN 3.0
WIN NT
WIN 2000
WIN 9X
WIN XP
LINUX
RSX-11M
VMS 1.0
VMS 5.4
VMS 7.3
WIN 3.1
SOLARIS 10
RT-11
LINUX 2.6WIN Server 2003
9
Conceptos fundamentales: Conceptos fundamentales: ProcesosProcesos
Procesos, tabla de proceso, imagen básicaProcesos, tabla de proceso, imagen básica
Interprete de comandos, shellInterprete de comandos, shell
Árbol de procesosÁrbol de procesos
Planificación, señalesPlanificación, señales
Identificación de usuario, identificación de grupoIdentificación de usuario, identificación de grupo
preparado funcionando
bloqueado
finalizadonuevo
A
B C
FED
Árbol de procesos
10
Conceptos fundamentales:Conceptos fundamentales: ArchivosArchivos
Archivos, directorios, raízArchivos, directorios, raíz
Ruta, directorio de trabajoRuta, directorio de trabajo
Protección, bits rwxProtección, bits rwx
Descriptor de archivo, controlDescriptor de archivo, control
Archivos especiales, dispositivos E/SArchivos especiales, dispositivos E/S
Bloque de E/S, caracter de E/SBloque de E/S, caracter de E/S
Estándares entrada/salida/errorEstándares entrada/salida/error
ConductosConductos
Directorio raíz
tmp usretc
pitmia
11
Conceptos fundamentales:Conceptos fundamentales: Llamadas al sistemaLlamadas al sistema
Servicios del sistema operativo para el acceso a Servicios del sistema operativo para el acceso a programas de usuario a través de llamadas al sistemaprogramas de usuario a través de llamadas al sistema
Transmisión de parámetros a través del canal, registro, Transmisión de parámetros a través del canal, registro, pilapila
count=read(file, buffer, nbytes);count=read(file, buffer, nbytes);
5 clases generales de llamadas a sistema:5 clases generales de llamadas a sistema:Control de procesosControl de procesos
Manipulación de archivosManipulación de archivos
Manipulación de dispositivosManipulación de dispositivos
Mantenimiento a la informaciónMantenimiento a la información
ComunicacionesComunicaciones
12
Conceptos fundamentales: Conceptos fundamentales: shellshell
Intérprete de comandosIntérprete de comandos
Pantallas guía, implementación de redireccionamiento Pantallas guía, implementación de redireccionamiento de entrada/salidade entrada/salida
Procesos precedentes, control de trabajos, seudo Procesos precedentes, control de trabajos, seudo terminalesterminales
$ date$ date
$ date >file$ date >file
$ sort <file1 >file2$ sort <file1 >file2
$ cat file1 file2 file3 > /dev/lp1$ cat file1 file2 file3 > /dev/lp1
$ make all >log 2>&1 &$ make all >log 2>&1 &
13
Estructura del Sistema OperativoEstructura del Sistema Operativo
Sistema monolíticosSistema monolíticos
InestructuradoInestructurado
Supervisa solicitudesSupervisa solicitudes
de cambio desde modode cambio desde modo
usuario al modo kernelusuario al modo kernel
App App
Servicios del sistema
Hardware
ProcedimientosSO
Modo Usuario
Modo Kernel
14
SO en CapasSO en Capas
Cada capa proporciona acceso únicamente a la Cada capa proporciona acceso únicamente a la interface de niveles inferioresinterface de niveles inferiores
Programa deAplicación
Programa deAplicación
Programa deAplicación
Servicios del Sistema
Sistema de Archivos
Gestión de Memoria y de Dispositivos de E/S
Planificación de Proceso
Hardware
Modo Usuario
Modo Kernel
15
Microkernel del SOMicrokernel del SO(SO Cliente/Servidor)(SO Cliente/Servidor)
Implementos del Kernel :Implementos del Kernel :
PlanificaciónPlanificación
Gestión MemoriaGestión Memoria
Comunicación Comunicación interprocesos (IPC)interprocesos (IPC)
Servidores modo-usuariosServidores modo-usuarios
ServidorMemoria
AppCliente
ServidorRed
ServidorProcesos
ServidorArchivos
ServidorPantallas
Microkernel
Hardware
petición
respuesta
Modo Usuario
Modo Kernel
16
Orígenes de Windows NTOrígenes de Windows NTSu diseño inició a finales de 1988/principios de 1989 por Dave Cutler y un Su diseño inició a finales de 1988/principios de 1989 por Dave Cutler y un grupo de empleados principiantes en informática en Microsoftgrupo de empleados principiantes en informática en Microsoft
Dave Cutler—leyenda en el mundo de los sistemas operativosDave Cutler—leyenda en el mundo de los sistemas operativosJefe de proyectos en VMS Digital (Virtual Memory System)Jefe de proyectos en VMS Digital (Virtual Memory System)
Internamente, Windows NT tiene mucha similitud con VMS DigitalInternamente, Windows NT tiene mucha similitud con VMS Digital
(planificación, gestión de memoria, E/S y modelo de control)(planificación, gestión de memoria, E/S y modelo de control)
VMS+1=WNT sólo una coincidenciaVMS+1=WNT sólo una coincidencia
El principal objetivo era la sustitución de SO/2El principal objetivo era la sustitución de SO/2Más tarde cambió el objetivo de ser el reemplazo de Windows 3.0Más tarde cambió el objetivo de ser el reemplazo de Windows 3.0
El nombre “Windows NT” fue seleccionado deEl nombre “Windows NT” fue seleccionado deNT proviene de New TechnologyNT proviene de New Technology
Pero en realidad, la arquitectura y la interface de usuario no son realmente nuevas Pero en realidad, la arquitectura y la interface de usuario no son realmente nuevas (en comparación de la mayoría de los SO de 32-bit) (en comparación de la mayoría de los SO de 32-bit)
También, el i860 Risc CPU NT fue originalmente dirigido al que fue el código nominado N-TenTambién, el i860 Risc CPU NT fue originalmente dirigido al que fue el código nominado N-Ten
Interesante libro sobre los primeros años del NT:Interesante libro sobre los primeros años del NT:Es un exitazo!: The Breakneck Race to Create Windows NT and the Next Generation at MicrosoftEs un exitazo!: The Breakneck Race to Create Windows NT and the Next Generation at Microsoft
Autor G. Pascal Zachary, ISBN: 0029356717Autor G. Pascal Zachary, ISBN: 0029356717
NOTA: En el CRK, “Windows” hace referencia a Windows 2000, Windows XP, y NOTA: En el CRK, “Windows” hace referencia a Windows 2000, Windows XP, y Windows Server 2003Windows Server 2003
Donde haya diferencias específicas, éstas se harán notarDonde haya diferencias específicas, éstas se harán notar
17
Historia de las VersionesHistoria de las VersionesAunque el nombre del producto ha variado, internamente, Aunque el nombre del producto ha variado, internamente, cada versión es identificada por un "número de fabricación“cada versión es identificada por un "número de fabricación“
Identificación interna – se incrementa cada vez que es modificado Identificación interna – se incrementa cada vez que es modificado el código fuente de NT (5-6 veces por semana)el código fuente de NT (5-6 veces por semana)Un Calendario interesante: Un Calendario interesante: http://windows2000.about.com/library/weekly/aa010218a.htm
#Fab#Fab VersiónVersión FechaFecha297297 PDC desarrollo liberadoPDC desarrollo liberado Jul 1992Jul 1992511511 NT 3.1NT 3.1 Jul 1993Jul 1993807807 NT 3.5NT 3.5 Sep 1994Sep 199410571057 NT 3.51NT 3.51May 1995May 199513811381 NT 4.0NT 4.0 Jul 1996Jul 199621952195 Windows 2000 (NT 5.0)Windows 2000 (NT 5.0) Dic 1999Dic 199926002600 Windows XP (NT 5.1)Windows XP (NT 5.1) Ago 2001Ago 200137903790 Windows Server 2003 (NT 5.2)Windows Server 2003 (NT 5.2) Mar 2003Mar 200340514051 Guía PDC Desarrollo PrevioGuía PDC Desarrollo Previo Oct 2003Oct 2003
Dentro de CRK, el término Windows se refiere a Windows 2000, XP, Server 2003Dentro de CRK, el término Windows se refiere a Windows 2000, XP, Server 2003
18
Evolción de Windows y LinuxEvolción de Windows y LinuxLos kernels de Windows y Linux se basan en fundamentos Los kernels de Windows y Linux se basan en fundamentos desarrollados a mediados de los años 1970sdesarrollados a mediados de los años 1970s
1970 1980 1990 2000
VMS v1.0
Wind
ows N
T 3.1
NT 4
.0Wind
ows 2
000
Window
s XP
Serv
er 20
03
1970 1980 1990 2000
UNIX bo
rnUNIX
publi
cUNIX
V6
Linux
v1.0
v2.0
v2.2
v2.3
v2.4
v2.6
(ver http://www.levenez.com para consultar los diagramas que muestran la historia
de Windows y Unix