Está en la página 1de 20

Arquitectura de los Sistemas

Operativos

Fundamentos y Arquitectura de Computadores. Curso 2010/2011

Diatel (UPM) Autor: Vicente Hernández Díaz


Índice
Fundamentos y Arquitectura de Computadores. Curso 2010/2011

 Objetivos de los Sistemas Operativos.

 Arquitectura de Windows NT.

 Proceso de arranque de Windows NT.

 Bibliografía.

Diatel (UPM) Autor: Vicente Hernández Díaz


Definición
Fundamentos y Arquitectura de Computadores. Curso 2010/2011

 ¿Qué es un Sistema Operativo?


– Es un conjunto de programas, rutinas,
funciones software, etc. que hace de
interfaz entre el usuario y el hardware de
un sistema informático.
– Objetivos principales:
 Facilitar
el uso de un sistema informático.
 Ofrecer un entorno adecuado para la ejecución
de programas en un sistema informático.

Diatel (UPM) Autor: Vicente Hernández Díaz


Objetivos secundarios
Fundamentos y Arquitectura de Computadores. Curso 2010/2011

 Uso eficiente de recursos:


– CPU: mientras un programa espera a que se cumpla una condición, el
procesador debe seguir ejecutando otro.
– Memoria: se debe asignar memoria a los diferentes programas en
ejecución:
 reduciendo las zonas de memoria sin utilizar.
 permitiendo ejecutar el máximo número posible de programas a la vez.
– Periféricos: se deben aplicar técnicas y algoritmos que reduzcan el tiempo
de las operaciones de E/S.
 spooling de impresoras,
 buffering,
 algoritmos de gestión de discos,
 …
 Detección y corrección de errores.
– Un error provocado por un programa no debe afectar al resto de programas
ni debe detener el funcionamiento del sistema.
– Registro de errores.
 Facilidad en su ampliación y adaptación a los cambios tecnológicos.
– Arquitecturas.
– Técnicas de diseño software.
 Bajo consumo de recursos.
Diatel (UPM) Autor: Vicente Hernández Díaz
Objetivos secundarios (cont.)
Fundamentos y Arquitectura de Computadores. Curso 2010/2011

 Protección
– El sistema operativo debe protegerse a si mismo y al resto
de programas de una posible agresión.
– Sólo son efectivos mecanismos hardware:
 Modo dual de funcionamiento del procesador:
– kernel.
– usuario.
– Protección de los recursos:
 Procesador (CPU):
– cada cierto tiempo se produce una interrupción periódica cuya
ISR conmuta de programa a ejecutar, por lo que ningún programa
consigue el uso en exclusiva del procesador.
 Memoria:
– el hardware impide que un programa acceda a posiciones de
memoria que pertenecen a otro programa.
 E/S:
– el procesador no permite ejecutar el código máquina que accede
directamente a los registros de los periféricos, a las estructuras de
datos del sistema operativo que gestiona la E/S, etc.
Diatel (UPM) Autor: Vicente Hernández Díaz
Objetivos secundarios (cont.)
Fundamentos y Arquitectura de Computadores. Curso 2010/2011

 Protección (cont.)
– Los programas acceden a los recursos hardware a través de una
librerías de funciones que verifican que los parámetros son
correctos, que el usuario tiene suficientes privilegios para realizar
la operación, etc.
– No se pueden evitar o anular los chequeos que hacen las librerías:
PROGRAMA #1 MODO USUARIO MODO KERNEL

ISR interrupción #X:
void main( void ){
•Comprobar permisos del

usuario.
fscanf(fichero,“%d”,&dato); fscanf:
•Añadir una petición de
… lectura sobre un fichero
•Comprobar que los
} parámetros son en las estructuras de
correctos. datos del sistema
operativo.
•Interrupción software
•Rellenar las estructuras
#X. de datos del s.o. que
PROGRAMA #2 •Devolver resultado. indican que el proceso
está en estado de espera.

•Preparar el sistema para
void main( void ){
continuar ejecutando otro
… proceso.
… •Código máquina para
} cambiar el procesador de
modo kernel a usuario.
Diatel (UPM) Autor: Vicente Hernández Díaz
Arquitectura de Windows NT
Fundamentos y Arquitectura de Computadores. Curso 2010/2011

APLICACIONES
PROCESOS DEL SISTEMA SUBSISTEMAS DE ENTORNO
MODO USUARIO

CONTROLADOR VDM
SERVICIOS WOW SERVICIOS
WINLOGON OS/2 SPOOLER APLICACIONES DE
POSIX RPC USUARIO
ADMINISTRADOR REGISTRO DLL DE
SESIONES WIN32 SUCESOS SUBSISTEMA

NTDLL.DLL

SUBPROCESOS
DEL SISTEMA
SERVICIOS DEL SISTEMA (NT NATIVE API)

GESTIÓN DE GESTIÓN GESTIÓN EJECUTIVO VENTANAS


MODO KERNEL

MEMORIA DE CACHÉ
GESTIÓN Y GRÁFICOS
VIRTUAL PROCESOS E/S
GESTIÓN CONFIGURACIÓN
DE E/S MONITOR GESTIÓN
DE DE LPC
SEGURIDAD OBJETOS KERNEL

HAL (Hardware Abstraction Layer)


HARDWARE

Diatel (UPM) Autor: Vicente Hernández Díaz


Arquitectura de Windows NT
Fundamentos y Arquitectura de Computadores. Curso 2010/2011

 HAL (Hardware Abstraction Layer)


– Es una librería dinámica de funciones (HAL.DLL).
– Dichas funciones permiten controlar diversas
tareas relacionadas con el hardware:
 Gestión del DMA.
 Caché de datos e instrucciones.
 Errores hardware.
 Control de interrupciones.
 Gestión de los buses…
– Independiza al resto de componentes del sistema
operativo de la arquitectura hardware.

Diatel (UPM) Autor: Vicente Hernández Díaz


Arquitectura de Windows NT
Fundamentos y Arquitectura de Computadores. Curso 2010/2011

 Kernel
– Se encarga de la gestión del procesador.
 Cambio del proceso en ejecución.
 Sincronización multiprocesador.
– Se encarga de la gestión de interrupciones,
excepciones y traps.
– Ofrece diferentes objetos necesarios en otros
ámbitos del sistema operativo (temporizadores,
mutexes, semáforos, etc.).
– Independiza al resto de componentes del sistema
operativo de la arquitectura hardware (en especial
del procesador).

Diatel (UPM) Autor: Vicente Hernández Díaz


Arquitectura de Windows NT
Fundamentos y Arquitectura de Computadores. Curso 2010/2011

 Ejecutivo
– Se encarga de:
 realizar las operaciones de E/S,
 asignar y retirar zonas de memoria a los procesos,
 planificar la ejecución de los procesos,
 gestionar la caché de E/S,
 gestionar el mecanismo de comunicación entre procesos y
elementos del sistema (LPC),
 gestionar objetos software (procesos, operaciones de E/S,
permisos, etc.),
 verificar permisos y validar las operaciones a realizar y
 gestionar el registro del sistema (elemento que contiene la
configuración del sistema operativo).
– A los servicios del ejecutivo se accede empleando el NT
Native API.

Diatel (UPM) Autor: Vicente Hernández Díaz


Arquitectura de Windows NT
Fundamentos y Arquitectura de Computadores. Curso 2010/2011

 Ventanas y gráficos
– Se encarga de:
 gestionar dispositivos apuntadores y de entrada de
datos,
 dar forma a los datos para presentación en pantalla y
 gestionar ventanas y gráficos en pantalla.
– Se puede considerar que forma parte del ejecutivo
del sistema.
 Subprocesos del sistema
– Son subprocesos cuyo código se ejecuta siempre
en modo kernel y que se encargan de:
 detectar que se ha insertado un disquete,
 analizar periódicamente el grado de ocupación de la
memoria,
 etc.
Diatel (UPM) Autor: Vicente Hernández Díaz
Arquitectura de Windows NT
Fundamentos y Arquitectura de Computadores. Curso 2010/2011

 NTDLL.DLL
– API de funciones que permiten acceder a los servicios del ejecutivo
desde aplicaciones en modo usuario.
 Subsistemas de entorno
– Crean el entorno necesario para ejecutar en Windows NT
aplicaciones desarrolladas para otros sistemas operativos (POSIX,
OS/2, Windows 16 bits, Windows 32 bits, etc.).
– El subsistema Windows 32 bits está siempre arrancado porque lo
precisan muchos elementos de Windows NT. El resto de
subsistemas se arranca sólo si alguna aplicación lo demanda.
– Por cada sistema operativo simulado, existe una o varias librerías
(DLLs) que establecen la relación entre las funciones del sistema
operativo simulado y las de Windows NT (Windows 32 bits).
 Aplicaciones de usuario
– Programas de usuario tales como editores de texto, compiladores,
clientes de correo electrónico, navegadores WEB, etc.
– Acceden a los servicios del sistema operativo a través de las
librerías de subsistema de entorno.

Diatel (UPM) Autor: Vicente Hernández Díaz


Arquitectura de Windows NT
Fundamentos y Arquitectura de Computadores. Curso 2010/2011

 Servicios
– Son procesos que ofrecen algún tipo de servicio a
otros procesos locales o remotos.
– No registran ninguna actividad mientras no
reciban ninguna petición de un cliente.
 Procesos del sistema
– Son procesos que forman parte del sistema
operativo y que realizan tareas tales como:
 Autenticación de usuarios.
 Gestión de servicios.
 Administración de sesiones de trabajo de los usuarios.

Diatel (UPM) Autor: Vicente Hernández Díaz


Arranque de Windows NT
Fundamentos y Arquitectura de Computadores. Curso 2010/2011

A Al encender el PC…

EJECUCIÓN DE LA BIOS:
•TEST DE ARRANQUE.
•EXTENSIONES DE BIOS.

RISC PROCESADOR x86


?

LA BIOS LOCALIZA EL DISPOSITIVO DE ARRANQUE


BUSCANDO UN SECTOR DE ARRANQUE.

DISQUETE DISCO DURO


C ARRANQUE?

LA BIOS CARGA EL SECTOR DE


ARRANQUE (SECTOR 0, PISTA 0) Y LE
TRANSFIERE LA EJECUCIÓN

B
Diatel (UPM) Autor: Vicente Hernández Díaz
Arranque de Windows NT
Fundamentos y Arquitectura de Computadores. Curso 2010/2011

x86 (Disco Duro)

LA BIOS CARGA EL MBR Y LE TRANSFIERE LA


EJECUCIÓN:
•El Master Boot Record (MBR) se crea cuando se
crea la primera partición.
•Ocupa el cilindro 0, pista 0, sector 1.
•Contiene la tabla de particiones y un pequeño
programa ejecutable.

EL MBR:
•Comprueba la tabla de particiones.
•Determina la partición de arranque en función del
contenido de la tabla de particiones.
•Carga en memoria el sector de arranque (primer
sector de la partición de arranque) y le transfiere la
ejecución.

Un disco físico se puede dividir en varios discos “lógicos”:


particiones. Cada partición ocupa varios cilindros consecutivos.

Diatel (UPM) Autor: Vicente Hernández Díaz


Arranque de Windows NT
Fundamentos y Arquitectura de Computadores. Curso 2010/2011

El firmware de una plataforma es el software de gestión de la misma


RISC contenido en una memoria de sólo lectura.

LA BIOS CARGA EL OSLOADER Y LE


TRANSFIERE LA EJECUCIÓN. EN EL FIRMWARE Y
EN LA NVRAM DE LA PLATAFORMA SE
ENCUENTRA LA INFORMACIÓN SOBRE LA
PARTICIÓN DE ARRANQUE Y LA UBICACIÓN
DEL PROGRAMA OSLOADER.

EL OSLOADER:
•Realiza las mismas funciones que NTLDR,
NTDETECT.COM y BOOTSECT.DOS
(BOOT.INI está en NVRAM).
•No detecta el hardware. La información sobre el
hardware instalado está registrado en el firmware.

NVRAM es memoria para lectura y escritura no volátil. Se


puede implementar mediante memoria SRAM alimentada con
baterías o con EEPROM.

Diatel (UPM) Autor: Vicente Hernández Díaz


Arranque de Windows NT
Fundamentos y Arquitectura de Computadores. Curso 2010/2011

SE ANALIZA EL SECTOR DE ARRANQUE PARA LOCALIZAR Y


CARGAR EL FICHERO NTLDR. SE LE TRANSFIERE LA EJECUCIÓN.

PROCESADOR PASA A TRABAJAR EN 32 BITS.

ANTIGUO S.O. A CARGAR? NT


(BOOT.INI)

SE CARGA SECTOR DE SE DETECTA HARDWARE BÁSICO


ARRANQUE ANTIGUO (NTDETECT.COM)
(BOOTSECT.DOS) Y SE LE
TRANSFIERE LA
EJECUCIÓN SE CARGAN DRIVERS BÁSICOS,
NTOSKRNL.EXE Y HAL.DLL. SE
TRANSFIERE EJECUCIÓN A NTOSKRNL.EXE.
SOFTWARE EN MODO KERNEL
DEL S.O. (EJECUTIVO + KERNEL) C

Diatel (UPM) Autor: Vicente Hernández Díaz


Arranque de Windows NT
Fundamentos y Arquitectura de Computadores. Curso 2010/2011

NTOSKRNL.EXE:
•Programa las interrupciones y excepciones del sistema.
•Inicializa controladores cargados en la fase anterior y carga e inicializa el resto.
•Crea un proceso que es el encargado de crear el resto:
•Crea subprocesos relacionados con la gestión del sistema operativo:
•Gestión de la memoria.
•Detección de disquete.
•…
•Administración de sesiones: SMSS.EXE:
•Inicializaciones previas a la ejecución de cualquier programa de usuario.
•Arranca subsistema de entorno WIN32 (CSRSS.EXE).
•Crea el proceso WINLOGON.EXE
○ Se arrancan los servicios (SERVICES.EXE).
○ Se arranca el proceso encargado de la seguridad local (LSASS.EXE).
○ Se arranca la interfaz de usuario (USERINT.EXE).
● Se arranca el escritorio del usuario (EXPLORER.EXE).

Diatel (UPM) Autor: Vicente Hernández Díaz


Estructura de un disco
Fundamentos y Arquitectura de Computadores. Curso 2010/2011

Cilindro: agrupa a Cabezas de lectura y


todas las pistas que escritura
están a la misma
distancia del eje.

Sector: elemento en el
que se divide una
pista. Normalmente de
512 bytes.

Pista de datos: coronas Elementos de


concéntricas de datos. almacenamiento. Doble
cara.

Diatel (UPM) Autor: Vicente Hernández Díaz


Bibliografía
Fundamentos y Arquitectura de Computadores. Curso 2010/2011

 “A fondo la arquitectura de Windows NT”


– David A. Solomon
– McGraw-Hill, 1999
 Capítulos 1 y 2
 “Microsoft Windows NT 4.0 Workstation : kit
de recursos”
– Microsoft Corporation
– McGraw-Hill, 1997
 Capítulos 5, 17, 18 y 19
 “Sistemas Operativos. 5ª Edición”
– Abraham Silberschatz y Peter Baer Galvin
– Addison Wesley Longman, 1999
 Capítulos 1, 2 y 3

Diatel (UPM) Autor: Vicente Hernández Díaz