1.2 OS Evolution ESP

18
Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze Polze Unidad SO1: Unidad SO1: Descripción de los Descripción de los Sistemas Operativos Sistemas Operativos 1.2. La Evolución de los Sistemas 1.2. La Evolución de los Sistemas Operativos Operativos

description

1.2 OS Evolution ESP

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