Está en la página 1de 35

Universidad Francisco Gavidia

Sistemas Operativos Aplicados


Estructura o Arquitectura del
Sistema Operativo
Objetivos.

Conocer la Organización o
arquitectura interna del
sistema operativo.
En la estructura de un sistema operativo deberá considerar
dos aspectos importante los cuales son:

 Requisitos de usuario: Sistema fácil de usar y de


aprender, seguro, rápido y adecuado al uso al que se le
quiere destinar.

 Requisitos del software: Donde se engloban aspectos


como el mantenimiento, forma de operación,
restricciones de uso, eficiencia, tolerancia frente a los
errores y flexibilidad.

A continuación se describen las distintas estructuras que


presentan los actuales sistemas operativos para satisfacer
las necesidades que de ellos se quieren obtener.
Diferentes Diseños de S.O

Sistemas Monolíticos
Sistemas de Capas
Sistema Microkernels
Sistema Cliente-Servidor
Sistema Maquinas virtuales.
 Sistemas monolíticos.
Descripción: su organización se considera la mas común, todo el
sistema operativo se ejecuta como un solo programa en modo kernel. Se
componen de un conjunto de procedimientos enlazados entre sí en un solo
programa binario ejecutable extenso, donde cada uno de ellos puede llamar
a todos los demás.
Proceso para requerir un servicio del S. O.: el programa de usuario
coloca los parámetros necesarios en los lugares previamente definidos, y
seguidamente ejecuta una llamada al supervisor (se cambia de modo
usuario a modo supervisor), transfiriendo el control al S. O. que examina
dichos parámetros y determina el procedimiento que debe invocar.
Cuando se complete la llamada devuelve el control al programa de usuario.
S. O. con una pequeña estructura de niveles:
Estructura básica para el S.O

1. Un programa principal que invoca el


procedimiento de servicio solicitado.

2. Un conjunto de procedimientos de servicio que


llevan a cabo las llamadas al sistema.

3. Un conjunto de procedimientos utilitarios que


ayudan a los procedimientos de servicio.
En este modelo, para cada llamada al sistema hay un
procedimiento de servicio que se encarga de la
llamada y la ejecuta.

Los procedimientos utilitarios hacen cosas que


necesitan varios procedimientos de servicio, como
obtener datos de los programas de usuarios.
S. O. con una pequeña estructura de niveles:
Sistema de capas

 Arquitectura modular, define capas o niveles de


abstracción, cada uno de los cuáles aprovecha el
servicio de la capa inferior.

 se organiza en una
jerarquía de estratos,
estando construido cada
uno de ellos sobre el otro
que tiene menor jerarquía
que él.
 Núcleo:

•Dividido en múltiples
niveles, capas de una cebolla
•El más alto la interfaz de
llamadas

•Cada nivel usa únicamente


servicios del inferior y da
servicio al superior

•Comunicación entre capas


vía traps
ventajas

 Modularidad:

 Depuración y verificación: una vez depurada la primer


capa se puede dar por sentado su funcionamiento
correcto mientras se trabaja con la segunda capa

 Mantenimiento: Es posible por ejemplo cambiar las


rutinas de bajo nivel siempre que la interfaz externa de
la rutina no cambie y la rutina realice la misma tarea
anunciada
desventajas

 problema: definición apropiada de las distintas capas.

 Tienden a ser menos eficientes.

 Llamada entre capaz … paso de parámetros


 En definitiva cada capa implica un gasto extra
 Tendencia: equilibrio, menos capas con más funcionalidad:
 Ventajas de la modularidad
 Evitan los problemas de definición e interacción entre capas.
Microkernels

 Micronúcleo (en inglés: microkernel) es un tipo


de núcleo de un sistema operativo que provee un
conjunto de primitivas o llamadas al sistema
mínimas, para implementar servicios básicos como
espacios de direcciones, comunicación entre
procesos y planificación básica.
La idea básica detrás del diseño de microkernels es
lograr una alta confiabilidad al dividir el sistema
operativo en módulos pequeños y bien definidos, sólo
uno de los cuales (el microkernels) se ejecuta en modo
kernels y el resto se ejecuta como procesos de usuario
ordinarios, sin poder relativamente.
 Todos los otros servicios (gestión de memoria,
sistema de archivos, operaciones de E/S, etc.), que
en general son provistos por el núcleo, se ejecutan
como procesos servidores en espacio de usuario.
 En informática, el núcleo es el programa informático que
se asegura de:

 La comunicación entre los programas que solicitan


recursos y el hardware.

 Gestión de los distintos programas informáticos


(tareas) de una máquina.

 Gestión del hardware (memoria, procesador,


periférico, forma de almacenamiento, etc.)
 La mayoría de las interfaces de usuario se
construyen en torno al concepto de núcleo. La
existencia de un núcleo, es decir, de un único
programa responsable de la comunicación entre el
hardware y el programa informático, resulta de
compromisos complejos referentes a cuestiones de
resultados, seguridad y arquitectura de los
procesadores. El núcleo tiene grandes poderes
sobre la utilización de los recursos materiales
(hardware), en particular, de la memoria.
ventajas

 Reducción de la complejidad

 La descentralización de los fallos (un fallo en una


parte del sistema no lo colapsaría por completo).

 facilitación para crear y depurar controladores de


dispositivos
Desventajas.

 complejidad en la sincronización de todos los


módulos que componen el micronúcleo.

 Dificultad en el acceso a la memoria

 La anulación de las ventajas de Zero Copy

 Dificultad para la integración con las aplicaciones


Modelo Cliente-Servidor.
El tipo más reciente de sistemas operativos es el
denominado Cliente-servidor, que puede ser ejecutado
en la mayoría de las computadoras, ya sean grandes o
pequeñas.

Este sistema sirve para toda clase de aplicaciones por


tanto, es de propósito general y cumple con las mismas
actividades que los sistemas operativos
convencionales.
El núcleo tiene como misión establecer
la comunicación entre los clientes y los
servidores. Los procesos pueden ser
tanto servidores como clientes. Por
ejemplo, un programa de aplicación
normal es un cliente que llama al
servidor correspondiente para acceder
a un archivo o realizar una operación
de entrada/salida sobre un dispositivo
concreto. A su vez, un proceso cliente
puede actuar como servidor para otro.”
 Este paradigma ofrece gran flexibilidad en cuanto a
los servicios posibles en el sistema final, ya que el
núcleo provee solamente funciones muy básicas de
memoria, entrada/salida, archivos y procesos,
dejando a los servidores proveer la mayoría que el
usuario final o programador puede usar
MAQUINAS VIRTUALES

Descripción: Es un software que emula a una


computadora y que permite ejecutar programas como
si fuese una computadora real.
El programa de control es el que se ejecuta
directamente sobre el propio hardware y
ofrece al nivel inmediatamente superior varias
máquinas virtuales.
Una característica esencial es que los procesos que
ejecutan están limitados a los recursos y abstracciones
proporcionados por ellas.
Estos procesos no pueden escaparse de esta
computadora virtual.

El uso mas habitual es la instalación de sistema


operativo para probar su funcionamiento para que este
no afecte la configuración original de la máquina.
Tipos de máquinas
virtuales

Maquina Maquina
virtual de virtual de
sistema proceso
 Maquina virtual de sistema:
Se le conoce también como máquinas virtuales de
hardware, permiten a la quina física subyacente
multiplicarse entre varias máquinas virtuales, cada
una de ellas ejecutando su propio SO.
Al software que permite la virtualización se llama
Monitor de máquina virtual o hypervisor. Este
programa puede ejecutarse directamente sobre el
hardware o bien sobre el sistema operativo.
 Aplicaciones de las maquinas virtuales de sistema:
 Varios sistemas operativos instalados sobre la
misma computadora aislados el uno de los otros.
 Proporciona arquitectura de instrucciones (ISA) ,
permite simular hardware.
 Varias máquinas virtuales con su propio sistema
operativo, pueden ser utilizadas para consolidar
servidores.
Maquinas virtuales de sistema .

 Microsoft virtual Pc
 Vmware
 VirtualBox
 Virtual Iron
 Virtual Operating System
 VM de IBM
 Maquina virtual de proceso:
conocida también como máquina virtual de aplicación
se ejecuta como un proceso normal dentro de un
sistema operativo y soporta un solo proceso.
La quina se inicia automáticamente cuando se lanza el
proceso que se desea ejecutar y se detiene para cuando
éste finaliza.
Su objetivo es proporcionar un entorno de ejecución
independiente de la plataforma de hardware y del
sistema operativo, que oculte los detalles de la
plataforma subyacente y permita que un programa se
ejecute siempre de la misma forma sobre cualquier
plataforma.

Ejemplo: La maquina virtual de java (JVM)


Common Lenguage Runtime ( CLR)
inconvenientes

 Uno de los inconvenientes es la lentitud del sistema,


es decir el programa no alcanzará la misma velocidad
de ejecución que si se instalara directamente en el
sistema operativo. (host) o directamente sobre la
plataforma de hardware.
Maquinas virtuales de proceso

 Java Virtual Machine (JVM)


 Common Language Runtime
 Forth Virtual Machine
 Glulx – Glulx,
 Harbour
 Macromedia Flash Player (SWF)
Máquinas virtuales a nivel de sistema Operativo

 Open VZ
 Virtuozzo
 FreeVPS
 Linux-Vserver
 FreeBSD Jails
 Solaris Containers

También podría gustarte