Sie sind auf Seite 1von 25

Unidad SO1: Descripcin de los Sistemas Operativos

1.2. La Evolucin de los Sistemas Operativos

Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze

Derechos Reservados
2000-2005 David A. Solomon and Mark Russinovich

Estos materiales son parte de Windows Operating System Internals Curriculum Development Kit, realizados por David A. Solomon y Mark E. Russinovich junto con Andreas Polze Microsoft ha licenciado estos materiales de David Solomon Expert Seminars, Inc. para distribucin en organizaciones acadmicas nicamente para fines educativos (y no para uso comercial)

Gua para la Seccin 1.2.

Historia de los Sistemas Operativos


Tareas de un Sistema Operativo SO como una extensin del hardware Conceptos fundamentales: procesamiento, archivos, accesos al sistema Estructura del Sistema Operativo

Conceptos de Sistemas Operativos


Programas del Sistema para la gestin de los recursos

Complejidad para encubrir en el SO el hardware subyacente


Arquitecturas en capas
Sistema Bancario Compiladores
Reservacin

Aerea Editores

Navegador Web Intrprete de comandos

Programas de Aplicacin

Programas del Sistema

Sistema Operativo Lenguaje de mquina

Microprogramacin
Dispositivos Fsicos

Hardware

Historia de Sistemas Operativos


Procesamiento en Batch
Los elementos del sistema bsicos de IBM 1401 son, la Unidad de Procesamiento 1401 , Lector de Tarjetas Perforadas 1402, y la impresora 1403.

Programacin en tarjetas perforadas

Multiprocesamiento
Job 3 Job 2 Job 1 OS Particiones de Memoria

La Evolucin de la Funcionalidad del Sistema Operativo


Procesamiento de Trabajos en Batch

Enlace de rutinas de libreras a programas


Gestin de archivos, dispositivos de E/S, almacenamiento secundario Multiprogramacin Gestin de los recursos compartidos para la programacin mltiple

Ejecucin del programa Quasi-simultaneo


Usuario nico Multiusuarios/Sistemas de Recursos Compartidos Gestin de mltiples usuarios simultneos interconectados a travs de terminales Gestin adecuada de recursos: planificacin del CPU, spooling, exclusin mutua Sistemas de Tiempo-Real (sistemas de control de procesos) Gestin de procesos de tiempo-crtico Altos requisitos con respecto a confiabilidad y a disponibilidad
6

Tareas de un Sistema Operativo


Gestin de Procesamiento Planificacin Equidad Disposicin de Des-bloqueo Prioridades Gestin de Memoria Memoria Virtual contra Memoria Fsica, jerarquizacin de memoria

Proteccin de programas emulados/concurrentes


Gestin de Almacenamiento Sistema de Archivos Acceso a medios externos de almacenamiento Gestin de Dispositivos Encubriendo las dependencias de hardware

Gestin de accesos concurrentes


Procesamiento en Batch Definicin de una orden de ejecucin; rendimiento maximizado

Kernel y Programas en Modo Usuario


Tpica implementacin funcional en cualquier modalidad: Kernel: Modalidad con Privilegios Estricta suposicin acerca de la fiabilidad/seguridad del cdigo Memoria residente

CPU-, memoria-, gestin de Entrada/Salida


Gestin de Multiprocesamiento, diagnstico, prueba Partes de un sistema de archivos y de la interface de la red Ambiente Usuario: Mayor flexibilidad

Fcil mantenimiento y depuracin


Compilador, ensamblador, interprete, enlace/carga Gestin de sistema de archivos, telecomunicaciones, gestin de la red Editores, hojas de clculos, aplicaciones de usuario
8

Conceptos del Modelo en Capas del Sistema Operativo


no nombre 1 2 3 4 5 6 7 8 Circuitos integrados Lenguaje mquina Enlace a subrutina Interruptores Procesos simples Memoria local Modelo virtual objetos tpicos registro, compuerta, bus
contador de instruccin, ALU

operaciones tpicas Nand, Nor, Exor


agregar, mover, cargar, almacenar

bloque del procedimiento control de interruptores proceso, semforos


bloque de datos, Canal de E/S

llamada a pila, JSR, RTS bus de error, restaurar esperar, preparar, ejecutar leer, escribir, abrir, cerrar leer, escribir, cambiar leer, escribir, abrir

pgina, esquema

Proceso de comunicacin canal(conducto), mensaje

Gestin de archivos

archivo
memoria ext., terminales flujo de datos procesos de usuario tablas internas ventanas, mens, conos

leer, escribir, abrir, copiar


leer, escribir abrir, cerrar, leer, escribir acceso, salida, derivacin crear, borrar, modificar sistema de llamadas a SO
9

10 Gestin de dispositivos 11 Flujo de datos E/S 12 Procesos de usuario 13 Gestin del directorio 14 Interface grfica

Desempeo del SO como una Extensin del Hardware


Aspecto del Sistema: modelo en capas del SO

Detalles de implementacin en una sola capa se ocultan a las capas superiores


Mismo equipo, diferentes sistemas operativos: IBM PC: DOS, Linux, NeXTSTEP, Windows, SCO Unix

DEC VAX: VMS, Ultrix-32, 4.3 BSD UNIX


Mismo SO, diferentes equipos: UNIX PC (XENIX 286, APPLE A/UX) CRAY-Y/MP (UNICOS - AT&T Sys V) IBM 360/370 (Amdahl UNIX UTS/580, IBM UNIX AIX/ESA) Windows NT, XP, 2000, 2003 Intel i386 (i486 an NT 4.0), Alpha, PowerPC, MIPS, Itanium

10

Evolucin de los Sistema Operativos


55 60 65 DOS/360 70 75 80 85 90 VS/ESA MVS/ES 95 00 03 LINUX 2.6 SOLARIS 10 VM/ESA VS MVS/XA OS/360 CP/CM5 TSO UNIX IOCS IBSYS

CTSS MULTICS RSX-11M RT-11 CP/M VMS 1.0 4.1BSD XENIX MS-DOS 1.0 WIN 3.0 VMS 5.4

DOS/VDSE MVS/370

VM/370
SYSTEM III VM/XA SYSTEM V SYSTEM V.4

UNIXV.7

SUN OS 4.2BSD AIX POSIX MACH OSF/1 4.3BSD AIX/370 SOLARIS 2 4.4BSD

DR/DOS OS/2

WIN 3.1

LINUX AIX/ESA

WIN NT

WIN 9X

VMS 7.3 WIN 2000 WIN XP WIN Server 2003

11

Conceptos fundamentales: Procesos


Procesos, tabla de proceso, imagen bsica
Interprete de comandos, shell rbol de procesos
nuevo preparado funcionando finalizado

A B D E F C

rbol de procesos
bloqueado

Planificacin, seales Identificacin de usuario, identificacin de grupo


12

Conceptos fundamentales: Archivos


Archivos, directorios, raz Ruta, directorio de trabajo Proteccin, bits rwx Descriptor de archivo, control Archivos especiales, dispositivos E/S Bloque de E/S, caracter de E/S Estndares entrada/salida/error Conductos
tmp

Directorio raz

etc

usr

mia

pit

13

Conceptos fundamentales: Llamadas al sistema


Servicios del sistema operativo para el acceso a programas de usuario a travs de llamadas al sistema Transmisin de parmetros a travs del canal, registro, pila count=read(file, buffer, nbytes); 5 clases generales de llamadas a sistema:
Control de procesos
Manipulacin de archivos Manipulacin de dispositivos Mantenimiento a la informacin Comunicaciones
14

Conceptos fundamentales: shell


Intrprete de comandos Pantallas gua, implementacin de redireccionamiento de entrada/salida

Procesos precedentes, control de trabajos, seudo terminales


$ date

$ date >file
$ sort <file1 >file2 $ cat file1 file2 file3 > /dev/lp1

$ make all >log 2>&1 &


15

Estructura del Sistema Operativo


Sistema monolticos Inestructurado Supervisa solicitudes de cambio desde modo usuario al modo kernel
Procedimientos SO

App

App
Modo Usuario Modo Kernel

Servicios del sistema

Hardware
16

SO en Capas
Cada capa proporciona acceso nicamente a la interface de niveles inferiores
Programa de Aplicacin Programa de Aplicacin Programa de Aplicacin

Modo Usuario Modo Kernel

Servicios del Sistema Sistema de Archivos

Gestin de Memoria y de Dispositivos de E/S

Planificacin de Proceso

Hardware

17

Microkernel del SO (SO Cliente/Servidor)


Implementos del Kernel :
Planificacin Gestin Memoria
App Cliente Servidor Procesos Servidor Memoria Servidor Archivos Servidor Red Servidor Pantallas
Modo Usuario
Modo Kernel

Comunicacin interprocesos (IPC)


Servidores modo-usuarios
peticin

Microkernel
respuesta

Hardware
18

Microkernel del SO Mach Gestin de Memoria Extendida


Control de paginacin por el servidor de ambiente-usuario
Puerto: com. endpoint, red-ampliada
srvmenred
Servicios de notificacin

Objeto de mapa de memoria (vm_map())

cliente
Pagina de fallas

kernel

Servicios de Bsqueda

carga objeto de memoria

solicitudes

Control de fallas y consistencia

paginacin

19

Microkernel del SO Mach Distribucin del Sistema de Memoria Particionada


Memorias de acceso remoto, directivas de puertos de acceso - ACL
Kernel A
3 memory_object_lock_completed 1 2 memory_object_lock_request should_flush=TRUE

memory_object_data_request access=VM_PROT_WRITE

Kernel C
4 memory_object_data_provided lock_value=VM_PROT_NONE memory_object_lock_completed 3

pgina
2

Kernel B

memory_object_lock_request should_flush=TRUE

20

Orgenes de Windows NT
Su diseo inici a finales de 1988/principios de 1989 por Dave Cutler y un grupo de empleados principiantes en informtica en Microsoft
Dave Cutlerleyenda en el mundo de los sistemas operativos
Jefe de proyectos en VMS Digital (Virtual Memory System)

Internamente, Windows NT tiene mucha similitud con VMS Digital


(planificacin, gestin de memoria, E/S y modelo de control) VMS+1=WNT slo una coincidencia

El principal objetivo era la sustitucin de SO/2


Ms tarde cambi el objetivo de ser el reemplazo de Windows 3.0 El nombre Windows NT fue seleccionado de
NT proviene de New Technology
Pero en realidad, la arquitectura y la interface de usuario no son realmente nuevas (en comparacin de la mayora de los SO de 32-bit)

Tambin, el i860 Risc CPU NT fue originalmente dirigido al que fue el cdigo nominado N-Ten

Interesante libro sobre los primeros aos del NT:


Es un exitazo!: The Breakneck Race to Create Windows NT and the Next Generation at Microsoft Autor G. Pascal Zachary, ISBN: 0029356717

NOTA: En el CRK, Windows hace referencia a Windows 2000, Windows XP, y Windows Server 2003
Donde haya diferencias especficas, stas se harn notar
21

VMS y Windows

(Virtual Memory System Sistema de Memoria Virtual)

- un vistazo sobre las arquitecturas


Entorno de Subsistemas

Diseo en capas para sistema operativo VAX/VMS


Productos en Capas (Apps) Herramientas para Desarrollos de Programas

Procesos del Sistema y Servicios Modo Usuario Modo Kernel

Aplicacin de Usuario Subsistema DLL

SO/2

Windows

POSIX Windows

Utilerias
Usuario

Libreras de Soporte

Ejecutivo Control de dispositivo Kernel


Manejador de dispositivos Windows Usuario/GDI

Interprete de Lenguaje de Comandos (CLI) Supervisor Servicio de Gestin de Registro (RMS) Ejecutivo

Capas de Abstraccin del Hardware (HAL)

Servicios del Sistema Kernel


Gestin de Memoria Subsistema de E/S Gestin de procesamiento y tiempo

Arquitectura de alto-nivel de Windows

Estructuras de datos del Sistema-extendido Capas de Nivel de Adaptacin (PAL) - Alfa

22

Historia de las Versiones


Aunque el nombre del producto ha variado, internamente, cada versin es identificada por un "nmero de fabricacin
Identificacin interna se incrementa cada vez que es modificado el cdigo fuente de NT (5-6 veces por semana) Un Calendario interesante: http://windows2000.about.com/library/weekly/aa010218a.htm #Fab 297 511 807 1057 1381 2195 2600 3790 4051 Versin PDC desarrollo liberado NT 3.1 NT 3.5 NT 3.51 NT 4.0 Windows 2000 (NT 5.0) Windows XP (NT 5.1) Windows Server 2003 (NT 5.2) Gua PDC Desarrollo Previo Fecha Jul 1992 Jul 1993 Sep 1994 May 1995 Jul 1996 Dic 1999 Ago 2001 Mar 2003 Oct 2003
23

Dentro de CRK, el trmino Windows se refiere a Windows 2000, XP, Server 2003

Evolcin de Windows y Linux


Los kernels de Windows y Linux se basan en fundamentos desarrollados a mediados de los aos 1970s
1970 1980 1990 2000

1970

1980

1990

2000

(ver http://www.levenez.com para consultar los diagramas que muestran la historia

de Windows y Unix

24

Lecturas Complementarias
Dennis M. Ritchie, The Evolution of the Unix Time-sharing System,
in Proc. of Lang. Design and Programming Meth. Conf., Sydney, Australia, Sept 1979, Notas de la clase en ciencias de la computacin #79, Springer-Verlag, 1980.

David Donald Miller, OpenVMS Operating System Concepts,


2da Ed., Edicin Digital, 1997.

Historia de los Sistemas Operativos Digitales (desde pag. 447)

Mark E. Russinovich y David A. Solomon, Microsoft Windows Internals,


4a Edicin, Editorial Microsoft, 2004. Perspectiva Historica (desde pag. xix)

G. Pascal Zachary, Un exitazo! The Breakneck Race to Create Windows NT and the Next Generation at Microsoft,
ISBN: 0029356717, Editorial Free, 1994.

25

Das könnte Ihnen auch gefallen