arquitectura sistemas operativos

20
Fundamentos y Arquitectura de Computadores. Curso 2010/2011 Diatel (UPM) Autor: Vicente Hernández Díaz Arquitectura de los Sistemas Operativos

Upload: danira-vazquez

Post on 23-Oct-2015

21 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Arquitectura Sistemas Operativos

Fundamentos y Arquitectura de Computadores. Curso 2010/2011

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

Arquitectura de los Sistemas Operativos

Page 2: Arquitectura Sistemas Operativos

Fund

amen

tos y

Arq

uite

ctur

a de

Com

puta

dore

s. C

urso

201

0/20

11

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

Índice

Objetivos de los Sistemas Operativos.

Arquitectura de Windows NT.

Proceso de arranque de Windows NT.

Bibliografía.

Page 3: Arquitectura Sistemas Operativos

Fund

amen

tos y

Arq

uite

ctur

a de

Com

puta

dore

s. C

urso

201

0/20

11

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

Definición ¿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.

Page 4: Arquitectura Sistemas Operativos

Fund

amen

tos y

Arq

uite

ctur

a de

Com

puta

dore

s. C

urso

201

0/20

11

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

Objetivos secundarios 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.

Page 5: Arquitectura Sistemas Operativos

Fund

amen

tos y

Arq

uite

ctur

a de

Com

puta

dore

s. C

urso

201

0/20

11

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

Objetivos secundarios (cont.) 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.

Page 6: Arquitectura Sistemas Operativos

Fund

amen

tos y

Arq

uite

ctur

a de

Com

puta

dore

s. C

urso

201

0/20

11

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

Objetivos secundarios (cont.) 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

void main( void ){

fscanf(fichero,“%d”,&dato);

}

fscanf:

•Comprobar que los parámetros son correctos.

•Interrupción software #X.

•Devolver resultado.

ISR interrupción #X:

•Comprobar permisos del usuario.

•Añadir una petición de lectura sobre un fichero en las estructuras de datos del sistema operativo.

•Rellenar las estructuras de datos del s.o. que indican que el proceso está en estado de espera.

•Preparar el sistema para continuar ejecutando otro proceso.

•Código máquina para cambiar el procesador de modo kernel a usuario.

PROGRAMA #2

void main( void ){

}

MODO KERNELMODO USUARIO

Page 7: Arquitectura Sistemas Operativos

Fund

amen

tos y

Arq

uite

ctur

a de

Com

puta

dore

s. C

urso

201

0/20

11

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

VDMWOWOS/2

POSIX

Arquitectura de Windows NTM

OD

O U

SUA

RIO

MO

DO

KER

NEL

HARDWARE

HAL (Hardware Abstraction Layer)

KERNEL

EJECUTIVO

SUB

PRO

CESO

S D

EL SISTEMA

APLICACIONES DE USUARIO

DLL DE SUBSISTEMA

NTDLL.DLL

VENTANAS Y GRÁFICOS

GESTIÓN DE E/S

GESTIÓN DE MEMORIA VIRTUAL

GESTIÓN DE

PROCESOS

SERVICIOS DEL SISTEMA (NT NATIVE API)

MONITOR DE

SEGURIDAD

GESTIÓN DE

OBJETOS

GESTIÓN CACHÉ

E/S

LPC

GESTIÓN CONFIGURACIÓN

CONTROLADOR SERVICIOS

WINLOGON

ADMINISTRADOR SESIONES

PROCESOS DEL SISTEMA APLICACIONES

WIN32

SUBSISTEMAS DE ENTORNO

SPOOLERRPC

REGISTRO SUCESOS

SERVICIOS

Page 8: Arquitectura Sistemas Operativos

Fund

amen

tos y

Arq

uite

ctur

a de

Com

puta

dore

s. C

urso

201

0/20

11

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

Arquitectura de Windows NT 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.

Page 9: Arquitectura Sistemas Operativos

Fund

amen

tos y

Arq

uite

ctur

a de

Com

puta

dore

s. C

urso

201

0/20

11

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

Arquitectura de Windows NT 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).

Page 10: Arquitectura Sistemas Operativos

Fund

amen

tos y

Arq

uite

ctur

a de

Com

puta

dore

s. C

urso

201

0/20

11

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

Arquitectura de Windows NT 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.

Page 11: Arquitectura Sistemas Operativos

Fund

amen

tos y

Arq

uite

ctur

a de

Com

puta

dore

s. C

urso

201

0/20

11

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

Arquitectura de Windows NT 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.

Page 12: Arquitectura Sistemas Operativos

Fund

amen

tos y

Arq

uite

ctur

a de

Com

puta

dore

s. C

urso

201

0/20

11

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

Arquitectura de Windows NT 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.

Page 13: Arquitectura Sistemas Operativos

Fund

amen

tos y

Arq

uite

ctur

a de

Com

puta

dore

s. C

urso

201

0/20

11

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

Arquitectura de Windows NT 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.

Page 14: Arquitectura Sistemas Operativos

Fund

amen

tos y

Arq

uite

ctur

a de

Com

puta

dore

s. C

urso

201

0/20

11

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

Arranque de Windows NTA

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

PROCESADOR?

x86RISC

ARRANQUE?

LA BIOS LOCALIZA EL DISPOSITIVO DE ARRANQUE BUSCANDO UN SECTOR DE ARRANQUE.

DISCO DURODISQUETE

LA BIOS CARGA EL SECTOR DE ARRANQUE (SECTOR 0, PISTA 0) Y LE

TRANSFIERE LA EJECUCIÓN

B

C

Al encender el PC…

Page 15: Arquitectura Sistemas Operativos

Fund

amen

tos y

Arq

uite

ctur

a de

Com

puta

dore

s. C

urso

201

0/20

11

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

Arranque de Windows NT

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.

x86 (Disco Duro)

Page 16: Arquitectura Sistemas Operativos

Fund

amen

tos y

Arq

uite

ctur

a de

Com

puta

dore

s. C

urso

201

0/20

11

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

Arranque de Windows NT

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.

RISC El firmware de una plataforma es el software de gestión de la misma contenido en una memoria de sólo lectura.

NVRAM es memoria para lectura y escritura no volátil. Se puede implementar mediante memoria SRAM alimentada con

baterías o con EEPROM.

Page 17: Arquitectura Sistemas Operativos

Fund

amen

tos y

Arq

uite

ctur

a de

Com

puta

dore

s. C

urso

201

0/20

11

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

Arranque de Windows NTB

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.

S.O. A CARGAR? (BOOT.INI)

ANTIGUO

SE CARGA SECTOR DE ARRANQUE ANTIGUO

(BOOTSECT.DOS) Y SE LE TRANSFIERE LA

EJECUCIÓN

SE DETECTA HARDWARE BÁSICO (NTDETECT.COM)

SE CARGAN DRIVERS BÁSICOS, NTOSKRNL.EXE Y HAL.DLL. SE

TRANSFIERE EJECUCIÓN A NTOSKRNL.EXE.

C

NT

SOFTWARE EN MODO KERNEL DEL S.O. (EJECUTIVO + KERNEL)

Page 18: Arquitectura Sistemas Operativos

Fund

amen

tos y

Arq

uite

ctur

a de

Com

puta

dore

s. C

urso

201

0/20

11

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

Arranque de Windows NT

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).

C

Page 19: Arquitectura Sistemas Operativos

Fund

amen

tos y

Arq

uite

ctur

a de

Com

puta

dore

s. C

urso

201

0/20

11

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

Estructura de un disco

Elementos de almacenamiento. Doble

cara.

Pista de datos: coronas concéntricas de datos.

Cabezas de lectura y escritura

Sector: elemento en el que se divide una

pista. Normalmente de 512 bytes.

Cilindro: agrupa a todas las pistas que

están a la misma distancia del eje.

Page 20: Arquitectura Sistemas Operativos

Fund

amen

tos y

Arq

uite

ctur

a de

Com

puta

dore

s. C

urso

201

0/20

11

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

Bibliografía “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