Clasificacion de los
sistemas operativos
Para hacer una clasificación de sistemas operativos para redes,
primero debemos definir los conceptos. Un sistema operativo (SO) es
una suma de programas informáticos que establecen de manera parecida al
lenguaje humano la comunicación entre el usuario y la computadora
controlando todos los recursos de manera eficiente.
Una red de
computadoras, de ordenadores, red informática o red a secas es un
conjunto de computadoras conectadas entre sí que comparten información,
recursos como impresoras, grabadores de dvd, etc. y servicios como
correo electrónico, Chat, juegos, etc.
Clasificación de
sistemas operativos de redes por su estructura:
Sistemas
operativos de 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. Las características fundamentales de este
tipo de estructura son:
- 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.
Sistemas
operativos de estructura jerárquica. Con el tiempo los sistemas
operativos se van mejorando y se hizo necesario que el sistema operativo
tuviese varias partes bien definidas del resto y con una interfase
propia. Con estas partes, capas o niveles se pretendía entre otras que
cosas que la partes mas importantes del sistema operativo estuviesen a
salvo de intrusos.
Se constituyó una estructura jerárquica o de
niveles en los sistemas operativos, el primero de los cuales fue
denominado THE (Technische Hogeschool, Eindhoven), de Dijkstra,
que se utilizó con fines didácticos. Se puede
pensar también en estos sistemas como si fueran
`multicapa'. Multics y Unix caen en esa
categoría.
En la estructura anterior se basan prácticamente
la mayoría de los sistemas operativos actuales. Otra forma
de ver este tipo de sistema es la denominada de anillos
concéntricos o "rings".
n el sistema de anillos, cada uno tiene una apertura,
conocida como puerta o trampa (trap), por donde pueden entrar las
llamadas de las capas inferiores. De esta forma, las zonas
más internas del sistema operativo o núcleo del
sistema estarán más protegidas de accesos
indeseados desde las capas más externas. Las capas
más internas serán, por tanto, más
privilegiadas que las externas.
Máquina Virtual.
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. 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 dando 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 pueda ejecutar un sistema
operativo diferente, que será el que ofrezca la
máquina extendida al usuario.

Sistemas operativos cliente-servidor. Este
tipo de sistemas operativos para redes es el que actualmente esta en uso
en la mayoría de las computadoras. Es un sistema operativo muy
compatible, porque sirven para cualquier computadora y prácticamente
para todos los programas. El sistema operativo cliente-servidor el
usuario o cliente hace una petición al servidor correspondiente para
tener acceso a un archivo o efectuar una actuación de entrada o salida
sobre un dispositivo concreto.
Clasificación de
sistemas operativos para redes por la forma de ofrecer sus servicios:
- Sistemas
operativos de red. Son aquellos sistemas operativos capaces de
relacionarse eficientemente con sistemas operativos instalados en otras
computadoras transmitiendo o intercambiando información, archivos,
ejecutando comandos remotos, etc.
- Sistemas operativos
distribuidos. Este tipo de sistema operativo de red lleva a cabo todos
los servicios que realizaba el sistema operativo de red, pero además
consigue compartir más recursos como impresoras, memorias, unidades
centrales de proceso (CPU), discos duros, etc. Y el usuario no necesita
saber la ubicación del recurso, ni ejecutar comandos, sino que los
conoce por nombres y los usa como si fuesen locales o propios de su
computadora.
Sistemas Operativos por
Servicios(Visión Externa).
Esta clasificación es la más
comúnmente usada y conocida desde el punto de vista del
usuario final. Esta clasificación se comprende
fácilmente con el cuadro sinóptico que a
continuación se muestra:
Por Número de Usuarios:
- Sistema Operativo Monousuario.
Los sistemas operativos monousuarios son aquéllos 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 este renglón.
En otras palabras los sistemas monousuarios son aquellos que nada
más puede atender a un solo usuario, gracias a las
limitaciones creadas por el hardware, los programas o el tipo de
aplicación que se este ejecutando.
- Sistema Operativo Multiusuario.
Los sistemas operativos multiusuarios son capaces de dar servicio
a más de un usuario a la vez, ya sea por medio de varias
terminales conectadas 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 procesos que cada usuario puede ejecutar
simultáneamente.
En esta categoría se encuentran todos los sistemas que
cumplen simultáneamente las necesidades de dos o
más usuarios, que comparten mismos recursos. Este tipo de
sistemas se emplean especialmente en redes. En otras palabras
consiste en el fraccionamiento del tiempo
(timesharing).
Por el Número de Tareas:
- Sistema Operativo Monotarea.
Los sistemas monotarea son aquellos que sólo permiten una
tarea a la vez por usuario. 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.
Los sistemas operativos monotareas son más primitivos y,
solo pueden manejar un proceso en cada momento o que solo puede
ejecutar las tareas de una en una.
- Sistema Operativo Multitarea.
Un sistema operativo multitarea es aquél que le permite al
usuario estar realizando varias labores al mismo tiempo.
Es el modo de funcionamiento disponible en algunos sistemas
operativos, mediante el cual una computadora procesa varias
tareas al mismo tiempo. Existen varios tipos de multitareas. La
conmutación de contextos (context Switching) es un tipo
muy simple de multitarea en el que dos o más aplicaciones
se cargan al mismo tiempo, pero en el que solo se esta procesando
la aplicación que se encuentra en primer plano (la que ve
el usuario. En la multitarea cooperativa,
la que se utiliza en el sistema operativo Macintosh, las tareas
en segundo plano reciben tiempo de procesado durante los tiempos
muertos de la tarea que se encuentra en primer plano (por
ejemplo, cuando esta aplicación esta esperando información del usuario), y siempre
que
esta aplicación lo permita. En los sistemas multitarea de
tiempo compartido, como OS/2, cada tarea recibe la atención del microprocesador
durante una fracción de segundo.
Un sistema operativo multitarea puede estar editando el código
fuente de un programa durante su depuración mientras
compila otro programa, a la vez que está recibiendo
correo
electrónico en un proceso en background. Es
común encontrar en ellos interfaces 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.
Un sistema operativo multitarea se distingue por su capacidad
para soportar la ejecución concurrente de dos o más
procesos
activos. La
multitarea se implementa generalmente manteniendo el
código y los datos de varios procesos
simultáneamente en memoria y multiplexando el procesador y
los dispositivos de E/S entre ellos.
La multitarea suele asociarse con soporte hardware y software
para protección de memoria con el fin de evitar que
procesos corrompan el espacio de direcciones y el comportamiento
de otros procesos residentes.
Por el Número de Procesadores:
- Sistema Operativo de Uniproceso.
Un sistema operativo uniproceso es aquél 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. El ejemplo más típico de este tipo
de sistemas es el DOS y MacOS.
- Sistema Operativo de Multiproceso.
Un sistema operativo multiproceso se refiere al número de
procesadores del sistema, que es más de uno y éste
es capaz de usarlos todos para distribuir su carga de trabajo.
Generalmente estos sistemas trabajan de dos formas:
simétrica o asimétricamente.
Asimétrica.
Cuando se trabaja de manera asimétrica, el sistema
operativo selecciona a uno de los procesadores el cual
jugará el papel de
procesador maestro y servirá como pivote para distribuir
la carga a los demás procesadores, que reciben el nombre
de esclavos.
Simétrica. y
Cuando se trabaja de manera simétrica, los procesos o
partes de ellos (threads) son enviados indistintamente a cual
quiera de los procesadores disponibles, teniendo,
teóricamente, una mejor distribuciónequilibrio en
la carga de trabajo bajo este esquema.
Se dice que un thread es la parte activa en memoria y corriendo
de un proceso, lo cual puede consistir de un área de
memoria, un conjunto de registros con valores
específicos, la pila y otros valores de contexto.