Tipos de Sistemas Operativos
Los sistemas operativos son susceptibles de ser clasificados o divididos en función de sus características:
-Por sus estructura
-Por los servicios ofrecidos
-Por el soporte que ofrece a los servicios.
Sistemas por estructura:
Dependiendo de su estructura los sistemas operativos pueden clasificarse de la forma que veremos a continuación.
Monolíticos: Esta es la estructura de los primeros sistemas operativos, que estaban constituidos fundamentalmente por un único programa compuesto de un conjunto de rutinas entrelazadas de tal forma que cada una podía llamar a cualquier otra.
Con capas: A medida que aumentan las necesidades de los usuarios y se perfeccionaron los sistemas se hizo necesaria una mayor organización del sistema operativo, donde una parte del mismo contenía subpartes y organizarlo en forma de niveles.
El sistema operativo se dividió en pequeñas partes, de forma que cada una de ellas estuviera perfectamente definida y con una clara comunicación con el resto de los elementos. Se constituyó una estructura jerárquica, o de niveles, en los sistemas operativos, el primero de los cuales fue denominado THE (Technische Hogeschool Eindhoven), y que se utilizó con fines didácticos. Se puede pensar también en estos sistemas como si fueran multicapa.
La mayoría de los sistemas operativos actuales están basados en la estructura que se muestra a continuación
Con máquina virtual:
Se trata de un tipo de sistema operativo que presenta una interfaz para 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:
1. La multiprogramación.
2. La máquina extendida.
El objetivo de los sistemas operativos de máquina virtual es el de conseguir integrar distintos sistemas operativos, dando la sensación de disponer de varias máquinas diferentes. El núcleo de estos sistemas operativos se denomina monitor virtual y tiene la misión de 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 copia de la máquina real, de manera que en cada una de ellas pueda ejecutarse un sistema operativo diferente, que será el encargado de ofrecer la máquina extendida al usuario.
Cliente Servidor:
El tipo más reciente de sistemas operativos es el denominado Cliente/Servidor, también conocido como Microkernel, que puede ejecutarse en la mayoría de los ordenadores, ya sean grandes o pequeños. Este sistema sirve para toda clase de aplicaciones y, por lo tanto, es de propósito general y cumple los mismos requisitos que los sistemas operativos convencionales. El núcleo del sistema tiene la misión de establecer la comunicación entre los clientes y los servidores. Los procesos pueden ser tanto servidores como clientes. Por ejemplo, un programa normal es un cliente que llama al servidor correspondiente para acceder a un archivo o realizar una operación de entrada/salida en un dispositivo concreto. A su vez, un proceso cliente puede actuar como servidor de otro. Este paradigma ofrece gran flexibilidad en cuanto a los posibles servicios en el sistema final, ya que el núcleo solamente provee las funciones más básicas de memoria, entrada/salida, archivos y procesos, dejando a los servidores proveer la mayoría de funciones que el usuario final o programador puede necesitar.
Sistemas por los servicios:
Monousuario:
Los sistemas operativos monousuario son aquéllos que sólo admiten un usuario a la vez, sin importar el número de procesadores que tenga el ordenador o el número de procesos o tareas que el usuario ejecute al mismo tiempo. Como ejemplo de este tipo de sistemas operativos encontramos, entre otros:
• MS DOS
• MS Windows 9x, , Me y Windows XP Home Edition
•Mac OS (antes de OS X)
Multiusuario:
Los sistemas operativos multiusuario son capaces de dar servicio a más de un usuario a la vez, ya sea por medio de varias terminales conectadas al servidor o a través de sesiones remotas en una red de comunicaciones. No importa el número de procesadores en la máquina ni el número de procesos que cada usuario puede ejecutar de forma simultánea.
Algunos sistemas como GNU/Linux ofrecen, además, la posibilidad de trabajar con terminales virtuales. Esta característica permite emular en una única máquina el trabajo con varias terminales remotas, ya que es posible iniciar una sesión como diferentes usuarios (o como el mismo usuario varias veces) utilizando el mismo hardware pero de forma que parezca que cada uno trabaja con una terminal independiente. Ejemplos de sistemas operativos multiusuario son:
• UNIX (y sus derivados).
• MS Windows 2000 y Windows XP Professional Edition.
• Mac OS X.
Monotarea:
Los sistemas monotarea son los que sólo permiten una tarea a la vez por usuario. Puede darse el caso de un sistema multiusuario y monotarea, en el que se admiten varios usuarios al mismo tiempo pero en el que cada uno de ellos sólo puede estar realizar una tarea a la vez. Algunos ejemplos son MS DOS, MS Windows 3.X, 95 (sistemas que sólo simulaban la multitarea, pero que realmente pertenecen a esta clasificación).
Multitarea:
Un sistema operativo multitarea es el que permite al usuario estar realizando varias acciones al mismo tiempo. Por ejemplo, puede estar escuchando música con un reproductor de CDs, escribiendo un texto, copiando archivos entre directorios y descargando música de Internet (además de mantener una interfaz gráfica). Es habitual encontrar en ellos interfaces gráficas orientadas al uso de menús y del ratón, lo que permite un rápido intercambio entre las tareas, mejorando su productividad. Algunos ejemplos son: Mac OS, UNIX (y sus derivados), MS Windows 98, Me, 2000 y XP.
Monoprocesador:
Un sistema operativo monoprocesador es aquél que sólo es capaz de manejar un procesador del equipo, de manera que si el ordenador tuviese más de uno sería inútil. El ejemplo más típico de este tipo de sistemas es el MS DOS y MacOS (en sus versiones antiguas).
Multiprocesador:
Un sistema operativo multiprocesador se refiereal número de procesadores del sistema, que es más de uno y es capaz de usarlos todos a la vez para distribuir su carga de trabajo. Generalmente estos sistemas trabajan de dos formas: simétricamente y asimétricamente. Cuando se trabaja de manera asimétrica, el sistema operativo selecciona uno de los procesadores para que sirva de procesador maestro y se encargue de distribuir la carga a los demás procesadores, que reciben el nombre de esclavos. Cuando se trabaja de manera simétrica, los procesos o partes de ellos (hilos o threads) son enviados indistintamente a cualquiera de los procesadores disponibles, teniendo, teóricamente, una mejor distribución y equilibrio de la carga de trabajo. Se dice que un hilo es la parte activa en memoria de un proceso, lo cual puede consistir en un área de memoria, un conjunto de registros con valores específicos, la pila u otros valores. Un aspecto importante a considerar en estos sistemas es la forma de desarrollo de las aplicaciones para aprovechar los varios procesadores.
Sistemas por la forma de ofrecer los servicios:
Esta clasificación también se refiere a una visión externa, que en este caso se refiere a la del usuario: cómo él accede a los servicios. Bajo esta clasificación se pueden detectar dos tipos principales: sistemas operativos de red y sistemas operativos distribuidos.
Sistemas operativos de red:
Los sistemas operativos de red se definen como los que tienen la capacidad de interactuar con sistemas operativos en otras máquinas por medio de un medio de transmisión con el objeto de intercambiar información, transferir archivos, ejecutar comandos remotos y otras actividades. El punto crucial de estos sistemas es que el usuario debe conocer la ubicación de los recursos a los que desea acceder (dirección y/o nombre de la máquina remota, ruta o camino al recurso compartido, etc) e, incluso, en ocasiones puede ser necesario conocer la sintaxis de una serie de instrucciones necesarias para la utilización del recurso (vale la pena aclarar que esto cada vez es menos frecuente debido a las interfaces más “amigables” con el usuario, aunque sin lograr superar la flexibilidad que puede ofrecer una línea de comandos).
Sistemas operativos distribuidos:
Los sistemas operativos distribuidos abarcan los servicios de red, logrando integrar recursos (impresoras, memoria, procesos, unidades centrales de proceso) en una sola máquina virtual a la que el usuario accede de forma transparente. Es decir, ahora el usuario ya no necesita saber la ubicación de los recursos, sino que los conoce por el nombre y simplemente los usa como si todos ellos fuesen partes locales de su lugar de trabajo habitual. La labor del sistema operativo distribuido es la de permitir a las aplicaciones hacer uso de los diversos procesadores, memorias, discos y, en general, todo dispositivo conectado al sistema, como si se encontraran físicamente en la misma máquina. Las razones para crear o utilizar sistemas distribuidos son dos principalmente: por necesidad (debido a que los problemas a resolver son inherentemente distribuidos) y para tener más confiabilidad y disponibilidad de recursos.
No hay comentarios:
Publicar un comentario