You are on page 1of 21

SISTEMA OPERATIVO

ESTRUCTURA
ESTRUCTURA: MONOLITICA,
JERARQUICA
Estructura: Monolítica

Es la estructura de los primeros sistemas operativos constituidos


fundamentalmente por un solo programa, compuesto de un conjunto de
rutinas entrelazadas de tal forma que cada una puede llamar a
cualquier otra.
Características Fundamentales.

 Construcción del programa final a base de módulos compilados


separadamente que se unen a través del ligador

 Buena definición de parámetros de enlace entre las distintas rutinas


existentes, que puede provocar mucho acoplamiento.

 Carecen de protecciones y privilegios al entrar a rutinas que manejan


diferentes aspectos de los recursos de la computadora, como memoria,
disco, etc.

 Generalmente están hechos a medida, por lo que son eficientes y


rápidos en su ejecución y gestión, pero por lo mismo carecen de
flexibilidad para soportar diferentes ambientes de trabajo o tipos de
aplicaciones.
La Estructura Consiste.

En los Sistemas monolíticos, la estructura consiste en que no existe estructura


alguna. El sistema operativo se escribe como una colección de
procedimientos, cada uno de las cuales puede llevar a los demás donde
los requiera.

Para construir el programa objeto real del sistema operativo mediante este
punto de vista se copila en forma individual los procedimientos y después
se embazan en un solo archivo objeto con el ligado.

A pesar de no tener una estructura se podría inducir al menos algo parecido a


esta última. Los servicios (llamadas al sistema a que proporciona el
sistema operativo). Se solicita colocando los parámetros en los lugares
bien definidos quizá en los registros o en la pila, después se ejecuta una
instrucción especial de trampa, de nombre llamada al núcleo o llamada al
supervisor. Esta llamada costa de los siguientes pasos:

 El programa del usuario es atraído hacia el núcleo.


 El sistema operativo determina él numera del servicio solicitado.
 El sistema operativo localiza y llama al proceso correspondiente al servicio.
 El control regresa al programa del usuario.
Núcleo Monolítico.

Los núcleos monolíticos generalmente están divididos en dos


partes estructuradas:

 El núcleo dependiente del hardware:

El núcleo dependiente se encarga de manejar las


interrupciones del hardware, hacer el manejo de bajo nivel de
memoria y discos y trabajar con los manejadores de
dispositivos de bajo nivel, principalmente.

 El núcleo independiente del hardware:


El núcleo independiente del hardware
se encarga de ofrecer las llamadas al sistema, manejar los
sistemas de archivos y la planificación de procesos. Para el
usuario esta división generalmente pasa desapercibida.
Ventajas y desventajas

Ventaja:
 Comunicación entre módulos mediante llamadas a procedimientos:
Barato en tiempo, interfaz simple y homogénea.

Desventajas:
>Complejo.
>Difícil de modificar.
Estructura: Jerárquica.

Con el tiempo fueron creciendo las necesidades de los usuarios y se


perfeccionaron los sistemas, por lo tanto se hizo necesaria una mayor
organización del software del sistema operativo, donde una parte del sistema
contenía sub partes y está organizado en forma de niveles.

Se dividió el sistema operativo en pequeñas partes, de tal forma que cada una de
ellas estuviera perfectamente definida y con una clara interface con el resto de
elementos.
En un Sistema Operativo se organiza como 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 le ofrece la capa inferior
Capas
 Capa 0
Reparto del Procesador y Multiprogramación.
Se ocupa del reparto del procesador, conmutado entre procesos cuando
ocurrían interrupciones o expiraban temporizadores. Más arriba de la capa 0, el
sistema consistía en procesos secuenciales, cada uno de los cuales podía
programarse sin tener que preocuparse por el hecho de los múltiples procesos
se estuvieran ejecutando en un solo procesador. En pocas palabras, la capa 0
se encargaba de la multiprogramación básica de la CPU.
 Capa 1
Administrador de memoria y tambor.

Administra la memoria, repartiendo espacio para los procesos en la memoria


principal y en un tambor de 512k palabras que servían para con tener partes de
los procesos para que no hubiera espacio en la memoria principal. Más arriba
de la capa y, los procesos no tenían que preocuparse por si estaban en la
memoria o en el tambor; del software de esa capa se encargaba de que se
colocaran en la memoria las páginas en el momento que las necesitaba.
 Capa 2
Comunicación Operador-Proceso.
La capa 2 maneja la comunicación entre cada proceso y la consola de
operador. Por encima de esta capa, cada proceso tenia efectivamente su propia
consola del operador.
 Capa 3
Administración de Entrada /Salida.
Unas de las principales funciones de un sistema operativo es la gestión
de recursos de la computadora es decir, los dispositivos periféricos. El
gestor de E/S debe controlar el funcionamiento de todos los
dispositivos de E/S para alcanzar los siguientes objetivos:
> Facilitar el manejo de los dispositivos periféricos:
Para ello debe de ofrecer una interfaz sencilla, uniforme y fácil de
utilizar entre los dispositivos, y gestionar los errores que se pueden
producir en el acceso a los mismos.

> Ofrecer mecanismos de protección que impidan a los usuarios


acceder sin control a los dispositivos periféricos.
 Capa 4
Programa de usuarios.
En la capa 4 se encuentran los programas de usuario, los cuales no
tenias que preocuparse por la administración de procesos, memoria,
consola E/S. el proceso del operador del sistema esta en la capa 5.
Ventajas y desventajas de la estructura
por capas.
 Ventajas:
La principal ventaja que ofrece este tipo de estructuras es la
modularidad y la ocultación de la información. Una capa no necesita
conocer cómo se ha implementado la capa sobre la que se construye,
únicamente necesita conocer la interfaz que ofrece. Esto facilita
enormemente la depuración y verificación del sistema, puesto que las
capas se pueden ir construyendo y depurando por separado.

 Desventajas:
>Estructura jerárquica es demasiado inflexible
>>Sistemas reales tienen ciclos de uso
>>>Sistema de archivos requiere de servicios de memoria virtual.
>>Memoria virtual puede usar archivos para respaldos en discos.
>Bajo desempeño.
>>>Cada cruce entre niveles involucra una sobrecarga (overhead)
MAQUINA VIRTUAL
Una máquina virtual es un programa informático que crea un entorno virtual entre el
sistema operativo y el hardware para que el usuario final pueda ejecutar
aplicaciones en una máquina abstracta. Por decirlo de manera más sencilla,
una máquina virtual es una aplicación que simula el funcionamiento de una
máquina real sobre la que se pueden instalar sistemas operativos, aplicaciones,
navegar de forma segura, imprimir desde alguna aplicación, usar los
dispositivos USB, etc.

Se trata de un tipo de sistemas operativos que presentan una interface a cada


proceso, mostrando una máquina que parece idéntica a la máquina real
subyacente.
El objetivo de los sistemas operativos de máquina virtual es el de integrar distintos
sistemas operativos dando la sensación de ser varias máquinas diferentes.

Esta es cuando instalas uno sistema operativo dentro de otro sin la necesidad de
particiones, la máquina virtual es un emulador de la bios y se instala otro
sistema operativo dentro de alguna carpeta.
Conceptos.
Se separan totalmente las funciones de multiprogramación y de máquina extendida.

 Multiprogramación:
Se denomina multiprogramación a la técnica que permite que dos o más procesos
ocupen la misma unidad de memoria principal y que sean ejecutados al "mismo
tiempo", en la unidad central de proceso o CPU.
Aporta las siguientes ventajas:
La ya mencionada, varios procesos en ejecución.
Permite el servicio interactivo simultáneo a varios usuarios de manera eficiente.
Aprovecha los tiempos que los procesos pasan esperando a que se completen
sus operaciones de E/S
Tienen que permitir la multiprogramación y que la máquina se convierta en
extendida, presentando a los usuarios un interface (relación hombre - máquina)
para cada proceso de tal forma que parece tener la máquina real para el solo,
convirtiéndola en varias máquinas virtuales.

 Maquina extendida
Cuando usas más de una maquina virtual.
Ventajas y Desventajas.

 Ventajas de las Máquinas Virtuales.

Con las máquinas virtuales podemos tener varios sistemas operativos


sin necesidad de crear particiones o tener más discos duros, esto nos
permitirá poder tener sistemas operativos para pruebas.

 Desventajas de las Máquinas Virtuales.


La principal desventaja de las máquina virtual, es que en la aplicación
de algunos procesos tendrá como efecto la lentitud del computador, es
decir, la computadora en la cual se está ejecutando este proceso debe
tener una capacidad bastante notable “debe ser de gran capacidad o
potente”.
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.
Características del Cliente

 Es quien inicia solicitudes o peticiones, tienen por tanto un papel


activo en la comunicación (dispositivo maestro o amo ).

 Espera y recibe las respuestas del servidor.

 Por lo general, puede conectarse a varios servidores a la vez .


Características del Servidor
En los sistemas C/S el receptor de la solicitud enviada por cliente se conoce
como servidor . Sus características son:

 Al iniciarse esperan a que lleguen las solicitudes de los clientes, desempeñan


entonces un papel pasivo en la comunicación (dispositivo esclavo ).

 Tras la recepción de una solicitud, la procesan y luego envían la respuesta al


cliente.

 Por lo general, aceptan conexiones desde un gran número de clientes (en


ciertos casos el número máximo de peticiones puede estar limitado).

 No es frecuente que interactúen directamente con los usuarios finales


Componentes del Cliente-Servidor.
Cliente/servidor es un modelo basado en la idea del servicio, en el que el
cliente es un proceso consumidor de servicios y el servidor es un
proceso proveedor de servicios.

Los tres elementos fundamentales sobre los cuales se desarrollan e


implantan los sistemas cliente/servidor:
El proceso cliente que es quien inicia el diálogo.

El proceso servidor que pasivamente espera a que lleguen peticiones


de servicio y el middleware que corresponde a la interfaz que provee la
conectividad entre el cliente y el servidor para poder intercambiar
mensajes.

Para entender en forma más ordenada y clara los conceptos y


elementos involucrados en esta tecnología se puede aplicar una
descomposición o arquitectura de niveles. Esta descomposición
principalmente consiste en separar los elementos estructurales de esta
tecnología en función de aspectos más funcionales de la misma:
 Nivel de Presentación: Agrupa a todos los elementos asociados al
componente Cliente.

 Nivel de Aplicación: Agrupa a todos los elementos asociados al


componente Servidor.

 Nivel de comunicación: Agrupa a todos los elementos que hacen


posible la comunicación entre los componentes Cliente y servidor.

 Nivel de base de datos: Agrupa a todas las actividades asociadas al


acceso de los datos.
Estructura de un cliente servidor.
 Consiste en trasladar el código a capas superiores, dejando un núcleo
mínimo.

 Pretende implantar la mayoría de las funciones del sistema operativo


como procesos de usuario.

 Los procesos que existen son procesos clientes y procesos servidor.

 La función del kernel se reduce a funciones básicas como controlar,


supervisar y coordinar la comunicación entre procesos clientes y
servidores.
Núcleo de Cliente- Servidor
 El núcleo tiene como misión establecer la comunicación entre los
clientes y los servidores. Este núcleo se divide en dos procesos:
 Proceso Cliente:
El cliente es el proceso que permite al
usuario formular los requerimientos y pasarlos al servidor, se lo conoce
con el término front-end. Este normalmente maneja todas las
funciones relacionadas con la manipulación y despliegue de datos, por
lo que están desarrollados sobre plataformas que permiten construir
interfaces gráficas de usuario (GUI), además de acceder a los servicios
distribuidos en cualquier parte de la red.

 Administrar la interfaz de usuario.


 Interactuar con el usuario.
 Procesar la lógica de la aplicación y hacer validaciones locales.
 Generar requerimientos de bases de datos.
 Recibir resultados del servidor.
 Formatear resultados.
 Proceso Servidor:
Es el proceso encargado de atender a múltiples clientes
que hacen peticiones de algún recurso administrado por él. Al proceso
servidor se lo conoce con el término back-end. El servidor
normalmente maneja todas las funciones relacionadas con la mayoría
de las reglas del negocio y los recursos de datos.

 Aceptar los requerimientos de bases de datos que hacen los clientes.


 Procesar requerimientos de bases de datos.
 Formatear datos para trasmitirlos a los clientes.
 Procesar la lógica de la aplicación y realizar validaciones a nivel de
bases de datos.

You might also like