sistemas operativos unidad i introducción ciclo escolar 2010-2011b

48
Sistemas Operativos Unidad I Introducción Ciclo Escolar 2010-2011B

Upload: ernesto-martin-guzman

Post on 02-Feb-2016

225 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sistemas Operativos Unidad I Introducción Ciclo Escolar 2010-2011B

Sistemas Operativos

Unidad IIntroducción

Ciclo Escolar 2010-2011B

Page 2: Sistemas Operativos Unidad I Introducción Ciclo Escolar 2010-2011B

Introducción

Concepto, historia y evolución Clasificación y estructura

Casos de estudio Arranque y activación

Ciclo Escolar 2010-2011B

Page 3: Sistemas Operativos Unidad I Introducción Ciclo Escolar 2010-2011B

Concepto, historia y evolución

Definiciones: El software y/o firmware que hace utilizable al

hardware [Deitel]. Es un programa que controla la ejecución de

los programas de aplicación y que actúa como interfaz entre los usuarios y el hardware [Satllings].

Es un programa que actúa como intermediario entre el usuario y el hardware. El primer objetivo es la comodidad, el segundo la eficiencia [Silberschatz].

Es un programa que tiene encomendada una serie de funciones diferentes cuyo objetivo es simplificar el manejo y utilización de la computadora, haciéndolo seguro y eficiente [Carretero].

Ciclo Escolar 2010-2011B

Page 4: Sistemas Operativos Unidad I Introducción Ciclo Escolar 2010-2011B

Concepto, historia y evolución … (2)

Se puede considerar que un S.O. tiene tres objetivos: Comodidad.

Hace que un sistema informático sea más fácil y cómodo de utilizar, al funcionar como una interfaz entre el usuario y el hardware, presentando una cara amistosa y sencilla.

Eficiencia. Administrar los recursos del sistema informático de

forma eficiente. Dichos recursos pueden ser físicos (procesador, memoria principal, periféricos, etc.) o lógicos (archivos, puertos de comunicación, etc.).

Capacidad de evolución. El S.O. debe construirse de modo que permita el

desarrollo efectivo, la verificación y la introducción de nuevas características al sistema y, a la vez, no interfiera con los servicios que brinda.

Ciclo Escolar 2010-2011B

Page 5: Sistemas Operativos Unidad I Introducción Ciclo Escolar 2010-2011B

Concepto, historia y evolución … (3)

Jerarquía de elementos en una computadora

Vistas de un sistema operativo El sistema operativo como gestor de recursos. El Sistema operativo como una máquina extendida. El sistema operativo como una interfaz de usuario.

Hardware del computador(PC, Mac, Sun, …)

Hardware del computador(PC, Mac, Sun, …)

Sistema Operativo(Windows, Linux, Mac OS X)

Sistema Operativo(Windows, Linux, Mac OS X)

Utilidades(Shell, Ensamblador, Enlazador, bibliotecas, …)

Utilidades(Shell, Ensamblador, Enlazador, bibliotecas, …)

Programas de aplicación(Resuelven problemas para los usuarios)

(Word, Excel, …)

Programas de aplicación(Resuelven problemas para los usuarios)

(Word, Excel, …)

UsuarioFinal

Programador

Diseñador del Sistema

Operativo

Ciclo Escolar 2010-2011B

Page 6: Sistemas Operativos Unidad I Introducción Ciclo Escolar 2010-2011B

Concepto, historia y evolución … (4)

El sistema operativo como gestor de recursos. Asigna recursos

Se encarga de asignar los recursos a los programas en ejecución en función de la disponibilidad de estos y la prioridad de los programas.

También tiene que recuperar los recursos asignados cuando los programas ya no los necesiten.

Los recursos pueden ser físicos o lógicos. Protege

Tiene que asegurar la confidencialidad de la información y que los trabajos no interfieran entre sí por los recursos asignados.

Hace contabilidad Mide la cantidad de recursos, que a lo largo de

su ejecución, utiliza cada programa. Bitácoras y Monitorización

Ciclo Escolar 2010-2011B

Page 7: Sistemas Operativos Unidad I Introducción Ciclo Escolar 2010-2011B

Concepto, historia y evolución … (5)

El Sistema operativo como una máquina extendida. Ofrece a los programas un conjunto de servicios, o llamadas

al sistema, que pueden solicitar cuando lo necesiten. Los servicios se pueden agrupar en cuatro clases:

Ejecución de programas. El S.O. incluye servicios para lanzar a ejecución, parar o abortar un

programa. Órdenes de E/S.

Servicios para proveer a los programas de operaciones de lectura, escritura y modificación del estado de los periférico, de forma cómoda y protegida.

Operaciones sobre archivos. Es un nivel de abstracción mayor que las órdenes de E/S. Estos

servicios permiten: creación, borrado, apertura, escritura y lectura de archivos.

Detección y tratamiento de errores. El S.O. debe tratar todas las condiciones de error que detecte el

hardware. Algunos de los errores que pueden aparecer son provocados por la E/S y otros por la ejecución de los programas.

Ciclo Escolar 2010-2011B

Page 8: Sistemas Operativos Unidad I Introducción Ciclo Escolar 2010-2011B

Concepto, historia y evolución … (6)

El sistema operativo como una interfaz de usuario. Permite que los usuarios dialoguen de forma

interactiva con el sistema. El dialogo puede ser a través de:

Interfaz de Texto. Se conoce como shell o intérprete de mandatos. Espera que el usuario teclee una orden en el

shell. Después la analiza y si es válida la ejecuta. Una vez que esta concluye retorna a la espera.

Interfaz grafica. Existen elementos gráficos para comunicarse

con el S.O. (botones, menús, iconos, etc.). Espera por eventos generados por el ratón y el

teclado. Valida el evento y lo ejecuta. Una vez ejecutado retorna a la espera de más eventos.

La próxima interfaz será hardware!!

Ciclo Escolar 2010-2011B

Page 9: Sistemas Operativos Unidad I Introducción Ciclo Escolar 2010-2011B

Concepto, historia y evolución … (7)

Los S.O. han estado evolucionando a través de los años. Su historia y desarrollo esta ligado con las generaciones de computadoras. Prehistoria (años cuarenta).

Prácticamente sin S.O. Procesamiento en serie.

Primera generación (años cincuenta). Procesamiento por lotes

Segunda generación (años sesenta) Multiprogramación y tiempo compartido.

Tercera generación (años setenta) Sistemas de propósito general y multimodo de

operación. Cuarta generación (años ochenta hasta la

actualidad) Proceso distribuido. Se difunde el concepto de máquina virtual.

Ciclo Escolar 2010-2011B

Page 10: Sistemas Operativos Unidad I Introducción Ciclo Escolar 2010-2011B

Concepto, historia y evolución … (8)

Prehistoria (años cuarenta) Máquinas como la ENIAC o la EDVAC. No existía un S.O. La interacción se

daba directamente con el hardware. El usuario debía codificar su

programa en código máquina, introducirlo mediante tarjetas perforadas y recibir la salida de forma impresa.

El procesamiento se dice que se realiza en serie por que refleja el hecho de que los usuarios tenían que acceder en serie al computador.

Con el paso del tiempo, para hacer más eficiente el proceso en serie, se desarrollaron bibliotecas de funciones comunes, montadores, cargadores, depuradores, etc.

ENIAC

EDVAC

Ciclo Escolar 2010-2011B

Page 11: Sistemas Operativos Unidad I Introducción Ciclo Escolar 2010-2011B

$END

$RUN

$LOAD

$FTN

Concepto, historia y evolución … (9)

Primera generación (años cincuenta) Procesaban un único flujo de

trabajos en lotes. Disponían de un conjunto de

rutinas de E/S. Permitían la recuperación del

sistema si un trabajo acababa en error.

Tenían un lenguaje de control de trabajos que permitía especificar los recursos a utilizar y las operaciones a realizar por cada trabajo.

El software principal del S.O. se denominaba monitor, y era el que controlaba la secuencia de sucesos.

Tratamiento de interrupciones

Controlador deDispositivos

Secuenciamientode trabajos

Intérprete delLenguaje de

Control

Zona delPrograma

delUsuario

Monit

or

Disposición dela memoria

$JOBProgramaa compilar

Datos

del

prog

ram

a

Paquete de tarjetaspara un sistema

sencillo de por lotes

Ciclo Escolar 2010-2011B

Page 12: Sistemas Operativos Unidad I Introducción Ciclo Escolar 2010-2011B

Concepto, historia y evolución … (10)

Segunda generación (años sesenta) La multiprogramación se impuso en sistemas de lotes

como una forma de aprovechar el tiempo empleado en las operaciones de E/S.

Se construyen los primeros multiprocesadores. Se introduce el concepto de independencia de

dispositivos. Comienzan los sistemas de tiempo compartido. Aparecen los primeros sistemas de tiempo real.

Ejecutar EjecutarEsperar E/S

Tiempo

MonoprogramaciónSolo un programa

en ejecución a la vez

EjecutarA

EjecutarA

Tiempo

EjecutarB

EjecutarB

MultiprogramaciónMás de un programaen ejecución a la vez

Esperar E/S

Esperar E/S Esperar E/S

Ciclo Escolar 2010-2011B

Page 13: Sistemas Operativos Unidad I Introducción Ciclo Escolar 2010-2011B

Concepto, historia y evolución … (11)

Tercera generación (años cincuenta) Es la época de los sistemas de propósito general y se

caracterizan por ser sistemas multimodo, capaces de operar:

Por lotes Multiprogramación En tiempo real En tiempo compartido En modo multiprocesador

Estos S.O. interpusieron entre el usuario el hardware una gruesa capa de software y ya no había que preocuparse por la circuitería.

Los inconvenientes fueron: Un complejo lenguaje de control Consumían muchos recursos.

Aparece sistemas de gran difusión principalmente el UNIX. Este sistema fue el primero en codificarse en un lenguaje de alto nivel, el C.

Ciclo Escolar 2010-2011B

Page 14: Sistemas Operativos Unidad I Introducción Ciclo Escolar 2010-2011B

Concepto, historia y evolución … (12)

Cuarta generación (años ochenta ¿hasta la actualidad?) Los S.O. tienden a dar más importancia a la

productividad del usuario que al rendimiento de la máquina.

Se hace masivo el uso de la PC y aparecen los sistemas “amistosos” (se añade un gestor de ventanas).

Adquieren también más importancia las redes de computadoras y surge el proceso distribuido.

Surgen interfaces de programación estándar POSIX Win32

Ciclo Escolar 2010-2011B

Page 15: Sistemas Operativos Unidad I Introducción Ciclo Escolar 2010-2011B

Concepto, historia y evolución … (13)

Actualmente existe una gran diversidad de sistemas operativos. Los que se consideran como de amplia difusión en PC son: Los sistemas tipo Unix (Linux, Mac OS X) y los sistemas Windows (Microsoft). Cada uno de ellos tiene su historia y desarrollo, con cada nueva versión se intenta mejorar la comodidad y la eficiencia.

Ciclo Escolar 2010-2011B

Page 16: Sistemas Operativos Unidad I Introducción Ciclo Escolar 2010-2011B

Concepto, historia y evolución … (14)

Cuál es mejor? http://hanggeek.wordpress.com/2008/03/18/batalla-de-sistemas-operativos/

?

Ciclo Escolar 2010-2011B

Page 17: Sistemas Operativos Unidad I Introducción Ciclo Escolar 2010-2011B

Clasificación y estructura

Existen diversas clasificaciones desde distintos puntos de vista para los sistemas operativos.

Clasificaciónde los

SistemasOperativos

Por el númerode usuarios

MonousuariosMultiusuarios

Por el númerode tareas

MonotareasMultitareas

Por el númerode procesadores

UniprocesoMultiproceso Simétricos

Asimétricos

Por el propósitoEspecíficoGeneral

Por el tipo dediseño

Monolíticos

Abiertos

ModularesPor capasMicronúcleoMáquinas virtuales

Por el tipo dedesarrollo Cerrado

Ciclo Escolar 2010-2011B

Page 18: Sistemas Operativos Unidad I Introducción Ciclo Escolar 2010-2011B

Clasificación y estructura … (2)

Los componentes del sistema operativo se pueden clasificar de la siguiente forma: Básicos:

Gestor de procesos Gestor de memoria Gestor de E/S y almacenamiento secundario

Servidores: Servidor de archivos Servidor de protección y seguridad

Utilidades: Interprete de comandos Programas del sistema

Ciclo Escolar 2010-2011B

Page 19: Sistemas Operativos Unidad I Introducción Ciclo Escolar 2010-2011B

Clasificación y estructura … (3)

Gestor de procesos Un proceso es un programa en ejecución que

consume recursos (memoria, archivos, etc.) El SO debe gestionar lo siguiente de los procesos:

Creación y destrucción. Suspensión y reanudación. Asignación de los recursos al proceso. Mecanismos de comunicación y sincronización

Gestor de memoria La memoria se visualiza como un vector enorme de

bytes (direcciones) y es compartida por el CPU y dispositivos de E/S.

El SO debe gestionar lo siguiente: Qué partes están en uso y quién las esta ocupando. Qué procesos se deben cargar y dónde. Asigna y libera espacio cuando se requiere Gestiona la memoria virtual

Ciclo Escolar 2010-2011B

Page 20: Sistemas Operativos Unidad I Introducción Ciclo Escolar 2010-2011B

Clasificación y estructura … (4)

Gestor de E/S El SO debe encargarse de gestionar los distintos

dispositivos de E/S: terminales, dispositivos de almacenamiento secundario y terciario, teclado, etc.

El SO gestiona, entre otras cosas: Copiado de memoria hacia y desde el controlador. Controla transferencias por DMA Planificación de acceso a los discos Asignación y liberación de espacio en los dispositivos de

almacenamiento secundario Servidor de Archivos y directorios

El archivo es visto como una unidad de almacenamiento lógico no volátil que agrupa un conjunto de información relacionada entre sí bajo un mismo nombre.

Los directorios son objetos que relacionan de forma unívoca un nombre con un archivo. Es decir un mismo nombre no puede identificar dos archivos.

El SO gestiona lo siguiente respecto a los archivos y directorios:

Creación, apertura, cerrado, borrado y leer archivos y directorios, así como escritura de archivos.

Ciclo Escolar 2010-2011B

Page 21: Sistemas Operativos Unidad I Introducción Ciclo Escolar 2010-2011B

Clasificación y estructura … (5)

Servidor de protección y seguridad Por el lado de la protección se debe:

Controlar el acceso a los recursos por parte de los procesos (usuarios)

Distinguir entre el uso autorizado y no autorizado para acceder a un recurso.

Proporcionar métodos de control de acceso. Por el lado de la seguridad:

Proteger al sistema de un uso indebido (fraudulento). Autentificar a los usuarios. Evitar amenazas al sistema (gusanos, virus, piratas, etc.) Evitar intercepción de comunicaciones (cifrado, etc.)

Intérprete de comandos Programa cuya función es obtener los comandos del

usuario y lanzar su ejecución. Existen básicamente dos tipos:

Intérprete de comandos en línea (shell Linux) Interfaz gráfico de usuario (Windows)

Ciclo Escolar 2010-2011B

Page 22: Sistemas Operativos Unidad I Introducción Ciclo Escolar 2010-2011B

Clasificación y estructura … (6)

Programas de sistema Proporcionan un entorno adecuado para el

desarrollo y ejecución de programas. Existen diversas categorías:

Manipulación de archivos y directorios: copiar, mover, renombrar, etc.

Información de estado: monitores, bitácoras. Programación: compiladores, enlazadores,

ensambladores, bibliotecas, etc. Carga y ejecución: cargador. Comunicaciones: ssh, sftp, etc. Aplicaciones: navegadores, editores, etc.

Ciclo Escolar 2010-2011B

Page 23: Sistemas Operativos Unidad I Introducción Ciclo Escolar 2010-2011B

Clasificación y estructura … (7)

Metodologías de diseño de sistemas operativos La metodología empleada en el diseño de la

estructura permite abordar la complejidad de los SO de distintas formas.

Los objetivos de diseño en un SO son: Para el usuario

Fácil de usar, fiable, seguro, potente y sencillo. Internamente

Fácil de implementar y mantener Flexible, fiable, eficiente y estar libre de errores

Diferenciar claramente entre: Mecanismos: qué cosas se pueden hacer. Políticas: criterios para decidir que hacer.

Ciclo Escolar 2010-2011B

Page 24: Sistemas Operativos Unidad I Introducción Ciclo Escolar 2010-2011B

Clasificación y estructura … (8)

Núcleo (kernel) El núcleo o kernel es la parte fundamental del

SO. Es el código responsable de controlar y

administrar los servicios y peticiones de recursos y hardware con respecto a uno o varios procesos.

Para esquematizar las estrategias de diseño se suele mostrar el SO como una serie de niveles partiendo del hecho de que el kernel esta directamente en contacto con el hardware.

Ciclo Escolar 2010-2011B

Page 25: Sistemas Operativos Unidad I Introducción Ciclo Escolar 2010-2011B

Clasificación y estructura … (9)

Niveles de un sistema con kernel monolítico.

Es la organización más común, no tiene una estructura bien clara y definida.

Todos sus componentes se encuentran integrados en un único programa (el SO).

Normalmente han surgido de SO pequeños y fueron haciéndose más grandes debido a su popularidad (MS-DOS, UNIX en sus orígenes).

El problema que plantean estos sistemas radica en lo complicado que es modificar el SO para añadir nuevas funcionalidades y servicios. Además no existe el principio de ocultación de la información.

Hardware

cle

o

Gestor de procesos

Gestor de E/S

Gestor de memoria

Controladores

Programasde Sistema

Shell

Aplicaciones de Usuario

Servicios y llamadas al sistema

Ciclo Escolar 2010-2011B

Page 26: Sistemas Operativos Unidad I Introducción Ciclo Escolar 2010-2011B

Clasificación y estructura … (10)

Niveles en un sistema con diseño modular.

El núcleo esta dividido en módulos con interfaces y funcionalidades claramente definidas.

Son sistemas altamente estructurados y modulares donde se pueden sustituir componentes por otros con el mismo interfaz (controladores, manejo de archivos, etc.

Estos sistemas se consideran como de kernel monolítico hibrido debido a la capacidad de cargar y descargar los controladores y extensiones del sistema mientras el sistema continúa trabajando sin ser interrumpido.

Hardware

Núcleo

Programasde Sistema

Shell

Aplicaciones de Usuario

Interfaz de llamadas al sistema

Gestor deE/S

Gestor de

Procesos

Gestor de

Memoria

Controladores de disp por flujo

Controladores de disp por bloques

FacilidadesComunes

Ciclo Escolar 2010-2011B

Page 27: Sistemas Operativos Unidad I Introducción Ciclo Escolar 2010-2011B

Clasificación y estructura … (11)

Sistemas estructurados en capas El sistema se organiza en una jerarquía de capas, donde cada

capa ofrece una interfaz clara y bien definida a la capa superior y solamente utiliza los servicios que ofrece la capa inferior.

La principal ventaja de estos sistemas es la modularidad y ocultamiento de la información. La desventaja es que una orden tiene que pasar por varias capas antes de ser ejecutada.

Kernel(Administración

del CPU)

Gestor deMemoria

Gestor deProcesos

Gestor de E/S

Interfaz deLlamadas al

Sistema

Aplicacionesde usuario

Ciclo Escolar 2010-2011B

Page 28: Sistemas Operativos Unidad I Introducción Ciclo Escolar 2010-2011B

Clasificación y estructura … (12)

Sistemas con micronúcleo Consiste en implementar la mayor parte de los servicios y

funciones del sistema operativo en procesos de usuario, dejando solo una pequeña parte del SO ejecutándose en modo núcleo.

A la pequeña parte que del SO que se ejecuta en modo núcleo se le conoce como micronúcleo y a los procesos que ejecutan el resto de las funciones se les denomina servidores.

La desventaja radica en que una llamada puede necesitar muchos mensajes entere los distintos servidores.

Hardware

Micronúcleo

API API

Aplicacionesde Usuario

Servidorde

Memoria

Servidorde

Procesos

ServidordeE/S

Ciclo Escolar 2010-2011B

Page 29: Sistemas Operativos Unidad I Introducción Ciclo Escolar 2010-2011B

Clasificación y estructura … (13)

Máquina virtual El corazón del sistema, conocido

como monitor de la máquina virtual, se ejecuta directamente en el hardware y realiza la multiprogramación, presentando no una, sino varias máquinas virtuales al usuario donde cada máquina virtual puede estar ejecutando un SO diferente.

La máquina virtual que se presenta al usuario pretende ser idéntica a la que en realidad se tiene. Sin embargo no es sencillo lograr duplicados exactos.

Compartir recursos se torna complicado.

Estos principios se utiliza para emular SO sobre otros SO y en Sistemas Distribuidos. Hardware

Monitor de Máquina Virtual

Núcleo 1 Núcleo 2 Núcleo 3

AplicacionesDe

Usuario

Llamadasal Sistema

AplicacionesDe

Usuario

Llamadasal Sistema

AplicacionesDe

Usuario

Llamadasal Sistema

Ciclo Escolar 2010-2011B

Page 30: Sistemas Operativos Unidad I Introducción Ciclo Escolar 2010-2011B

Casos de estudio (Unix/Linux)

HardwareHardware

Estructura general de un sistema Unix/Linux

Hardware

Núcleo

Interfaz de Llamadas al Sistema

ShellComandos y

Librerías

Programas deAplicación

Componentesdel compilador

Compilador

Ciclo Escolar 2010-2011B

Page 31: Sistemas Operativos Unidad I Introducción Ciclo Escolar 2010-2011B

Casos de estudio (Unix/Linux) … (2)

Hardware

Control del hardware

Controladores de dispositivos

Caracter Bloque

Buffer cache

Subsistema deArchivos

Sistemade control

de procesos

Comunicaciónentre procesos

Planificador

Gestor de memoria

Interfaz de llamadas al sistema

Librerías

Programas de usuario

Nivel Hardware

Nivel Kernel

Nivel Usuario

D

iag

ram

a d

e b

loq

ues

del núcl

eo U

nix

/Lin

ux

A

dapta

do d

e U

nix

. Pro

gra

maci

ón a

vanza

da

Ciclo Escolar 2010-2011B

Page 32: Sistemas Operativos Unidad I Introducción Ciclo Escolar 2010-2011B

Casos de estudio (Unix/Linux) … (3)

Vis

ta p

art

icio

nad

a

del ke

rnel

Tom

ado d

e L

inu

x d

evic

e d

rivers

Ed.

Ciclo Escolar 2010-2011B

Page 33: Sistemas Operativos Unidad I Introducción Ciclo Escolar 2010-2011B

Casos de estudio (Unix/Linux) … (4)

Subsistema de archivos Controla los recursos del sistema de archivos, tiene

funciones como: Reservar espacio para los archivos. Administrar el espacio libre Controlar el acceso a los archivos Permitir el intercambio de datos entre los archivos y el

usuario. Los procesos interaccionan con el subsistema de archivos

a través de unas llamadas específicas (open, read, write, status, etc).

Se comunica con los dispositivos de almacenamiento secundarios a través de los controladores de dispositivos. Se consideran dos tipos según el acceso: bloques y caracteres. Un mismo dispositivo puede ser manejado en modo bloque o en modo carácter, depende del controlador que se este usando.

Subsistema de control de procesos Es el responsable de la planificación de los procesos, su

sincronización, comunicación entre los mismos y del control de la memoria principal.

Ciclo Escolar 2010-2011B

Page 34: Sistemas Operativos Unidad I Introducción Ciclo Escolar 2010-2011B

Casos de estudio (Unix/Linux) … (5)

El módulo de gestión de memoria Se encarga de controlar qué procesos están

cargados en la memoria principal en cada instante. Cuando no hay memoria suficiente se recurre al

swaping (intercambio). El planificador

Se encarga de gestionar el tiempo del CPU que tiene asignado cada proceso.

Entra en ejecución cada cuanto de tiempo y decide si el proceso actual tiene derecho a seguir ejecutándose o a de conmutarse de contexto.

La comunicación entre procesos Puede realizarse de forma asíncrona (señales) o

síncrona (colas de mensajes, semáforos). El módulo de control de hardware

Es la parte del kernel encargada del manejo de las interrupciones y de la comunicación con la máquina.

Ciclo Escolar 2010-2011B

Page 35: Sistemas Operativos Unidad I Introducción Ciclo Escolar 2010-2011B

Casos de estudio (Windows)

Arquitectura simplificada de Windows (NT)

ModoKernel

ModoUsuario

Capa de Abstracción de Hardware (HAL)

KernelControladores de

Dispositivos

EjecutorSistema deVentanasy Gráficos

Procesos deSoporte del

Sistema

Subsistema de DLL’s

Procesosde

Servicio

Aplicacionesde

Usuario

Subsistemasde

Ambiente

Ciclo Escolar 2010-2011B

Page 36: Sistemas Operativos Unidad I Introducción Ciclo Escolar 2010-2011B

Casos de estudio (Windows) …(2)

Modo Kernel Capa de Abstracción de Hardware (HAL)

(1) Separa al kernel, los controladores de dispositivos y al administrador del hardware, y (2) Oculta las diferencias específicas de hardware, (tarjetas madre x86, MIPS, PowerPC, y otras).

Kernel Se encarga entre otras cosas de: (1) Las funciones del S. O. a

bajo nivel, (2) Sincronización de múltiples microprocesadores, y (3) Administración de hilos.

Controladores de dispositivos Traducen las llamadas de Entrada/Salida provocadas por el

usuario en la información específica que los dispositivos de Entrada/Salida requieren.

Ejecutor Son los servicios del sistema operativo de base, se encarga,

entre otras cosas de: (1) El manejo de memoria, (2) Manejo de procesos e hilos, (3) Seguridad, (4) Entrada/Salida, (5) Comunicación entre procesos.

Sistema de ventanas y Gráficos. Funciones de la Interfaz Gráfica de Usuario (GUI), Ventanas,

Controles para la GUI y trazado.

Ciclo Escolar 2010-2011B

Page 37: Sistemas Operativos Unidad I Introducción Ciclo Escolar 2010-2011B

Casos de estudio (Windows) …(3)

Modo Usuario Procesos de soporte del sistema

Entre otras cosas, tiene las tareas de: (1) Acceso al sistema (nombre de usuario y contraseña) y (2) Administrar la sesión.

Procesos de servicio Son servicios anfitriones de Windows, como: (1) El

planificador de tareas, (2) Servicios de Spooler (ej. Impresión). Y muchas otras aplicaciones servidor de Windows.

Subsistema de DLL’s (Librerías de Enlace Dinámico) Traduce de una función documentada a una

llamada interna del sistema Windows apropiada (no documentada).

Subsistemas de Ambiente Maneja los procesos del cliente en su mundo.

Windows API (originalmente de 32 bits, ahora de 64 bits) POSIX (escasos servicios Unix)

Ciclo Escolar 2010-2011B

Page 38: Sistemas Operativos Unidad I Introducción Ciclo Escolar 2010-2011B

Casos de estudio (Windows) …(4)

MS-DOS, Windows 95, 98 y ME (16 bits) sobre Windows XP (32 bits).

Windows corre una Máquina DOS Virtual NT (NTVDM.EXE), la cual es una imagen Windows de 16 bits montada sobre el Subsistema de DLL’s. En realidad CMD.EXE es una aplicación de consola de Windows.

Para aplicaciones de 16 bits NTVDM carga “WOW”, un traductor de API de 16 a 32 bits.

ModoKernel

ModoUsuario

Capa de Abstracción de Hardware (HAL)

KernelControladores de

Dispositivos

Administrador Sistema deVentanasy Gráficos

Procesos deSoporte del

Sistema

Subsistema de DLL’s

Procesosde

Servicio

Aplicacionesde

Usuario

Subsistemasde

Ambiente

Aplicación MS-DOSAplicación de 16 bitsEmulación MS-DOS

Memoria Extendida de MS-DOS

Emulación de MS-DOS a 32 bits

Controladores de dispositivosVirtuales (COM, LPT, Teclado)

Subsistema de DLL’s

0 K

640 K

1 MB

16 MB

16 bits

32 bits

7FFFFFFF

Ciclo Escolar 2010-2011B

Page 39: Sistemas Operativos Unidad I Introducción Ciclo Escolar 2010-2011B

Casos de estudio (Windows) …(5)

hardware interfaces (buses, I/O devices, interrupts, interval timers, DMA, memory cache control, etc., etc.)

System Service Dispatcher

Task Manager

Explorer

SvcHost.Exe

WinMgt.Exe

SpoolSv.Exe

ServiceControl Mgr.

LSASS

Ob

jectM

gr.

WindowsUSER,

GDI

File

System

Cach

e

I/O Mgr

UserApplication

Subsystem DLLs

System Processes Services Applications

Original copyright by Microsoft Corporation. CRK.

UserMode

KernelMode

Device &File Sys.Drivers

WinLogon

Session ManagerServices.Exe POSIX

Windows DLLs

Plu

g an

dP

lay Mg

r.

Po

wer

Mg

r.

Secu

rityR

eference

Mo

nito

r

Virtu

alM

emo

ry

Pro

cesses&

Th

reads

Lo

calP

roced

ure

Call Graphics

Drivers

Kernel

Hardware Abstraction Layer (HAL)

(kernel mode callable interfaces)

Co

nfig

ura-

tion

Mg

r(reg

istry)

OS/2

Windows

SystemThreads

NTDLL.DLL

Ciclo Escolar 2010-2011B

Page 40: Sistemas Operativos Unidad I Introducción Ciclo Escolar 2010-2011B

Casos de estudio (Linux/Windows)

Al final del día, en la práctica, ambos se pueden clasificar como monolíticos:

Todo el núcleo del sistema operativo y sus servicios se ejecutan en un espacio de direcciones compartido y en modo kernel.

El núcleo y los servicios forman parte de un módulo En Linux: vmlinuz En Windwos: ntoskrnl.exe

La interfaz gráfica de usuario se maneja diferente En Windows es un subsistema del kernel En Linux se maneja en modo usuario

Device Drivers

Process Management,

Memory Management, I/O Management, etc.

Win32Windowing

Application

System Services

User ModeKernel Mode

Hardware Dependent Code

Windows

Device Drivers

Process Management,

Memory Management, I/O Management, etc.

X-Windows

Application

System Services

User ModeKernel Mode

Hardware Dependent Code

Linux

Ciclo Escolar 2010-2011B

Page 41: Sistemas Operativos Unidad I Introducción Ciclo Escolar 2010-2011B

Casos de estudio (Linux/Windows) … (2)

También es modular por: Opciones en tiempo de compilación La mayoría de los componentes del

kernel pueden ser construidos para cargarse de forma dinámica (DLKMs)

DLKMs Se pueden construir de forma

separada del núcleo principal. Se cargan en el kernel en tiempo de

ejecución y sobre demanda. Los módulos del kernel pueden ser

actualizados. Se pueden configurar kernels

mínimos. Portabilidad

La codificación se realiza principalmente en C y es libre.

Arquitecturas: Alpha, ARM, ARM26, CRIS, H8300, x86, IA-64,

M68000, MIPS, PA-RISC, PowerPC, S/390, SuperH, SPARC, VAX, v850, x86-64

Requiere memoria > 4MB La gran mayoría del supercómputo

usa Linux (diferentes distribuciones)

También es modular, pero en menor grado:

La inclusión de nuevos drivers extienden la funcionalidad del kernel.

Algunas versiones cuentan con herramientas para configurar kernels más a la medida.

Los drivers son cargados dinámicamente como módulos

Una cantidad significativa código se ejecuta como drivers.

Se construyen de manera independiente del kernel

Pueden ser cargados por demanda. Portabilidad

La codificación se realiza principalmente en C y no es libre

Arquitecturas x86, MIPS, PowerPC, Alpha, IA-64, x86-64

Requiere memoria > 64MB Solo un par de supercomputadoras

usan Windows (versión Server)

Linux Windows

Ciclo Escolar 2010-2011B

Page 42: Sistemas Operativos Unidad I Introducción Ciclo Escolar 2010-2011B

Casos de estudio (Linux/Windows) … (3)

Uso de los Sistemas Operativos a Noviembre 2009 con acceso a Internet [wikipedia]

Ciclo Escolar 2010-2011B

Page 43: Sistemas Operativos Unidad I Introducción Ciclo Escolar 2010-2011B

Casos de estudio (Linux/Windows) … (4)

Uso de los Sistemas Operativos en las 500 supercomputadoras más poderosas del mundo [www.top500.org]

Ciclo Escolar 2010-2011B

Page 44: Sistemas Operativos Unidad I Introducción Ciclo Escolar 2010-2011B

Arranque y activación El arranque de una computadora actual tiene dos

fases: La fase de arranque del hardware La fase de arranque del SO

S.O (Wnd, Linux, Mac OS X)

HDD

RAM

Test del Hardware

S.O.-Test del sistema de archivos-Creación de ED internas- Completa carga del SO residente- Creación de proceso login

S.O.-Test del sistema de archivos-Creación de ED internas- Completa carga del SO residente- Creación de proceso login

CPU

ROM

Carga en memoria delcargador del SO

Bajo el control del Inicador ROM

Carga enmemoriaComponentesdel SO

Bajo el control del Cargador del SO

Inicialización bajo el controlde la parte residente del SO

Arranque del Hardware Arranque del SO

Ciclo Escolar 2010-2011B

Page 45: Sistemas Operativos Unidad I Introducción Ciclo Escolar 2010-2011B

Arranque y activación … (2)

Los programas en ROM en el arranque de la computadora realizan tres cosas: Una comprobación del sistema, que sirve para

detectar sus características (cantidad de memoria, periféricos instalados, etc.) y comprobar si funcionan correctamente.

Fase de lectura y almacenamiento en memoria del programa cargador del SO.

Finalmente cede el control al programa recién cargado en memoria. El cargador del SO es independiente del SO.

En el caso de una PC, la ROM también contiene el software de E/S llamado BIOS. Firmware que contiene los procedimientos para leer

y escribir de disco, leer caracteres del teclado y escribir en la pantalla

Ciclo Escolar 2010-2011B

Page 46: Sistemas Operativos Unidad I Introducción Ciclo Escolar 2010-2011B

Arranque y activación … (3)

En el arranque del SO incluye las operaciones de: Comprobación del sistema.

Se completan las pruebas del hardware realizadas por la ROM.

Se comprueba si el sistema de archivos tiene un estado coherente.

Se establecen las estructuras de datos (ED) propias del SO para almacenar información referente a: tablas de procesos, tablas de memoria, E/S, etc.

Se carga en memoria principal aquella parte del SO que ha de estar siempre presente en memoria (SO residente).

Se crea un proceso de login (inicio) por cada sesión en el sistema

Ciclo Escolar 2010-2011B

Page 47: Sistemas Operativos Unidad I Introducción Ciclo Escolar 2010-2011B

Arranque y activación … (4)

Una vez cargado el SO, la acciones que activan su ejecución son: Llamadas al sistema emitidas por los programas. Interrupciones emitidas por los periféricos. Condiciones de excepción o error del hardware.

En todos los casos anteriores se deja de ejecutar el proceso en ejecución y se entra a ejecutar el SO.

(Recuérdese el funcionamiento general de una computadora bajo el control de un programa FuncionamientoGral.ppt).

Ciclo Escolar 2010-2011B

Page 48: Sistemas Operativos Unidad I Introducción Ciclo Escolar 2010-2011B

Arranque y activación … (5)

Secuencia de sucesos en una llamada al sistema: El programa de usuario entra en el kernel por una

trampa (trap) (1). El SO determina el número de servicio requerido (2). El SO invoca el procedimiento de servicio (3). Devuelve el control al programa de usuario (4).

Programa de usuario 2

Programa de usuario 1Llamada al kernel

1

2

3

4

Tabla de despacho

Procedimientode servicio

Los programas deusuario se ejecutanen modo usuario.

El sistema operativose ejecuta en modode kernel

Memoria principal

Ciclo Escolar 2010-2011B