Title: Sistemas Operativos
1Sistemas Operativos
Sergio Fuenlabrada Velázquez Edna Martha Miranda
Chávez
Revisión Feb 2011
Sergio Fuenlabrada Velázquez
2- Evolución de la estructura de los Sistemas
Operativos
3Estructura del Sistema Operativo (SO)
- Modelo Monolítico o estructura simple
- Modelo jerárquica, en estratos, modularidad o
capas - Modelo en tiempo real
- Modelo maquina virtual
- Modelo servidor del cliente
- Modelo orientado a objetos
4Estructura monolítico o simple
El sistema operativo estaba conformado por un
sólo programa el cual tenia subrutinas que eran
llamadas por el modulo principal (kernel)
Proceso lento
Usuario
Shell, comandos, compiladores, interpretes
Monolítico
Administradores, planificadores, manejadores E/S,
kernel
Hardware Controladores, manejadores de
dispositivos
5Estructura Monolítico o simple
- Los sistemas operativos monolíticos, cuentan con
un núcleo (kernel) llamado monolítico, este es
grande y complejo, engloba todos los servicios
que proporciona el sistema operativo, la gestion
de recursos, los servicios y manejo de
dispositivos se encuentran integrados en un único
programa. - Este tipo de sistemas operativos inicio siendo un
programa sencillo llamado monitor, pero conforme
la tecnología avanzaba, y los servicios
requeridos aumentaban, éste se vuelve complejo,
con miles de líneas de código. Lo que a su vez
provoca una respuesta lenta al servicio
solicitado. - Las modificaciones a este tipo de sistema
operativo son complicadas por lo grande del
código y cada modificación requiere la
re-compilación del núcleo.
6Estructura Monolítico o simple
- No exhibe una estructura, ya que es un enorme
programa, El programa consta de una rutina
principal llamada núcleo (en ingles kernel) y
conjunto de procedimientos (o subrutinas). - Una llamada al sistema es interceptada por el
núcleo y este a su vez llama a los procedimientos
que requiera para dar servicio a dicha llamada.
Para controlar multiples llamadas
utilizaregistros, colas y pilas. - Los procedimientos o subrutinas son llamados
para su ejecución por el núcleo o por otros
procedimientos o rutinas siempre que se requieran
7Estructura Monolítico o simple
- Llamada al sistema
- El programa del usuario captura al kernel
- El kernel establece el servicio que se solicita.
- El núcleo localiza y llama a un procedimiento que
proporciona el servicio solicitado - El procedimiento efectúa el servicio
- El control se devuelve al núcleo y este lo
regresa al programa del usuario
8Micro-núcleo
Estructura Jerárquica, por Estratos,
modularidad o capas
- Los sistemas operativos con Micro-núcleo o
microkernel cuentan con un núcleo pequeño, que
descentraliza los servicios y manejo de fallos o
errores. - Todos las solicitudes de servicios provistos por
el sistema operativo son recibidas por el núcleo,
y este a su vez llama a los administradores o
gestores para que efectúen el servicio
solicitado. - Como ventaja esta estructura presenta la
facilidad para modificar al sistema operativo, ya
que para añadir nuevas funcionalidades y
servicios, sólo es necesario el recompilar el
modulo específicos.
9Estructura Jerárquica, por Estratos, modularidad
o capas
- El sistema operativo esta dividido en partes,
módulos, estratos o capas, cada parte se encarga
de una tarea especifica. - Jerarquía de estratos, cada uno construido arriba
del que esta de bajo.
Estrato
Una generalización de este modelo es el modelo de
anillos concéntricos. Los anillos internos tienen
más privilegios que los anillos externos.
10 Estructura Jerárquica, por Estratos,
modularidad o capas
Ejemplo de un Sistema Operativo de 6 estratos
Secuencia
- Estrato 7.- Programas del usuario
- Estrato 6.- Proceso operador del sistema
(comunicación con el usuario y con el hardware --
estrato más interno del S.O.) - Estrato 5.- Distribución del procesador y
multiprogramación. - Estrato 4.- Manejo de memoria
- Estrato 3.- Comunicación entre procesos
- Estrato 2.- Manejo de dispositivos E/S
- Estrato 1.- Proceso operador del sistema
- Estrato 0.- Hardware
11Tiempo real
- El sistema operativo de tiempo real (Real Time
Operating System), fue desarrollado para soportar
aplicaciones en tiempo real. - Las aplicaciones en tiempo real se caracterizan
por contar con una serie de dispositivos los
cuales reciben información del medio ambiente, y
el sistema debe dar una respuesta inmediata a
dicho requerimiento. - Los sistemas operativos en tiempo real se evalúan
en función al tiempo que se tardan en recibir los
datos, generar y emitir una respuesta. - Este tipo de sistema operativo se encuentra
instalado en aviones, automoviles, equipos
industriales, etc.
12Tiempo real
- Una versión de los sistemas operativos de tiempo
real son - Los sistema operativos guiados por eventos. Se
activan cuando un evento ocasiona o requiere un
servicio. Ejemplo se recibe una señal de un
electrodo conectado a un paciente el cual indica
que los niveles de insulina se encuentran abajo
del minimo establecido. El sistema puede
responder enviando una dosis de insulina o
emitiendo una alarma audible, o enviando un
mensaje al pool de enfermeras, etc. - Se comparte el recurso por tiempo. Estos cambian
o activan tareas por que se generó una
interrupción del reloj o por un evento. Ejemplo,
nuevamente un electrodo conectado a un paciente y
un control de tiempo del sistema. El paciente
puede recibir medicamento de acuerdo a un horario
establecido o porque la enfermera programa el
dispositivo para emitir una descarga de dicho
medicamento.
13Maquina virtual
- Cada proceso genera una maquina virtual (Virtual
Machine -VM). La cual consta de una copia de los
programas de servicio, programas de control y el
corazón del sistema operativo. El Acceso al
procesador lo controla el monitor de maquina
virtual. - Cada VM interactúa directamente con el hardware
en E/S. - En un equipo de computo pueden estar ejecutandose
varias VM, incluso pueden ejecutarse en diferente
sistemas operativos.
14Maquina virtual
Difícil implementación
- Cada proceso
- Crea la ilusión de que es el unico proceso
ejecutandose en el computador, ya que se crea la
imagen de que el proceso cuenta con su propio
procesador, memoria, dispositivo etc. A cada
proceso se le presenta una copia virtual del
procesador y la memoria. - Cada MV se le crea un espacio de memoria, llamada
minidiscos. - El spooling ayuda a simular dispositivos
dedicados. - Java (1995)
- Interfaz API soporte de lenguaje basico para
graficar - Maquina virtual JVM - Interprete de JAVA,
ejecuta codigos de bytes independiente del
Hardware.
15Servidor del cliente
Mas usado actualmente
Procesos Cliente
4
Mensajes
Mensaje
1
Microkernel / Núcleo hibrido
2
3
Mensajes
Programas servicio
Este tipo de estructura puede operar con
microkernel o núcleo hibrido
16Núcleo Hibrido
Los núcleos híbridos aumentar el rendimiento del
sistema operativo, integrándose fundamentalmente
con micro núcleos. Esto es, transfieren algo de
código del núcleo (componente no esencial) al
espacio de usuario El núcleo híbrido usa
conceptos de arquitectura o mecanismos tanto del
diseño monolítico como de micro núcleo Se basan
en el paso de mensajes. La mayoría de los
sistemas operativos actuales (año 2008)
pertenecen a esta categoría, como Microsoft
Windows, XNU, Mac OS X.
17Servidor del cliente (micro-kernel)
Inicio Mediados 80s
- Se basan en núcleos híbridos - La idea es pasar
código a estratos mayores (usuario) e implantar
la mayoría de las funciones del S.O. en procesos
del usuario y minimizar el núcleo (micro-kernel). - La comunicación (paso de mensajes) facilita la
ejecución de procesos locales y remotos. - Todos los procesos se corren en modo usuario, por
lo tanto el acceso al hardware sigue siendo
responsabilidad del S.O. - Existe independencia de procesos y por lo tanto
de errores. - El proceso puede enviar información a una
dirección y esto significa (por default, ya que
se prende una bandera) que se requiere leer la
información que se encuentra en esa dirección o
enviarla a un buffer.
18Orientación a Objetos
Futuro de los S.O.
- Toma las características de operación de sus
antecesores. - Se basa en el principio de dividir al sistemas
operativo en funciones o servicios. Por lo tanto
cada objeto ejecuta una función o servicio
especifico y mientras más especializado mejor. - La comunicación entre objetos es a través de
mensajes. - Un objeto ejecuta una tarea especifica de
principio a fin. - El kernel es el objeto primario y establece las
comunicaciones entre clientes (procesos usuarios)
y servidores (gestores de recursos). - Facilita al usuario la interacción con el sistema
operativo y la ejecución de procesos locales y
remotos, ya que pierde importancia de donde
proceda el mensaje. - Los objetos del sistema operativo pueden ser
llamados (ejecutados) por aplicaciones del
usuario.
19Sistemas operativos por servicios
- Son los tipos de sistemas más conocidos desde el
punto de vista de los servicios que ofrecen al
usuario. - Mono-usuario
- Multiusuario
- Mono-tareas
- Multitareas
- Uniproceso o mono-proceso
- Multiproceso asimétrica (un procesador pivote y
n esclavos) o simétrica (n procesadores
trabajando en paridad). - En tiempo real
- En red
- Procesamiento distribuido
- Dispositivos remotos
- Dispositivos móviles
20Ejemplos de estructuras de diferentes sistemas
operativos para Computadoras Personales
21Ejemplo Arquitectura de Sistema Operativo UNIX
Sistemas Operativos, Gary Nutt, Ed. Pearson
22Ejemplo Organización de Windows NT/2000/XP
Sistemas Operativos, Gary Nutt, Ed. Pearson
23INVESTIGACIÓN
Tarea Investigue una estructura de los sistemas
operativos distribuidos y de sistemas operativos
para equipos móviles
24Modo Súper-usuario, administrador
- Hoy en día para diferenciar las llamadas que
puede el usuario efectuar al sistema operativo se
dice que trabaja en modo supervisor o súper
usuario o modo usuario - Modo supervisor o súper usuario el usuario puede
ejecutar el juego completo de instrucciones
disponibles del sistema operativo. En las
computadoras personales normalmente existe un
solo súper usuario para el sistema operativo. - Modo usuario el usuario sólo podrá ejecutar un
juego restringido de instrucciones. Pueden
existir n usuarios para la computadora.