Você está na página 1de 56

UNIVERSIDAD NACIONAL SAN LUIS GONZAGA DE ICA

FACULTAD DE INGENIERIA DE SISTEMAS

SISTEMAS OPERATIVOS

Ing. CIP Luis Alberto Loo Parián


luis.loo@cip.org.pe
CRÉDITOS: 03
HORAS: 04 (02 TEORICAS – 02 PRÁCTICAS)

HORARIO:

VIERNES: 04:30 – 06:00 (TEORIA)


VIERNES: 06.00 – 07:30 (PRACTICA)
Introducción

 Concepto, historia y evolución


 Clasificación y estructura
 Casos de estudio
 Arranque y activación
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].
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.
Concepto, historia y evolución … (3)
 Jerarquía de elementos en una computadora
Usuario
Final
Programador
Programas de aplicación
(Resuelven problemas para los usuarios)
(Word, Excel, …)
Diseñador del
Utilidades Sistema
(Shell, Ensamblador, Enlazador, bibliotecas, …) Operativo
Sistema Operativo
(Windows, Linux, Mac OS X)

Hardware del computador


(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.
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
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.
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!!


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.
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
realiza en serie por que refleja el EDVAC

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.
Concepto, historia y evolución … (9)
 Primera generación (años Disposición de
la memoria
cincuenta)
Procesaban un único flujo de
Tratamiento de
 interrupciones

trabajos en lotes. Controlador de


Disponían de un conjunto de

Monitor
Dispositivos

rutinas de E/S. Secuenciamiento

Permitían la recuperación del


de trabajos

sistema si un trabajo acababa en Intérprete del
Lenguaje de Paquete de tarjetas
error. Control
para un sistema
sencillo de por lotes
 Tenían un lenguaje de control de
trabajos que permitía especificar Zona del
los recursos a utilizar y las Programa
del
$END

operaciones a realizar por cada Usuario

trabajo. $RUN

 El software principal del S.O. se $LOAD

denominaba monitor, y era el que


controlaba la secuencia de $FTN
sucesos. $JOB
Programa
a compilar
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
Concepto, historia y evolución … (11)
 Tercera generación (años setenta)
 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.
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
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.
Concepto, historia y evolución … (14)
 Cuál es mejor?
 http://hanggeek.wordpress.com/2008/03/18/batalla-de-sistemas-operativos/

?
Concepto, historia y evolución … (15)
 ¿Cuál SO móvil es el más utilizado?
Concepto, historia y evolución … (15)
Concepto, historia y evolución … (16)
 ¿Qué equipo se usa más para navegar?
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
EVALUACIÓN PERMANENTE
1.- Describa brevemente lo que es para usted un S.O.
2.- Mencione las vistas asociadas a un S.O.
3.- Mencione las generaciones de las computadoras que
desarrollaron:
- Procesamiento por Lotes.
- Multiprogramación.
- Maquina Virtual.
4.- La clasificación de los S.O. por el numero de usuarios
y por el número de procesadores son:
5.- Mencione y describa las características de un SO
para ser utilizado en un ambiente productivo de desarrollo de
software.
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
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
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 acceso directo a memoria(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.
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)
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.


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.
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.
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
definida. de Sistema
 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
grandes debido a su popularidad Gestor de Gestor de
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
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

con interfaces y funcionalidades Shell
de Sistema
claramente definidas.
 Son sistemas altamente Interfaz de llamadas al sistema
estructurados y modulares donde
se pueden sustituir componentes
por otros con el mismo interfaz Núcleo Gestor de
E/S
(controladores, manejo de
archivos, etc.
 Estos sistemas se consideran como Gestor de Gestor de
Facilidades
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 Controladores de Controladores de
ser interrumpido. disp por bloques disp por flujo

Hardware
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
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
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.
 Compartir recursos se torna Núcleo 1 Núcleo 2 Núcleo 3
complicado.
 Estos principios se utiliza para
Monitor de Máquina Virtual
emular SO sobre otros SO y en
Sistemas Distribuidos. Hardware
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
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)
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.
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.
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)
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.
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)
Casos de estudio (Windows) …(4)

 MS-DOS, Windows 95, 98 y ME (16 0K


bits) sobre Windows XP (32 bits). Aplicación MS-DOS
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
una imagen Windows de 16 bits 16 MB
montada sobre el Subsistema de Emulación de MS-DOS a 32 bits
DLL’s. En realidad CMD.EXE es una Controladores de dispositivos
aplicación de consola de Windows. Virtuales (COM, LPT, Teclado) 32 bits

 Para aplicaciones de 16 bits NTVDM Subsistema de DLL’s


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)
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
Services.Exe POSIX
Mode 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.
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 Memory Management, Memory Management,
Drivers Drivers
Windowing I/O Management, etc. I/O Management, etc.

Hardware Dependent Code Hardware Dependent Code


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)
Casos de estudio (Linux/Windows) …
(3)
 Uso de los Sistemas Operativos en 2013
[http://www.netmarketshare.com/]
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]
Casos de estudio (Android)
Casos de estudio …
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.
ROM HDD
-Test del sistema de
archivos
-Creación de ED internas

Test del Hardware Carga en - Completa carga del SO


residente
memoria - Creación de proceso
Carga en memoria del Componentes login
cargador del SO del SO

RAM CPU

Arranque del Hardware Arranque del SO


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
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
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).
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
TRABAJO DE INVESTIGACION
1.- Elaborar una monografia relacionado a los
Tipos de Procesamiento y Estados de un
proceso.
2.- Fecha de Entrega: 27 de septiembre hasta
las 20:00
3.- Formato de Entrega: PDF.
4.- Enviar al correo: luis.loo@cip.org.pe
(Asunto: Apellidos_Ciclo_Sección)

Você também pode gostar