Vous êtes sur la page 1sur 52

Ciclo Escolar 2013-2014B

Sistemas Operativos
Unidad I
Introduccin

Ciclo Escolar 2013-2014B

Introduccin

Concepto, historia y evolucin


Clasificacin y estructura
Casos

de estudio

Arranque y activacin

Ciclo Escolar 2013-2014B

Concepto, historia y evolucin

Definiciones:

El software y/o firmware que hace utilizable al


hardware [Deitel].
Es un programa que controla la ejecucin de
los programas de aplicacin y que acta como
interfaz entre los usuarios y el hardware
[Satllings].
Es un programa que acta 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 utilizacin de la
computadora, hacindolo seguro y eficiente
[Carretero].

Ciclo Escolar 2013-2014B

Concepto, historia y evolucin (2)

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


Comodidad.

Eficiencia.

Hace que un sistema informtico sea ms fcil y


cmodo de utilizar, al funcionar como una interfaz
entre el usuario y el hardware, presentando una
cara amistosa y sencilla.
Administrar los recursos del sistema informtico de
forma eficiente. Dichos recursos pueden ser fsicos
(procesador, memoria principal, perifricos, etc.) o
lgicos (archivos, puertos de comunicacin, etc.).

Capacidad de evolucin.

El S.O. debe construirse de modo que permita el


desarrollo efectivo, la verificacin y la introduccin
de nuevas caractersticas al sistema y, a la vez, no
interfiera con los servicios que brinda.

Ciclo Escolar 2013-2014B

Concepto, historia y evolucin (3)

Jerarqua de elementos en una computadora


Usuario
Final
Programador
Programasde
deaplicacin
aplicacin
Programas

(Resuelven problemas para los usuarios)

(Resuelven problemas
para )
los usuarios)
(Word, Excel,
(Word, Excel, )

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

(Shell, Ensamblador, Enlazador, bibliotecas, )

Diseador del
Sistema
Operativo

SistemaOperativo
Operativo
Sistema

(Windows, Linux, Mac OS X)


(Windows, Linux, Mac OS X)

Hardwaredel
delcomputador
computador
Hardware
(PC, Mac, Sun, )
(PC, Mac, Sun, )

Vistas de un sistema operativo

El sistema operativo como gestor de recursos.


El Sistema operativo como una mquina extendida.
El sistema operativo como una interfaz de usuario.

Ciclo Escolar 2013-2014B

Concepto, historia y evolucin (4)

El sistema operativo como gestor de recursos.

Asigna recursos
Se encarga de asignar los recursos a los
programas en ejecucin en funcin de la
disponibilidad de estos y la prioridad de los
programas.
Tambin tiene que recuperar los recursos
asignados cuando los programas ya no los
necesiten.
Los recursos pueden ser fsicos o lgicos.
Protege
Tiene que asegurar la confidencialidad de la
informacin 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
ejecucin, utiliza cada programa.

Bitcoras y Monitorizacin

Ciclo Escolar 2013-2014B

Concepto, historia y evolucin (5)

El Sistema operativo como una mquina 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:

Ejecucin de programas.

rdenes de E/S.

Servicios para proveer a los programas de operaciones de lectura,


escritura y modificacin del estado de los perifrico, de forma
cmoda y protegida.

Operaciones sobre archivos.

El S.O. incluye servicios para lanzar a ejecucin, parar o abortar un


programa.

Es un nivel de abstraccin mayor que las rdenes de E/S. Estos


servicios permiten: creacin, borrado, apertura, escritura y lectura
de archivos.

Deteccin 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 ejecucin de los programas.

Ciclo Escolar 2013-2014B

Concepto, historia y evolucin (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 travs de:
Interfaz de Texto.

Se conoce como shell o intrprete de mandatos.


Espera que el usuario teclee una orden en el
shell. Despus la analiza y si es vlida la
ejecuta. Una vez que esta concluye retorna a la
espera.

Interfaz grafica.

Existen elementos grficos para comunicarse


con el S.O. (botones, mens, iconos, etc.).
Espera por eventos generados por el ratn y el
teclado. Valida el evento y lo ejecuta. Una vez
ejecutado retorna a la espera de ms eventos.

La prxima interfaz ser hardware!!

Ciclo Escolar 2013-2014B

Concepto, historia y evolucin (7)

Los S.O. han estado evolucionando a travs de los


aos. Su historia y desarrollo esta ligado con las
generaciones de computadoras.

Prehistoria (aos cuarenta).

Primera generacin (aos cincuenta).

Multiprogramacin y tiempo compartido.

Tercera generacin (aos setenta)

Procesamiento por lotes

Segunda generacin (aos sesenta)

Prcticamente sin S.O.


Procesamiento en serie.

Sistemas de propsito general y multimodo de


operacin.

Cuarta generacin (aos ochenta hasta la


actualidad)

Proceso distribuido.
Se difunde el concepto de mquina virtual.

Ciclo Escolar 2013-2014B

Concepto, historia y evolucin (8)

Prehistoria (aos cuarenta)

Mquinas como la ENIAC o la EDVAC.


No exista un S.O. La interaccin se
daba directamente con el hardware.
El usuario deba codificar su programa
en cdigo mquina, 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 tenan que
acceder en serie al computador.
Con el paso del tiempo, para hacer
ms eficiente el proceso en serie, se
desarrollaron bibliotecas de funciones
comunes, montadores, cargadores,
depuradores, etc.

ENIAC

EDVAC

Ciclo Escolar 2013-2014B

Concepto, historia y evolucin (9)


Disposicin de
la memoria

Procesaban un nico flujo de


trabajos en lotes.
Disponan de un conjunto de
rutinas de E/S.
Permitan la recuperacin del
sistema si un trabajo acababa en
error.
Tenan un lenguaje de control de
trabajos que permita 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 de
Dispositivos
Secuenciamiento
de trabajos
Intrprete del
Lenguaje de
Control

Paquete de tarjetas
para un sistema
sencillo de por lotes
D
pr ato
og s
ra de
m l
a

Primera generacin (aos


cincuenta)

Monitor

Zona del
Programa
del
Usuario

$END

$RUN
$LOAD

$FTN
$JOB

Programa
a compilar

Ciclo Escolar 2013-2014B

Concepto, historia y evolucin (10)

Segunda generacin (aos sesenta)

La multiprogramacin 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.

Monoprogramacin
Solo un programa
en ejecucin a la vez

Multiprogramacin
Ms de un programa
en ejecucin a la vez

Ejecutar

Esperar E/S

Ejecutar

Esperar E/S

Tiempo

Ejecutar Ejecutar
A
B
Tiempo

Esperar E/S

Ejecutar Ejecutar
A
B

Esperar E/S

Ciclo Escolar 2013-2014B

Concepto, historia y evolucin (11)

Tercera generacin (aos cincuenta)

Es la poca de los sistemas de propsito general y se


caracterizan por ser sistemas multimodo, capaces de
operar:

Estos S.O. interpusieron entre el usuario el hardware


una gruesa capa de software y ya no haba que
preocuparse por la circuitera.
Los inconvenientes fueron:

Por lotes
Multiprogramacin
En tiempo real
En tiempo compartido
En modo multiprocesador

Un complejo lenguaje de control


Consuman muchos recursos.

Aparece sistemas de gran difusin principalmente el


UNIX. Este sistema fue el primero en codificarse en
un lenguaje de alto nivel, el C.

Ciclo Escolar 2013-2014B

Concepto, historia y evolucin (12)

Cuarta generacin (aos ochenta hasta


la actualidad?)

Los S.O. tienden a dar ms importancia a la


productividad del usuario que al rendimiento
de la mquina.
Se hace masivo el uso de la PC y aparecen los
sistemas amistosos (se aade un gestor de
ventanas).
Adquieren tambin ms importancia las redes
de computadoras y surge el proceso
distribuido.
Surgen interfaces de programacin estndar
POSIX
Win32

Ciclo Escolar 2013-2014B

Concepto, historia y evolucin (13)

Actualmente existe una gran diversidad de


sistemas operativos. Los que se consideran como
de amplia difusin 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 versin se intenta
mejorar la comodidad y la eficiencia.

Ciclo Escolar 2013-2014B

Concepto, historia y evolucin (14)

Cul es mejor?

http://hanggeek.wordpress.com/2008/03/18/batalla-de-sistemas-operativos/

Ciclo Escolar 2013-2014B

Concepto, historia y evolucin (15)

Cul SO mvil es el ms utilizado?

Ciclo Escolar 2013-2014B

Concepto, historia y evolucin (16)

Qu equipo se usa ms para navegar?

Ciclo Escolar 2013-2014B

Clasificacin y estructura

Existen diversas clasificaciones desde distintos puntos de


vista para los sistemas operativos.
Por el nmero
de usuarios

Clasificacin
de los
Sistemas
Operativos

Monousuarios
Multiusuarios

Por el nmero
de tareas

Monotareas
Multitareas

Por el nmero
de procesadores

Uniproceso
Multiproceso

Por el propsito

Especfico
General

Por el tipo de
diseo

Monolticos
Modulares
Por capas
Microncleo
Mquinas virtuales

Por el tipo de
desarrollo

Abiertos
Cerrado

Simtricos
Asimtricos

Ciclo Escolar 2013-2014B

Clasificacin y estructura (2)

Los componentes del sistema operativo se


pueden clasificar de la siguiente forma:

Bsicos:
Gestor de procesos
Gestor de memoria
Gestor de E/S y almacenamiento secundario
Servidores:
Servidor de archivos
Servidor de proteccin y seguridad
Utilidades:
Interprete de comandos
Programas del sistema

Ciclo Escolar 2013-2014B

Clasificacin y estructura (3)

Gestor de procesos

Un proceso es un programa en ejecucin que


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

Creacin y destruccin.
Suspensin y reanudacin.
Asignacin de los recursos al proceso.
Mecanismos de comunicacin y sincronizacin

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 estn en uso y quin las esta ocupando.


Qu procesos se deben cargar y dnde.
Asigna y libera espacio cuando se requiere
Gestiona la memoria virtual

Ciclo Escolar 2013-2014B

Clasificacin 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
Planificacin de acceso a los discos
Asignacin y liberacin de espacio en los dispositivos de
almacenamiento secundario

Servidor de Archivos y directorios

El archivo es visto como una unidad de almacenamiento


lgico no voltil que agrupa un conjunto de informacin
relacionada entre s bajo un mismo nombre.
Los directorios son objetos que relacionan de forma
unvoca 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:

Creacin, apertura, cerrado, borrado y leer archivos y


directorios, as como escritura de archivos.

Ciclo Escolar 2013-2014B

Clasificacin y estructura (5)

Servidor de proteccin y seguridad

Por el lado de la proteccin se debe:

Por el lado de la seguridad:

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 mtodos de control de acceso.
Proteger al sistema de un uso indebido (fraudulento).
Autentificar a los usuarios.
Evitar amenazas al sistema (gusanos, virus, piratas, etc.)
Evitar intercepcin de comunicaciones (cifrado, etc.)

Intrprete de comandos

Programa cuya funcin es obtener los comandos del


usuario y lanzar su ejecucin.
Existen bsicamente dos tipos:

Intrprete de comandos en lnea (shell Linux)


Interfaz grfico de usuario (Windows)

Ciclo Escolar 2013-2014B

Clasificacin y estructura (6)

Programas de sistema

Proporcionan un entorno adecuado para el


desarrollo y ejecucin de programas.
Existen diversas categoras:
Manipulacin de archivos y directorios: copiar,
mover, renombrar, etc.
Informacin de estado: monitores, bitcoras.
Programacin: compiladores, enlazadores,
ensambladores, bibliotecas, etc.
Carga y ejecucin: cargador.
Comunicaciones: ssh, sftp, etc.
Aplicaciones: navegadores, editores, etc.

Ciclo Escolar 2013-2014B

Clasificacin y estructura (7)

Metodologas de diseo de sistemas


operativos

La metodologa empleada en el diseo de la


estructura permite abordar la complejidad de
los SO de distintas formas.
Los objetivos de diseo en un SO son:
Para el usuario

Internamente

Fcil de usar, fiable, seguro, potente y sencillo.


Fcil de implementar y mantener
Flexible, fiable, eficiente y estar libre de errores

Diferenciar claramente entre:

Mecanismos: qu cosas se pueden hacer.


Polticas: criterios para decidir que hacer.

Ciclo Escolar 2013-2014B

Clasificacin y estructura (8)

Ncleo (kernel)

El ncleo o kernel es la parte fundamental del


SO.
Es el cdigo 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


diseo 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 2013-2014B

Clasificacin y estructura (9)


Niveles de un sistema con kernel
monoltico.

Aplicaciones de Usuario

Programas
Es la organizacin ms comn, no
Shell
tiene una estructura bien clara y
de Sistema
definida.
Todos sus componentes se
encuentran integrados en un nico Servicios y llamadas al sistema
programa (el SO).
Normalmente han surgido de SO
pequeos y fueron hacindose ms
Gestor de Gestor de
grandes debido a su popularidad
procesos
E/S
(MS-DOS, UNIX en sus orgenes).
El problema que plantean estos
Gestor de memoria
sistemas radica en lo complicado
que es modificar el SO para aadir
nuevas funcionalidades y servicios.
Controladores
Adems no existe el principio de
ocultacin de la informacin.
Ncleo

Hardware

Ciclo Escolar 2013-2014B

Clasificacin y estructura (10)

Niveles en un sistema con diseo


modular.

Aplicaciones de Usuario
Programas

El ncleo esta dividido en mdulos


Shell
de Sistema
con interfaces y funcionalidades
claramente definidas.
Interfaz de llamadas al sistema
Son sistemas altamente
estructurados y modulares donde
de
se pueden sustituir componentes
Ncleo Gestor
E/S
por otros con el mismo interfaz
(controladores, manejo de
archivos, etc.
Gestor
Gestor
Estos sistemas se consideran como
Facilidades
de
de
de kernel monoltico hibrido debido
Comunes
Memoria
Procesos
a la capacidad de cargar y
descargar los controladores y
extensiones del sistema mientras el
Controladores de Controladores de
sistema contina trabajando sin ser
disp por bloques
disp por flujo
interrumpido.

Hardware

Ciclo Escolar 2013-2014B

Clasificacin y estructura (11)

Sistemas estructurados en capas

El sistema se organiza en una jerarqua 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 informacin. La desventaja es que una
orden tiene que pasar por varias capas antes de ser ejecutada.

Aplicaciones
de usuario

Gestor de
Procesos
Kernel
Gestor de
E/S

(Administracin
del CPU)

Gestor de
Memoria
Interfaz de
Llamadas al
Sistema

Ciclo Escolar 2013-2014B

Clasificacin y estructura (12)

Sistemas con microncleo

Consiste en implementar la mayor parte de los servicios y


funciones del sistema operativo en procesos de usuario,
dejando solo una pequea parte del SO ejecutndose en
modo ncleo.
A la pequea parte que del SO que se ejecuta en modo
ncleo se le conoce como microncleo 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.
Aplicaciones
de Usuario
API

API

Servidor Servidor
de
de
Memoria Procesos

Microncleo
Hardware

Servidor
de
E/S

Ciclo Escolar 2013-2014B

Clasificacin y estructura (13)

Mquina virtual

El corazn del sistema, conocido


como monitor de la mquina virtual,
Aplicaciones Aplicaciones Aplicaciones
se ejecuta directamente en el
De
De
De
hardware y realiza la
Usuario
Usuario
Usuario
multiprogramacin, presentando no
una, sino varias mquinas virtuales
al usuario donde cada mquina
virtual puede estar ejecutando un
SO diferente.
La mquina virtual que se presenta
Llamadas
Llamadas
Llamadas
al Sistema
al Sistema
al Sistema
al usuario pretende ser idntica a la
que en realidad se tiene. Sin
embargo no es sencillo lograr
duplicados exactos.
Ncleo 1 Ncleo 2 Ncleo 3
Compartir recursos se torna
complicado.
Monitor de Mquina Virtual
Estos principios se utiliza para
emular SO sobre otros SO y en
Hardware
Sistemas Distribuidos.

Ciclo Escolar 2013-2014B

Casos de estudio (Unix/Linux)

Estructura general de un sistema


Unix/Linux
Programas de
Aplicacin

Interfaz de
Llamadas al Sistema

Ncleo
Hardware
Hardware
Hardware

Componentes
del compilador

Compilador

Shell
Comandos y
Libreras

Ciclo Escolar 2013-2014B

Adaptado de Unix. Programacin avanzada

Programas de usuario

Nivel Usuario

Libreras

Interfaz de llamadas al sistema


Subsistema de
Archivos

Nivel Kernel

Buffer cache
Caracter

Sistema
de control
de procesos

Bloque

Controladores
de dispositivos
Control del hardware

Diagrama de bloques
del ncleo Unix/Linux

Casos de estudio (Unix/Linux) (2)

Nivel Hardware

Hardware

Comunicacin
entre procesos
Planificador
Gestor de
memoria

Tomado de Linux device drivers 2 Ed.

Vista particionada
del kernel

Ciclo Escolar 2013-2014B

Casos de estudio (Unix/Linux) (3)

Ciclo Escolar 2013-2014B

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 travs de unas llamadas especficas (open, read, write,
status, etc).
Se comunica con los dispositivos de almacenamiento
secundarios a travs de los controladores de dispositivos.
Se consideran dos tipos segn el acceso: bloques y
caracteres. Un mismo dispositivo puede ser manejado en
modo bloque o en modo carcter, depende del controlador
que se este usando.

Subsistema de control de procesos

Es el responsable de la planificacin de los procesos, su


sincronizacin, comunicacin entre los mismos y del
control de la memoria principal.

Ciclo Escolar 2013-2014B

Casos de estudio (Unix/Linux) (5)

El mdulo de gestin de memoria

El planificador

Se encarga de gestionar el tiempo del CPU que tiene


asignado cada proceso.
Entra en ejecucin cada cuanto de tiempo y decide
si el proceso actual tiene derecho a seguir
ejecutndose o a de conmutarse de contexto.

La comunicacin entre procesos

Se encarga de controlar qu procesos estn


cargados en la memoria principal en cada instante.
Cuando no hay memoria suficiente se recurre al
swaping (intercambio).

Puede realizarse de forma asncrona (seales) o


sncrona (colas de mensajes, semforos).

El mdulo de control de hardware

Es la parte del kernel encargada del manejo de las


interrupciones y de la comunicacin con la mquina.

Ciclo Escolar 2013-2014B

Casos de estudio (Windows)

Arquitectura simplificada de Windows


(NT)
Procesos de
Soporte del
Sistema

Modo
Usuario

Procesos
de
Servicio

Aplicaciones
de
Usuario

Subsistemas
de
Ambiente

Subsistema de DLLs

Modo
Kernel

Ejecutor
Kernel

Controladores de
Dispositivos

Capa de Abstraccin de Hardware (HAL)

Sistema de
Ventanas
y Grficos

Ciclo Escolar 2013-2014B

Casos de estudio (Windows) (2)

Modo Kernel

Capa de Abstraccin de Hardware (HAL)

Kernel

Traducen las llamadas de Entrada/Salida provocadas por el


usuario en la informacin especfica que los dispositivos de
Entrada/Salida requieren.

Ejecutor

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


bajo nivel, (2) Sincronizacin de mltiples microprocesadores,
y (3) Administracin de hilos.

Controladores de dispositivos

(1) Separa al kernel, los controladores de dispositivos y al


administrador del hardware, y (2) Oculta las diferencias
especficas de hardware, (tarjetas madre x86, MIPS, PowerPC,
y otras).

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)
Comunicacin entre procesos.

Sistema de ventanas y Grficos.

Funciones de la Interfaz Grfica de Usuario (GUI), Ventanas,


Controles para la GUI y trazado.

Ciclo Escolar 2013-2014B

Casos de estudio (Windows) (3)

Modo Usuario

Procesos de soporte del sistema

Procesos de servicio

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


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

Subsistema de DLLs (Libreras de Enlace Dinmico)

Entre otras cosas, tiene las tareas de: (1) Acceso al


sistema (nombre de usuario y contrasea) y (2)
Administrar la sesin.

Traduce de una funcin 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 2013-2014B

Casos de estudio (Windows) (4)

MS-DOS, Windows 95, 98 y ME (16


bits) sobre Windows XP (32 bits).

Windows corre una Mquina DOS


Virtual NT (NTVDM.EXE), la cual es
una imagen Windows de 16 bits
montada sobre el Subsistema de
DLLs. En realidad CMD.EXE es una
aplicacin de consola de Windows.
Para aplicaciones de 16 bits NTVDM
carga WOW, un traductor de API de
16 a 32 bits.
Procesos de
Soporte del
Sistema

Modo
Usuario

Modo
Kernel

Procesos
de
Servicio

Aplicaciones
de
Usuario

Aplicacin MS-DOS
Aplicacin de 16 bits
Emulacin MS-DOS

Memoria Extendida de MS-DOS

Kernel

Controladores de
Dispositivos

Capa de Abstraccin de Hardware (HAL)

640 K
1 MB

16 bits

16 MB

Emulacin de MS-DOS a 32 bits


Controladores de dispositivos
Virtuales (COM, LPT, Teclado)
Subsistema de DLLs

Subsistemas
de
Ambiente

Subsistema de DLLs

Administrador

0K

Sistema de
Ventanas
y Grficos

32 bits
7FFFFFFF

Ciclo Escolar 2013-2014B

Casos de estudio (Windows) (5)


System Processes

Services

Applications

Service
Control Mgr.
SvcHost.Exe

LSASS

WinMgt.Exe

WinLogon
User
Mode

Explorer

SpoolSv.Exe

OS/2

User
Application

Services.Exe

Session Manager

Windows

Task Manager

POSIX
Subsystem DLLs

Windows DLLs

NTDLL.DLL

System
Threads
Kernel
Mode

System Service Dispatcher


(kernel mode callable interfaces)
Local
Procedure
Call

Configuration Mgr
(registry)

Processes
&
Threads

Virtual
Memory

Power
Mgr.

Plug and
Play Mgr.

Object
Mgr.

File
System
Cache

Device &
File Sys.
Drivers

Security
Reference
Monitor

I/O Mgr

Windows
USER,
GDI
Graphics
Drivers

Kernel
Hardware Abstraction Layer (HAL)
hardware interfaces (buses, I/O devices, interrupts,
interval timers, DMA, memory cache control, etc., etc.)

Original copyright by Microsoft Corporation.


CRK.

Ciclo Escolar 2013-2014B

Casos de estudio (Linux/Windows)

Al final del da, en la prctica, ambos se pueden clasificar como


monolticos:

Todo el ncleo del sistema operativo y sus servicios se ejecutan en


un espacio de direcciones compartido y en modo kernel.
El ncleo y los servicios forman parte de un mdulo

En Linux: vmlinuz
En Windwos: ntoskrnl.exe

La interfaz grfica de usuario se maneja diferente

En Windows es un subsistema del kernel


En Linux se maneja en modo usuario

Application

Windows
User Mode
Kernel Mode

Win32
Windowing

Device
Drivers

System Services
Process Management,

Memory Management,
I/O Management, etc.
Hardware Dependent Code

Linux

Application

X-Windows

User Mode
Kernel Mode
System Services
Process Management,

Device
Drivers

Memory Management,
I/O Management, etc.
Hardware Dependent Code

Ciclo Escolar 2013-2014B

Casos de estudio (Linux/Windows)


(2)
Linux

Tambin es modular por:

Opciones en tiempo de compilacin


La mayora de los componentes del
kernel pueden ser construidos para
cargarse de forma dinmica (DLKMs)

Tambin es modular, pero en menor


grado:

DLKMs

Windows

Se pueden construir de forma


separada del ncleo principal.
Se cargan en el kernel en tiempo de
ejecucin y sobre demanda.
Los mdulos del kernel pueden ser
actualizados.
Se pueden configurar kernels
mnimos.

Portabilidad

La codificacin 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 mayora del supercmputo
usa Linux (diferentes distribuciones)

Los drivers son cargados


dinmicamente como mdulos
Una cantidad significativa cdigo se
ejecuta como drivers.

La inclusin de nuevos drivers


extienden la funcionalidad del kernel.
Algunas versiones cuentan con
herramientas para configurar kernels
ms a la medida.

Se construyen de manera
independiente del kernel
Pueden ser cargados por demanda.

Portabilidad

La codificacin 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 (versin Server)

Ciclo Escolar 2013-2014B

Casos de estudio (Linux/Windows)


(3)

Uso de los Sistemas Operativos en 2013


[http://www.netmarketshare.com/]

Ciclo Escolar 2013-2014B

Casos de estudio (Linux/Windows)


(4)

Uso de los Sistemas Operativos en las 500 supercomputadoras


ms poderosas del mundo en 2013 [www.top500.org]

Ciclo Escolar 2013-2014B

Casos de estudio (Android)

Ciclo Escolar 2013-2014B

Casos de estudio

Ciclo Escolar 2013-2014B

Arranque y activacin

El arranque de una computadora actual tiene dos fases:

La fase de arranque del hardware


La fase de arranque del SO

Bajo el control del


Inicador ROM

S.O
(Wnd, Linux, Mac OS X)
Bajo el control del
Inicializacin bajo el control
Cargador del SO
de la parte residente del SO

S.O.
S.O.
-Test del sistema de

ROM
Test del Hardware
Carga en memoria del
cargador del SO

HDD
Carga en
memoria
Componentes
del SO

-Test del sistema de


archivos
archivosde ED internas
-Creacin
-Creacin
de EDdel
internas
- Completa carga
SO
- Completa carga del SO
residente
residente
- Creacin
de proceso
- Creacin de proceso
login
login

CPU

RAM

Arranque del Hardware

Arranque del SO

Ciclo Escolar 2013-2014B

Arranque y activacin (2)

Los programas en ROM en el arranque de la


computadora realizan tres cosas:

Una comprobacin del sistema, que sirve para


detectar sus caractersticas (cantidad de memoria,
perifricos 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 recin
cargado en memoria. El cargador del SO es
independiente del SO.

En el caso de una PC, la ROM tambin 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 2013-2014B

Arranque y activacin (3)

En el arranque del SO incluye las operaciones de:

Comprobacin 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 informacin 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 sesin
en el sistema

Ciclo Escolar 2013-2014B

Arranque y activacin (4)

Una vez cargado el SO, la acciones que activan su


ejecucin son:

Llamadas al sistema emitidas por los programas.


Interrupciones emitidas por los perifricos.
Condiciones de excepcin o error del hardware.

En todos los casos anteriores se deja de ejecutar


el proceso en ejecucin y se entra a ejecutar el
SO.
(Recurdese el funcionamiento general de una
computadora bajo el control de un programa
FuncionamientoGral.ppt).

Ciclo Escolar 2013-2014B

Arranque y activacin (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 nmero 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 1
Llamada al kernel

Memoria principal

1
2

Procedimiento
de servicio

Tabla de despacho

Los programas de
usuario se ejecutan
en modo usuario.

El sistema operativo
se ejecuta en modo
de kernel

Vous aimerez peut-être aussi