Está en la página 1de 52

Ciclo Escolar 2013-2014B

Sistemas Operativos

Unidad I
Introducción
Ciclo Escolar 2013-2014B

Introducción
 Concepto, historia y evolución
 Clasificación y estructura
 Casos de estudio
 Arranque y activación
Ciclo Escolar 2013-2014B

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

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

Concepto, historia y evolución … (3)


 Jerarquía de elementos en una computadora
Usuario
Final
Programador
Programasde
deaplicación
aplicación
Programas
(Resuelven problemas para los usuarios)
(Resuelven problemas para…)
(Word, Excel, los usuarios)
(Word, Excel, …)
Diseñador del
Utilidades Sistema
Utilidades
(Shell, Ensamblador, Enlazador, bibliotecas, …)
(Shell, Ensamblador, Enlazador, bibliotecas, …) 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 máquina extendida.
 El sistema operativo como una interfaz de usuario.
Ciclo Escolar 2013-2014B

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

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

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

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

Concepto, historia y evolución … (8)


 Prehistoria (años cuarenta) ENIAC
 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 EDVAC
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.
Ciclo Escolar 2013-2014B

Concepto, historia y evolución … (9)


Disposición de
 Primera generación (años la memoria
cincuenta) Tratamiento de
 Procesaban un único flujo de interrupciones

trabajos en lotes. Controlador de

Monitor
Disponían de un conjunto de
Dispositivos

rutinas de E/S. Secuenciamiento
de trabajos
 Permitían la recuperación del Intérprete del
sistema si un trabajo acababa en Lenguaje de
Control
Paquete de tarjetas
error. para un sistema
sencillo de por lotes
 Tenían un lenguaje de control de

m l
trabajos que permitía especificar

ra de
a
Zona del

og s
pr ato
los recursos a utilizar y las Programa $END

D
del

operaciones a realizar por cada Usuario

trabajo. $RUN
$LOAD
 El software principal del S.O. se
denominaba monitor, y era el que
controlaba la secuencia de $FTN
sucesos. $JOB
Programa
a compilar
Ciclo Escolar 2013-2014B

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.

Monoprogramación
Solo un programa Ejecutar Ejecutar
Esperar E/S Esperar E/S
en ejecución a la vez
Tiempo

Multiprogramación Ejecutar Ejecutar Ejecutar Ejecutar


Más de un programa A B Esperar E/S A B Esperar E/S
en ejecución a la vez
Tiempo
Ciclo Escolar 2013-2014B

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

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

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

Concepto, historia y evolución … (14)


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

?
Ciclo Escolar 2013-2014B

Concepto, historia y evolución … (15)


 ¿Cuál SO móvil es el más utilizado?
Ciclo Escolar 2013-2014B

Concepto, historia y evolución … (16)


 ¿Qué equipo se usa más para navegar?
Ciclo Escolar 2013-2014B

Clasificación y estructura
 Existen diversas clasificaciones desde distintos puntos de
vista para los sistemas operativos.
Monousuarios
Por el número Multiusuarios
de usuarios
Monotareas
Por el número
de tareas Multitareas

Por el número Uniproceso


de procesadores Multiproceso Simétricos
Asimétricos
Clasificación
Específico
de los Por el propósito General
Sistemas
Operativos Monolíticos
Por el tipo de Modulares
diseño Por capas
Micronúcleo
Máquinas virtuales
Por el tipo de Abiertos
desarrollo Cerrado
Ciclo Escolar 2013-2014B

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

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

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

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

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

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

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

Clasificación y estructura … (9)

 Niveles de un sistema con kernel Aplicaciones de Usuario


monolítico.
 Es la organización más común, no Programas
tiene una estructura bien clara y Shell
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
pequeños y fueron haciéndose más Gestor de Gestor de
grandes debido a su popularidad
procesos E/S

Núcleo
(MS-DOS, UNIX en sus orígenes).
 El problema que plantean estos
sistemas radica en lo complicado Gestor de memoria
que es modificar el SO para añadir
nuevas funcionalidades y servicios.
Además no existe el principio de Controladores
ocultación de la información.

Hardware
Ciclo Escolar 2013-2014B

Clasificación y estructura … (10)

 Niveles en un sistema con diseño Aplicaciones de Usuario


modular.
El núcleo esta dividido en módulos
Programas
 Shell
con interfaces y funcionalidades de Sistema
claramente definidas.
 Son sistemas altamente Interfaz de llamadas al sistema
estructurados y modulares donde
se pueden sustituir componentes Núcleo Gestor de
por otros con el mismo interfaz E/S
(controladores, manejo de
archivos, etc.
 Estos sistemas se consideran como Gestor de Facilidades Gestor de
de kernel monolítico hibrido debido Memoria Comunes Procesos
a la capacidad de cargar y
descargar los controladores y
extensiones del sistema mientras el
sistema continúa trabajando sin ser Controladores de Controladores de
interrumpido. disp por bloques disp por flujo

Hardware
Ciclo Escolar 2013-2014B

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.

Aplicaciones
Gestor de de usuario
Procesos

Kernel Gestor de
(Administración
del CPU) Memoria
Gestor de
E/S
Interfaz de
Llamadas al
Sistema
Ciclo Escolar 2013-2014B

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.

Aplicaciones Servidor Servidor Servidor


de Usuario de de de
API API Memoria Procesos E/S

Micronúcleo
Hardware
Ciclo Escolar 2013-2014B

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 Aplicaciones Aplicaciones Aplicaciones
hardware y realiza la De De De
multiprogramación, presentando no Usuario Usuario Usuario
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 Llamadas Llamadas Llamadas
al usuario pretende ser idéntica a la al Sistema al Sistema al Sistema
que en realidad se tiene. Sin
embargo no es sencillo lograr
duplicados exactos. Núcleo 1 Núcleo 2 Núcleo 3
 Compartir recursos se torna
complicado. Monitor de Máquina 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
Aplicación

Interfaz de
Llamadas al Sistema

Núcleo

Hardware
Hardware
Hardware

Shell
Comandos y
Librerías
Componentes
del compilador

Compilador
Ciclo Escolar 2013-2014B

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

Adaptado de Unix. Programación avanzada Programas de usuario


del núcleo Unix/Linux
Diagrama de bloques

Nivel Usuario Librerías

Interfaz de llamadas al sistema

Subsistema de Comunicación
Archivos entre procesos
Sistema
de control Planificador
Buffer cache de procesos
Nivel Kernel Gestor de
memoria
Caracter Bloque
Controladores
de dispositivos

Control del hardware


Nivel Hardware Hardware



 Vista particionada
del kernel
 Tomado de Linux device drivers 2ª Ed.
Casos de estudio (Unix/Linux) … (3)
Ciclo Escolar 2013-2014B
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 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 2013-2014B

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

Casos de estudio (Windows)

 Arquitectura simplificada de Windows


(NT)
Procesos de Procesos Aplicaciones Subsistemas
Soporte del de de de
Sistema Servicio Usuario Ambiente

Modo
Usuario Subsistema de DLL’s

Modo Ejecutor
Kernel Sistema de
Controladores de Ventanas
Kernel
Dispositivos y Gráficos
Capa de Abstracción de Hardware (HAL)
Ciclo Escolar 2013-2014B

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

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

Casos de estudio (Windows) …(4)

 MS-DOS, Windows 95, 98 y ME (16 Aplicación MS-DOS


0K

bits) sobre Windows XP (32 bits). Aplicación de 16 bits


640 K

 Windows corre una Máquina DOS Emulación MS-DOS


1 MB
16 bits

Virtual NT (NTVDM.EXE), la cual es Memoria Extendida de MS-DOS


16 MB
una imagen Windows de 16 bits
montada sobre el Subsistema de Emulación de MS-DOS a 32 bits

DLL’s. En realidad CMD.EXE es una Controladores de dispositivos


32 bits
aplicación de consola de Windows. Virtuales (COM, LPT, Teclado)
Subsistema de DLL’s
 Para aplicaciones de 16 bits NTVDM 7FFFFFFF
carga “WOW”, un traductor de API de
16 a 32 bits.
Procesos de Procesos Aplicaciones Subsistemas
Soporte del de de de
Sistema Servicio Usuario Ambiente

Modo
Usuario Subsistema de DLL’s

Modo Administrador Sistema de


Kernel Controladores de Ventanas
Kernel y Gráficos
Dispositivos
Capa de Abstracción de Hardware (HAL)
Ciclo Escolar 2013-2014B

Casos de estudio (Windows) …(5)


System Processes Services Applications
Service
Control Mgr.
Windows
SvcHost.Exe Task Manager
LSASS
WinMgt.Exe Explorer
WinLogon SpoolSv.Exe OS/2
User
User Application
Mode Services.Exe POSIX
Session Manager
Subsystem DLLs Windows DLLs

System NTDLL.DLL
Threads

Kernel
System Service Dispatcher
Mode
(kernel mode callable interfaces) Windows
USER,
I/O Mgr
GDI

Configura-
Processes

Procedure
Reference
Play Mgr.

(registry)
Plug and

tion Mgr
Security

Threads
Memory
Monitor
System

Object

Virtual
Power
Cache

Local
Mgr.

Mgr.

Call
File

&
Device & Graphics
File Sys. Drivers
Drivers

Kernel
Hardware Abstraction Layer (HAL)
hardware interfaces (buses, I/O devices, interrupts, Original copyright by Microsoft Corporation.
interval timers, DMA, memory cache control, etc., etc.) CRK.
Ciclo Escolar 2013-2014B

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 Application

Application
X-Windows
Windows Linux
User Mode User Mode
Kernel Mode Kernel Mode
System Services System Services
Process Management, Process Management,
Device Device
Win32
Drivers Drivers
Windowing Memory Management, Memory Management,
I/O Management, etc. I/O Management, etc.
Hardware Dependent Code Hardware Dependent Code
Ciclo Escolar 2013-2014B

Casos de estudio (Linux/Windows) …


(2)
Linux Windows
 También es modular por:  También es modular, pero en menor
 Opciones en tiempo de compilación grado:
 La mayoría de los componentes del  La inclusión de nuevos drivers
kernel pueden ser construidos para extienden la funcionalidad del kernel.
cargarse de forma dinámica (DLKMs)  Algunas versiones cuentan con
 DLKMs herramientas para configurar kernels
más a la medida.
 Se pueden construir de forma
separada del núcleo principal.  Los drivers son cargados
 Se cargan en el kernel en tiempo de dinámicamente como módulos
ejecución y sobre demanda.  Una cantidad significativa código se
 Los módulos del kernel pueden ser ejecuta como drivers.
actualizados.  Se construyen de manera
 Se pueden configurar kernels independiente del kernel
mínimos.  Pueden ser cargados por demanda.
 Portabilidad  Portabilidad
 La codificación se realiza  La codificación se realiza
principalmente en C y es libre. principalmente en C y no es libre
 Arquitecturas:  Arquitecturas
 Alpha, ARM, ARM26, CRIS, H8300, x86, IA-64,
M68000, MIPS, PA-RISC, PowerPC, S/390,  x86, MIPS, PowerPC, Alpha, IA-64, x86-64
SuperH, SPARC, VAX, v850, x86-64  Requiere memoria > 64MB
 Requiere memoria > 4MB  Solo un par de supercomputadoras
 La gran mayoría del supercómputo usan Windows (versión Server)
usa Linux (diferentes distribuciones)
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
más 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 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)
Bajo el control del Bajo el control del Inicialización bajo el control
Inicador ROM Cargador del SO de la parte residente del SO

S.O.
S.O.
-Test del sistema de
ROM HDD
-Test del sistema de
archivos
archivosde ED internas
-Creación
-Creación de EDdel
- Completa carga internas
SO
Test del Hardware Carga en - Completa carga del SO
residente
residente
memoria - Creación de proceso
- Creación de proceso
login
Carga en memoria del Componentes login
cargador del SO del SO

RAM CPU

Arranque del Hardware Arranque del SO


Ciclo Escolar 2013-2014B

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

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

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

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
Los programas de
Programa de usuario 1 usuario se ejecutan
Llamada al kernel en modo usuario.

Memoria principal 4
Procedimiento
3 de servicio El sistema operativo
1 se ejecuta en modo
de kernel

2 Tabla de despacho

También podría gustarte