lunes, 12 de diciembre de 2011

Sistemas monousuario y multiusuario

En algunos sistemas operativos se accede al sistema por medio de un usuario único que tiene permiso para realizar cualquier operación. Este es el caso de los sistemas operativos más antiguos como MS-DOS y algunos más recientes como la serie Windows 95/98/Me de Microsoft o MacOS (antes de MacOS X) de Macintosh. En estos sistemas no existe una diferenciación clara entre las tareas que realiza un administrador del sistema y las tareas que realizan los usuarios habituales, no disponiendo del concepto de multiusuario, un usuario común tiene acceso a todas las capacidades del sistema, pudiendo borrar, incluso, información vital para su funcionamiento. Un usuario malicioso (remoto o no) que obtenga acceso al sistema podrá realizar todo lo que desee por no existir dichas limitaciones.
Otros sistemas operativos, sin embargo, han estado siempre preparados para soportar sistemas multiusuario, permitiendo agruparlos y asignar distintos privilegios a cada uno de ellos o a sus grupos. Este es el caso de todos los sistemas UNIX y de los sistemas Windows NT/2000/XP/Vista. Esta característica es enormemente útil desde el punto de vista de seguridad. Por ejemplo en el caso de que un usuario se vea afectado por un virus, una intrusión, etc. el resto de los usuarios (si los hay) y, sobre todo, el sistema no tendrán por qué verse afectados a menos que vulnerabilidades en éste puedan ser utilizadas por un atacante para elevar sus privilegios.
Cabe notar que los sistemas operativos libres (Linux y BSD) no soportan una asignación de grupos y usuarios tan versátil como NT, 2000, XP. Los grupos en UNIX son mucho menos versátiles (y más difíciles de administrar) que aquellos aunque también más conocidos.
Queda claro que en todo ordenador donde la seguridad es un factor que se considera importante debe optarse por un SO que soporte varios usuarios con distintos privilegios.
Una ventaja que sí han tenido hasta ahora es que el propio fabricante daba soporte técnico y garantías de seguridad de sus sistemas (especialmente en los UNIX propietarios). De igual forma, otra ventaja adicional ofrecida por estos sistemas operativos, inexistente actualmente en GNU/Linux, es que los fabricantes persiguen de forma activa la certificación del SO (o una parte de éste) frente a los estándares de seguridad del mercado.
A continuación se presenta una definición más específica de sistemas operativo multiusuario y monousuario, además monotareas, multitareas, uniproceso, multiproceso. 
 Multiusuarios
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 en la máquina ni el número de procesos que cada usuario puede ejecutar simultáneamente. 
 Monousuarios
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. 
Monotareas
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. 
 Multitareas
Un SO multitarea es aquél que le permite al usuario estar realizando varias labores al mismo tiempo. Por ejemplo, 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. Es común encontrar en ellos interfaces gráficas orientadas al uso de menúes y el ratón, lo cual permite un rápido intercambio entre las tareas para el usuario, mejorando su productividad.  Uniproceso
Un SO 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.  Multiproceso
Un SO 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. Cuando se trabaja de manera asimétrica, el SO 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. Cuando se trabaja de manera simétrica, los procesos o partes de ellos (threads) son enviados indistintamente a cualquiera de los procesadores disponibles, teniendo, teóricamente, una mejor distribución y equilibrio en la carga de trabajo bajo este esquema.

No hay comentarios:

Publicar un comentario