CLASIFICACIÓN de SO

ESTRUCTURA INTERNA

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.

Los sistemas monolíticos se describen en tres procesos principales:

Estos sistemas tienen la ventaja de ser muy rápidos en su ejecución (solo hay que ejecutar un programa) pero cuentan con el inconveniente de carecer de la flexibilidad suficiente para soportar diferentes ambientes de trabajo o tipos de aplicaciones y son difíciles de modificar. Es por esto que estos sistemas operativos suelen ser hechos a medida, para solucionar un problema en concreto y no para trabajar de forma generalista.

image.png

Ejemplo: UNIX, MS-DOS, Mac OS hasta Mac OS 8.6 y Microsoft Windows 9x

Por capas

A medida que fueron creciendo las necesidades de los usuarios y se perfeccionaron los sistemas, se hizo necesaria una mayor organización del software, del sistema operativo, donde una parte del sistema contenía subpartes y esto organizado en forma de niveles.

Se dividió el sistema operativo en pequeñas partes, de tal manera que cada una de ellas estuviera perfectamente definida y con un claro interface con el resto de elementos.

Es la estructura de la mayoría de los sistemas operativos actuales.

image.png

Ejemplos: MULTICS, Venus

Máquina Virtual

Se trata de un tipo de sistema operativo que presenta una interfaz a cada proceso, mostrando una máquina que parece idéntica a la máquina real subyacente. Estos sistemas operativos separan dos conceptos que suelen estar unidos en el resto de sistemas: la multiprogramación y la máquina extendida.

El objetivo de los sistemas operativos de máquina virtual es el de integrar distintos sistemas operativos cando la sensación de ser varias máquinas diferentes.

El núcleo de estos sistemas operativos se denomina monitor virtual y tiene como misión llevar a cabo la multiprogramación, presentando a los niveles superiores tantas máquinas virtuales como se soliciten. Estas máquinas virtuales, no son máquinas extendidas, sino una réplica de la máquina real, de manera que en cada una de ellas se puede ejecutar un sistema operativo diferente, que será el que ofrezca la máquina extendida al usuario.

image.png

Ejemplo: VDI

NÚMERO DE PROCESOS SIMULTÁNEOS

Monotarea

Son aquellos que sólo permiten ejecutar uno de los procesos cargados en la memoria principal. Cuando se finalice por completo ese proceso, el SS.OO dará paso al siguiente proceso y así sucesivamente.

Se trata de un sistema de explotación secuencial.

Puede darse el caso de un sistema multiusuario y monotarea, en el cual se admiten varios usuarios al mismo tiempo pero cada uno de ellos puede estar haciendo solo una tarea a la vez.

image.png

Multitarea

Es aquel que permite al usuario estar realizando varias labores al mismo tiempo. Es común encontrar en ellos interfaz gráficas orientadas al uso de menús y el ratón, lo cual permite un rápido intercambio entre las tareas para el usuario, mejorando su productividad.

Se distinguen dos tipos de procesos multitarea:

NÚMERO DE USUARIOS SIMULTÁNEOS

Monousuarios

Son aquellos que soportan a un usuario a la vez, sin importar el número de procesadores que tenga la computadora o el número de procesos o tareas que el usuario pueda ejecutar en un mismo instante de tiempo. Las computadoras personales típicamente se han clasificado en esta sección.

Ejemplo: MS-DOS

Multiusuario

Son sistemas operativos que son capaces de dar servicio a más de un usuario a la vez, ya sea por medio de varios terminales conectados a la computadora o por medio de sesiones remotas en una red de comunicaciones. No importa el número de procesadores en la máquina ni el número de proceso que cada usuario puede ejecutar simultáneamente.

Ejemplo: Linux, Windows

image.png

NÚMERO DE PROCESADORES

Monoprocesador o Uniprocesador

Es aquel que es capaz de manejar solamente un procesador de la computadora, de manera que si la computadora tuviese más de uno le sería inútil.

Multiprocesador

Es aquel capaz de manejar más de un procesador en el sistema, distribuyendo la carga de trabajo entre todos los procesadores que existan en el sistema.

Generalmente estos sistemas trabajan de dos formas:

Asimétricamente, el sistema operativo selecciona a uno de los procesadores el cual será el procesador maestro y servirá como pivote para distribuir la carga a los demás procesadores, que reciben el nombre de esclavos.

Simétricamente, los procesos o parte de ellos (threads, hebras o hilos) son enviados indistintamente a cualquiera de los procesadores disponibles, teniendo una mejor distribución y equilibrio en la carga de trabajo.