SlideShare una empresa de Scribd logo
1 de 54
Descargar para leer sin conexión
Sistemas Operativos
Unidad I
Introducción
Ciclo Escolar 2014-2015B
Introducción
 Concepto, historia y evolución
 Clasificación y estructura
 Casos de estudio
 Arranque y activación
Ciclo Escolar 2014-2015B
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 2014-2015B
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 2014-2015B
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, …)
Sistema Operativo
(Windows, Linux, Mac OS X)
Utilidades
(Shell, Ensamblador, Enlazador, bibliotecas, …)
Programas de aplicación
(Resuelven problemas para los usuarios)
(Word, Excel, …)
Usuario
Final
Programador
Diseñador del
Sistema
Operativo
Ciclo Escolar 2014-2015B
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 2014-2015B
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 2014-2015B
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, una
pulsación, o 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 2014-2015B
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 2014-2015B
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 2014-2015B
$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 de
Dispositivos
Secuenciamiento
de trabajos
Intérprete del
Lenguaje de
Control
Zona del
Programa
del
Usuario
Monitor
Disposición de
la memoria
$JOB
Programa
a compilar
Paquete de tarjetas
para un sistema
sencillo de por lotes
Ciclo Escolar 2014-2015B
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 Ejecutar
Esperar E/S
Tiempo
Monoprogramación
Solo un programa
en ejecución a la vez
Ejecutar
A
Ejecutar
A
Tiempo
Ejecutar
B
Ejecutar
B
Multiprogramación
Más de un programa
en ejecución a la vez
Esperar E/S
Esperar E/S Esperar E/S
Ciclo Escolar 2014-2015B
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 2014-2015B
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 2014-2015B
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 2014-2015B
Concepto, historia y evolución … (14)
 Cuál es mejor?
 http://hanggeek.wordpress.com/2008/03/18/batalla-de-sistemas-operativos/
?
Ciclo Escolar 2014-2015B
Concepto, historia y evolución … (15)
 ¿Cuál SO móvil es el más utilizado?
Ciclo Escolar 2014-2015B
Concepto, historia y evolución … (16)
Ciclo Escolar 2014-2015B
Uso de SO Móviles
en 2014 a nivel
mundial
Tendencia en USA
Tendencia en México
Concepto, historia y evolución … (17)
 ¿Qué equipo se usa más para navegar?
Ciclo Escolar 2014-2015B
Clasificación y estructura
 Existen diversas clasificaciones desde distintos puntos de
vista para los sistemas operativos.
Clasificación
de los
Sistemas
Operativos
Por el número
de usuarios
Monousuarios
Multiusuarios
Por el número
de tareas
Monotareas
Multitareas
Por el número
de procesadores
Uniproceso
Multiproceso Simétricos
Asimétricos
Por el propósito
Específico
General
Por el tipo de
diseño
Monolíticos
Abiertos
Modulares
Por capas
Micronúcleo
Máquinas virtuales
Por el tipo de
desarrollo Cerrado
Ciclo Escolar 2014-2015B
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 2014-2015B
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 2014-2015B
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 2014-2015B
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 2014-2015B
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 2014-2015B
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 2014-2015B
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 2014-2015B
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
Núcleo
Gestor de
procesos
Gestor de
E/S
Gestor de memoria
Controladores
Programas
de Sistema
Shell
Aplicaciones de Usuario
Servicios y llamadas al sistema
Ciclo Escolar 2014-2015B
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
Programas
de Sistema
Shell
Aplicaciones de Usuario
Interfaz de llamadas al sistema
Gestor de
E/S
Gestor de
Procesos
Gestor de
Memoria
Controladores de
disp por flujo
Controladores de
disp por bloques
Facilidades
Comunes
Ciclo Escolar 2014-2015B
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 de
Memoria
Gestor de
Procesos
Gestor de
E/S
Interfaz de
Llamadas al
Sistema
Aplicaciones
de usuario
Ciclo Escolar 2014-2015B
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
Aplicaciones
de Usuario
Servidor
de
Memoria
Servidor
de
Procesos
Servidor
de
E/S
Ciclo Escolar 2014-2015B
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
Aplicaciones
De
Usuario
Llamadas
al Sistema
Aplicaciones
De
Usuario
Llamadas
al Sistema
Aplicaciones
De
Usuario
Llamadas
al Sistema
Ciclo Escolar 2014-2015B
Casos de estudio (Unix/Linux)
Hardware
Hardware
 Estructura general de un sistema
Unix/Linux
Hardware
Núcleo
Interfaz de
Llamadas al Sistema
Shell
Comandos y
Librerías
Programas de
Aplicación
Componentes
del compilador
Compilador
Ciclo Escolar 2014-2015B
Casos de estudio (Unix/Linux) … (2)
Hardware
Control del hardware
Controladores
de dispositivos
Caracter Bloque
Buffer cache
Subsistema de
Archivos
Sistema
de control
de procesos
Comunicación
entre procesos
Planificador
Gestor de
memoria
Interfaz de llamadas al sistema
Librerías
Programas de usuario
Nivel Hardware
Nivel Kernel
Nivel Usuario

Diagrama
de
bloques
del
núcleo
Unix/Linux

Adaptado
de
Unix.
Programación
avanzada
Ciclo Escolar 2014-2015B
Casos de estudio (Unix/Linux) … (3)

Vista
particionada
del
kernel

Tomado
de
Linux
device
drivers
2ª
Ed.
Ciclo Escolar 2014-2015B
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 2014-2015B
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 2014-2015B
Casos de estudio (Windows)
 Arquitectura simplificada de Windows
(NT)
Modo
Kernel
Modo
Usuario
Capa de Abstracción de Hardware (HAL)
Kernel
Controladores de
Dispositivos
Ejecutor
Sistema de
Ventanas
y Gráficos
Procesos de
Soporte del
Sistema
Subsistema de DLL’s
Procesos
de
Servicio
Aplicaciones
de
Usuario
Subsistemas
de
Ambiente
Ciclo Escolar 2014-2015B
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 2014-2015B
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 2014-2015B
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.
Modo
Kernel
Modo
Usuario
Capa de Abstracción de Hardware (HAL)
Kernel
Controladores de
Dispositivos
Administrador Sistema de
Ventanas
y Gráficos
Procesos de
Soporte del
Sistema
Subsistema de DLL’s
Procesos
de
Servicio
Aplicaciones
de
Usuario
Subsistemas
de
Ambiente
Aplicación MS-DOS
Aplicación de 16 bits
Emulación MS-DOS
Memoria Extendida de MS-DOS
Emulación de MS-DOS a 32 bits
Controladores de dispositivos
Virtuales (COM, LPT, Teclado)
Subsistema de DLL’s
0 K
640 K
1 MB
16 MB
16 bits
32 bits
7FFFFFFF
Ciclo Escolar 2014-2015B
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
Service
Control Mgr.
LSASS
Object
Mgr.
Windows
USER,
GDI
File
System
Cache
I/O Mgr
User
Application
Subsystem DLLs
System Processes Services Applications
Original copyright by Microsoft Corporation.
CRK.
User
Mode
Kernel
Mode
Device &
File Sys.
Drivers
WinLogon
Session Manager
Services.Exe POSIX
Windows DLLs
Plug
and
Play
Mgr.
Power
Mgr.
Security
Reference
Monitor
Virtual
Memory
Processes
&
Threads
Local
Procedure
Call
Graphics
Drivers
Kernel
Hardware Abstraction Layer (HAL)
(kernel mode callable interfaces)
Configura-
tion
Mgr
(registry)
OS/2
Windows
System
Threads
NTDLL.DLL
Ciclo Escolar 2014-2015B
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.
Win32
Windowing
Application
System Services
User Mode
Kernel Mode
Hardware Dependent Code
Windows
Device
Drivers
Process Management,
Memory Management,
I/O Management, etc.
X-Windows
Application
System Services
User Mode
Kernel Mode
Hardware Dependent Code
Linux
Ciclo Escolar 2014-2015B
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 2014-2015B
Casos de estudio (Linux/Windows) …
(3)
 Uso de los Sistemas Operativos en 2014
[http://www.netmarketshare.com/]
Ciclo Escolar 2014-2015B
Casos de estudio (Linux/Windows) …
(4)
 Uso de los Sistemas Operativos en las 500
supercomputadoras más poderosas del mundo en 2014
[www.top500.org]
Ciclo Escolar 2014-2015B
Casos de estudio (Android)
Ciclo Escolar 2014-2015B
Casos de estudio (Android) … (2)
 Android se compone de varias capas
 Las superiores se basan en el funcionamiento de las
inferiores.
 Las aplicaciones se ejecutan en el tope de la pila
(Applications).
 Las aplicaciones hacen uso de los múltiples gestores
de Android (Application FrameWork).
 A su vez los gestores necesitan una serie de librerías
(escritas en código nativo en C).
 Al lado de las librerías se encuentra el Android
Runtime, compuesto por la Máquina virtual Dalvik, la
cual traduce el bytecode de las aplicaciones a código
nativo entendible por el dispositivo móvil.
 La última capa se compone por el núcleo basado en
Linux, el cuál ha sido adaptado para operar con los
recursos de los que dispone el móvil.
Ciclo Escolar 2014-2015B
Casos de estudio …
Ciclo Escolar 2014-2015B
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
CPU
ROM
Carga en memoria del
cargador del SO
Bajo el control del
Iniciador ROM
Carga en
memoria
Componentes
del SO
Bajo el control del
Cargador del SO
Inicialización bajo el control
de la parte residente del SO
Arranque del Hardware Arranque del SO
Ciclo Escolar 2014-2015B
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 2014-2015B
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 2014-2015B
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 2014-2015B
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 1
Llamada al kernel
1
2
3
4
Tabla de despacho
Procedimiento
de servicio
Los programas de
usuario se ejecutan
en modo usuario.
El sistema operativo
se ejecuta en modo
de kernel
Memoria principal
Ciclo Escolar 2014-2015B

Más contenido relacionado

Similar a Sistemas Operativos.pdf

SISTEMAS OPERATIVOS
SISTEMAS OPERATIVOSSISTEMAS OPERATIVOS
SISTEMAS OPERATIVOS
laura pastor
 
SISTEMAS OPERATIVOS
SISTEMAS OPERATIVOSSISTEMAS OPERATIVOS
SISTEMAS OPERATIVOS
laura pastor
 
Milagro atacho so.doc
Milagro atacho so.docMilagro atacho so.doc
Milagro atacho so.doc
milagroatacho
 
Milagro atacho so.doc
Milagro atacho so.docMilagro atacho so.doc
Milagro atacho so.doc
milagroatacho
 

Similar a Sistemas Operativos.pdf (20)

SISTEMAS OPERATIVOS
SISTEMAS OPERATIVOSSISTEMAS OPERATIVOS
SISTEMAS OPERATIVOS
 
SISTEMAS OPERATIVOS
SISTEMAS OPERATIVOSSISTEMAS OPERATIVOS
SISTEMAS OPERATIVOS
 
Cuantos sistemas operativos existen
Cuantos sistemas operativos existenCuantos sistemas operativos existen
Cuantos sistemas operativos existen
 
Cuantos sistemas operativos existen
Cuantos sistemas operativos existenCuantos sistemas operativos existen
Cuantos sistemas operativos existen
 
Pedro
PedroPedro
Pedro
 
Pedro
PedroPedro
Pedro
 
Robinson
RobinsonRobinson
Robinson
 
Pedro
PedroPedro
Pedro
 
Pedro
PedroPedro
Pedro
 
Robinson
RobinsonRobinson
Robinson
 
Milagro atacho so.doc
Milagro atacho so.docMilagro atacho so.doc
Milagro atacho so.doc
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Milagro atacho so.doc
Milagro atacho so.docMilagro atacho so.doc
Milagro atacho so.doc
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
SISTEMAS OPERATIVOS
SISTEMAS OPERATIVOSSISTEMAS OPERATIVOS
SISTEMAS OPERATIVOS
 
SISTEMAS OPERATIVOS
SISTEMAS OPERATIVOSSISTEMAS OPERATIVOS
SISTEMAS OPERATIVOS
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 

Más de Ricardo89199 (6)

Beneficios de CLOUD.pdf
Beneficios de CLOUD.pdfBeneficios de CLOUD.pdf
Beneficios de CLOUD.pdf
 
Matrices y determinantesI.ppt
Matrices y determinantesI.pptMatrices y determinantesI.ppt
Matrices y determinantesI.ppt
 
Algebra superior_S2.pdf
Algebra superior_S2.pdfAlgebra superior_S2.pdf
Algebra superior_S2.pdf
 
Open class 1_PE.pdf
Open class 1_PE.pdfOpen class 1_PE.pdf
Open class 1_PE.pdf
 
Open class 3_PE.pptx
Open class 3_PE.pptxOpen class 3_PE.pptx
Open class 3_PE.pptx
 
ArquitecturaComputadora_OPC3_2021.pdf
ArquitecturaComputadora_OPC3_2021.pdfArquitecturaComputadora_OPC3_2021.pdf
ArquitecturaComputadora_OPC3_2021.pdf
 

Último

6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
Wilian24
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
jlorentemartos
 

Último (20)

BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
 
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCTRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
 
Desarrollo y Aplicación de la Administración por Valores
Desarrollo y Aplicación de la Administración por ValoresDesarrollo y Aplicación de la Administración por Valores
Desarrollo y Aplicación de la Administración por Valores
 
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
Factores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfFactores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdf
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdf
 
Usos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicasUsos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicas
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdf
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfPlan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtuales
 

Sistemas Operativos.pdf

  • 2. Introducción  Concepto, historia y evolución  Clasificación y estructura  Casos de estudio  Arranque y activación Ciclo Escolar 2014-2015B
  • 3. 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 2014-2015B
  • 4. 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 2014-2015B
  • 5. 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, …) Sistema Operativo (Windows, Linux, Mac OS X) Utilidades (Shell, Ensamblador, Enlazador, bibliotecas, …) Programas de aplicación (Resuelven problemas para los usuarios) (Word, Excel, …) Usuario Final Programador Diseñador del Sistema Operativo Ciclo Escolar 2014-2015B
  • 6. 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 2014-2015B
  • 7. 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 2014-2015B
  • 8. 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, una pulsación, o 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 2014-2015B
  • 9. 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 2014-2015B
  • 10. 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 2014-2015B
  • 11. $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 de Dispositivos Secuenciamiento de trabajos Intérprete del Lenguaje de Control Zona del Programa del Usuario Monitor Disposición de la memoria $JOB Programa a compilar Paquete de tarjetas para un sistema sencillo de por lotes Ciclo Escolar 2014-2015B
  • 12. 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 Ejecutar Esperar E/S Tiempo Monoprogramación Solo un programa en ejecución a la vez Ejecutar A Ejecutar A Tiempo Ejecutar B Ejecutar B Multiprogramación Más de un programa en ejecución a la vez Esperar E/S Esperar E/S Esperar E/S Ciclo Escolar 2014-2015B
  • 13. 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 2014-2015B
  • 14. 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 2014-2015B
  • 15. 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 2014-2015B
  • 16. Concepto, historia y evolución … (14)  Cuál es mejor?  http://hanggeek.wordpress.com/2008/03/18/batalla-de-sistemas-operativos/ ? Ciclo Escolar 2014-2015B
  • 17. Concepto, historia y evolución … (15)  ¿Cuál SO móvil es el más utilizado? Ciclo Escolar 2014-2015B
  • 18. Concepto, historia y evolución … (16) Ciclo Escolar 2014-2015B Uso de SO Móviles en 2014 a nivel mundial Tendencia en USA Tendencia en México
  • 19. Concepto, historia y evolución … (17)  ¿Qué equipo se usa más para navegar? Ciclo Escolar 2014-2015B
  • 20. Clasificación y estructura  Existen diversas clasificaciones desde distintos puntos de vista para los sistemas operativos. Clasificación de los Sistemas Operativos Por el número de usuarios Monousuarios Multiusuarios Por el número de tareas Monotareas Multitareas Por el número de procesadores Uniproceso Multiproceso Simétricos Asimétricos Por el propósito Específico General Por el tipo de diseño Monolíticos Abiertos Modulares Por capas Micronúcleo Máquinas virtuales Por el tipo de desarrollo Cerrado Ciclo Escolar 2014-2015B
  • 21. 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 2014-2015B
  • 22. 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 2014-2015B
  • 23. 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 2014-2015B
  • 24. 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 2014-2015B
  • 25. 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 2014-2015B
  • 26. 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 2014-2015B
  • 27. 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 2014-2015B
  • 28. 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 Núcleo Gestor de procesos Gestor de E/S Gestor de memoria Controladores Programas de Sistema Shell Aplicaciones de Usuario Servicios y llamadas al sistema Ciclo Escolar 2014-2015B
  • 29. 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 Programas de Sistema Shell Aplicaciones de Usuario Interfaz de llamadas al sistema Gestor de E/S Gestor de Procesos Gestor de Memoria Controladores de disp por flujo Controladores de disp por bloques Facilidades Comunes Ciclo Escolar 2014-2015B
  • 30. 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 de Memoria Gestor de Procesos Gestor de E/S Interfaz de Llamadas al Sistema Aplicaciones de usuario Ciclo Escolar 2014-2015B
  • 31. 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 Aplicaciones de Usuario Servidor de Memoria Servidor de Procesos Servidor de E/S Ciclo Escolar 2014-2015B
  • 32. 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 Aplicaciones De Usuario Llamadas al Sistema Aplicaciones De Usuario Llamadas al Sistema Aplicaciones De Usuario Llamadas al Sistema Ciclo Escolar 2014-2015B
  • 33. Casos de estudio (Unix/Linux) Hardware Hardware  Estructura general de un sistema Unix/Linux Hardware Núcleo Interfaz de Llamadas al Sistema Shell Comandos y Librerías Programas de Aplicación Componentes del compilador Compilador Ciclo Escolar 2014-2015B
  • 34. Casos de estudio (Unix/Linux) … (2) Hardware Control del hardware Controladores de dispositivos Caracter Bloque Buffer cache Subsistema de Archivos Sistema de control de procesos Comunicación entre procesos Planificador Gestor de memoria Interfaz de llamadas al sistema Librerías Programas de usuario Nivel Hardware Nivel Kernel Nivel Usuario  Diagrama de bloques del núcleo Unix/Linux  Adaptado de Unix. Programación avanzada Ciclo Escolar 2014-2015B
  • 35. Casos de estudio (Unix/Linux) … (3)  Vista particionada del kernel  Tomado de Linux device drivers 2ª Ed. Ciclo Escolar 2014-2015B
  • 36. 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 2014-2015B
  • 37. 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 2014-2015B
  • 38. Casos de estudio (Windows)  Arquitectura simplificada de Windows (NT) Modo Kernel Modo Usuario Capa de Abstracción de Hardware (HAL) Kernel Controladores de Dispositivos Ejecutor Sistema de Ventanas y Gráficos Procesos de Soporte del Sistema Subsistema de DLL’s Procesos de Servicio Aplicaciones de Usuario Subsistemas de Ambiente Ciclo Escolar 2014-2015B
  • 39. 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 2014-2015B
  • 40. 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 2014-2015B
  • 41. 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. Modo Kernel Modo Usuario Capa de Abstracción de Hardware (HAL) Kernel Controladores de Dispositivos Administrador Sistema de Ventanas y Gráficos Procesos de Soporte del Sistema Subsistema de DLL’s Procesos de Servicio Aplicaciones de Usuario Subsistemas de Ambiente Aplicación MS-DOS Aplicación de 16 bits Emulación MS-DOS Memoria Extendida de MS-DOS Emulación de MS-DOS a 32 bits Controladores de dispositivos Virtuales (COM, LPT, Teclado) Subsistema de DLL’s 0 K 640 K 1 MB 16 MB 16 bits 32 bits 7FFFFFFF Ciclo Escolar 2014-2015B
  • 42. 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 Service Control Mgr. LSASS Object Mgr. Windows USER, GDI File System Cache I/O Mgr User Application Subsystem DLLs System Processes Services Applications Original copyright by Microsoft Corporation. CRK. User Mode Kernel Mode Device & File Sys. Drivers WinLogon Session Manager Services.Exe POSIX Windows DLLs Plug and Play Mgr. Power Mgr. Security Reference Monitor Virtual Memory Processes & Threads Local Procedure Call Graphics Drivers Kernel Hardware Abstraction Layer (HAL) (kernel mode callable interfaces) Configura- tion Mgr (registry) OS/2 Windows System Threads NTDLL.DLL Ciclo Escolar 2014-2015B
  • 43. 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. Win32 Windowing Application System Services User Mode Kernel Mode Hardware Dependent Code Windows Device Drivers Process Management, Memory Management, I/O Management, etc. X-Windows Application System Services User Mode Kernel Mode Hardware Dependent Code Linux Ciclo Escolar 2014-2015B
  • 44. 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 2014-2015B
  • 45. Casos de estudio (Linux/Windows) … (3)  Uso de los Sistemas Operativos en 2014 [http://www.netmarketshare.com/] Ciclo Escolar 2014-2015B
  • 46. Casos de estudio (Linux/Windows) … (4)  Uso de los Sistemas Operativos en las 500 supercomputadoras más poderosas del mundo en 2014 [www.top500.org] Ciclo Escolar 2014-2015B
  • 47. Casos de estudio (Android) Ciclo Escolar 2014-2015B
  • 48. Casos de estudio (Android) … (2)  Android se compone de varias capas  Las superiores se basan en el funcionamiento de las inferiores.  Las aplicaciones se ejecutan en el tope de la pila (Applications).  Las aplicaciones hacen uso de los múltiples gestores de Android (Application FrameWork).  A su vez los gestores necesitan una serie de librerías (escritas en código nativo en C).  Al lado de las librerías se encuentra el Android Runtime, compuesto por la Máquina virtual Dalvik, la cual traduce el bytecode de las aplicaciones a código nativo entendible por el dispositivo móvil.  La última capa se compone por el núcleo basado en Linux, el cuál ha sido adaptado para operar con los recursos de los que dispone el móvil. Ciclo Escolar 2014-2015B
  • 49. Casos de estudio … Ciclo Escolar 2014-2015B
  • 50. 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 CPU ROM Carga en memoria del cargador del SO Bajo el control del Iniciador ROM Carga en memoria Componentes del SO Bajo el control del Cargador del SO Inicialización bajo el control de la parte residente del SO Arranque del Hardware Arranque del SO Ciclo Escolar 2014-2015B
  • 51. 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 2014-2015B
  • 52. 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 2014-2015B
  • 53. 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 2014-2015B
  • 54. 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 1 Llamada al kernel 1 2 3 4 Tabla de despacho Procedimiento de servicio Los programas de usuario se ejecutan en modo usuario. El sistema operativo se ejecuta en modo de kernel Memoria principal Ciclo Escolar 2014-2015B