CLASIFICACION
DE LOS SISTEMAS OPERATIVOS
Introducción
Sin el software, una computadora no es más
que una masa metálica sin utilidad. Con el software, una computadora puede
almacenar, procesar y recuperar información, encontrar errores de ortografía en
manuscritos, tener aventuras e intervenir en muchas otras valiosas actividades
para ganar el sustento. El software para computadoras puede clasificarse en
general en dos clases: los programas de sistema, que controlan la operación de
la computadora en si y los programas de aplicación, los cuales resuelven
problemas para sus usuarios. El programa fundamental de todos los programas de
sistema es el sistema operativo (SO), que controla todos los recursos de la
computadora y proporciona la base sobre la cual pueden escribirse los programas
de aplicación.
¿ Qué es un Sistema Operativo ?.
Desde su creación, las computadoras digitales
han utilizado un sistema de codificación de instrucciones en sistema de
numeración binaria, es decir con los 0S. Esto se debe a que los circuitos
integrados funcionan con este principio, es decir, hay corriente o no hay
corriente.
En el origen de la historia de las
computadoras ( hace unos cuarenta años), los sistemas operativos no existían y
la introducción de un programa para ser ejecutado se convertía en un increíble
esfuerzo que solo podía ser llevado a cabo por muy pocos expertos. Esto hacia
que las computadoras fueran muy complicadas de usar y que se requiriera tener
altos conocimientos técnicos para operarlas. Era tan complejo su manejo, que en
algunos casos el resultado llegaba a ser desastroso.
Además, el tiempo requerido para introducir
un programa en aquellas grandes máquinas de lento proceso superaba por mucho el
de ejecución y resultaba poco provechosa la utilización de computadoras para
resolución de problemas prácticos.
Se buscaron medios más elaborados para
manipular la computadora, pero que a su vez simplificaran la labor del operador
o el usuario. Es entonces cuando surge la idea de crear un medio para que el
usuario pueda operar la computadora con un entorno, lenguaje y operación bien
definido para hacer un verdadero uso y explotación de esta. Surgen los sistemas
operativos.
Un sistema operativo es el encargado de
brindar al usuario una forma amigable y sencilla de operar, interpretar,
codificar y emitir las ordenes al procesador central para que este realice las
tareas necesarias y especificas para completar una orden.
El sistema operativo, es el instrumento
indispensable para hacer de la computadora un objeto útil. Bajo este nombre se
agrupan todos aquellos programas que permiten a los usuarios la utilización de
este enredo de cables y circuitos, que de otra manera serian difíciles de
controlar. Un sistema operativo se define como un conjunto de procedimientos
manuales y automáticos, que permiten a un grupo de usuarios compartir una
instalación de computadora eficazmente.
Interfaz de Línea de Comandos.
La forma de interfaz entre el sistema
operativo y el usuario en la que este escribe los comandos utilizando un
lenguaje de comandos especial. Los sistemas con interfaces de líneas de
comandos se consideran más difíciles de aprender y utilizar que los de las
interfaces gráficas. Sin embargo, los sistemas basados en comandos son por lo
general programables, lo que les otorga una flexibilidad que no tienen los
sistemas basados en gráficos carentes de una interfaz de programación.
Interfaz Gráfica del Usuario.
Es el tipo de visualización que permite al
usuario elegir comandos, iniciar programas y ver listas de archivos y otras
opciones utilizando las representaciones visuales (iconos) y las listas de
elementos del menú. Las selecciones pueden activarse bien a través del teclado
o con el mouse.
Para los autores de aplicaciones, las
interfaces gráficas de usuario ofrecen un entorno que se encarga de la
comunicación con el ordenador o computadora. Esto hace que el programador pueda
concentrarse en la funcionalidad, ya que no esta sujeto a los detalles de la
visualización ni a la entrada a través del mouse o el teclado. También permite
a los programadores crear programas que realicen de la misma forma las tareas
más frecuentes, como guardar un archivo, porque la interfaz proporciona
mecanismos estándar de control como ventanas y cuadros de diálogo. Otra ventaja
es que las aplicaciones escritas para una interfaz gráfica de usuario son
independientes de los dispositivos: a medida que la interfaz cambia para
permitir el uso de nuevos dispositivos de entrada y salida, como un monitor de
pantalla grande o un dispositivo óptico de almacenamiento, las aplicaciones
pueden utilizarlos sin necesidad de cambios.
Funciones de los Sistemas Operativos.
·
Interpreta los comandos que permiten al
usuario comunicarse con el ordenador.
·
Coordina y manipula el hardware de la
computadora, como la memoria, las impresoras, las unidades de disco, el teclado
o el mouse.
·
Organiza los archivos en diversos
dispositivos de almacenamiento, como discos flexibles, discos duros, discos
compactos o cintas magnéticas.
·
Gestiona los errores de hardware y la pérdida
de datos.
·
Servir de base para la creación del software
logrando que equipos de marcas distintas funcionen de manera análoga, salvando
las diferencias existentes entre ambos.
·
Configura el entorno para el uso del software
y los periféricos; dependiendo del tipo de máquina que se emplea, debe
establecerse en forma lógica la disposición y características del equipo. Como
por ejemplo, una microcomputadora tiene físicamente dos unidades de disco,
puede simular el uso de otras unidades de disco, que pueden ser virtuales
utilizando parte de la memoria principal para tal fin. En caso de estar
conectado a una red, el sistema operativo se convierte en la plataforma de
trabajo de los usuarios y es este quien controla los elementos o recursos que
comparten. De igual forma, provee de protección a la información que almacena.
Clasificación de los Sistemas Operativos.
Con el paso del tiempo, los Sistemas
Operativos fueron clasificándose de diferentes maneras, dependiendo del uso o
de la aplicación que se les daba. A continuación se mostrarán diversos tipos de
Sistemas Operativos que existen en la actualidad, con algunas de sus
características:
Sistemas Operativos de multiprogramación (o
Sistemas Operativos de multitarea).
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). Para activar otra tarea que se encuentre en segundo plano, el usuario
debe traer al primer plano la ventana o pantalla que contenga esa aplicación. 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. Para mantener el sistema en orden, cada tarea recibe un nivel de
prioridad o se procesa en orden secuencial. Dado que el sentido temporal del
usuario es mucho más lento que la velocidad de procesamiento del ordenador, las
operaciones de multitarea en tiempo compartido parecen ser simultáneas.
Se distinguen por sus habilidades para poder
soportar la ejecución de dos o más trabajos activos (que se están ejecutado) al
mismo tiempo. Esto trae como resultado que la Unidad Central de Procesamiento
(UCP) siempre tenga alguna tarea que ejecutar, aprovechando al máximo su
utilización.
Su objetivo es tener a varias tareas en la
memoria principal, de manera que cada uno está usando el procesador, o un
procesador distinto, es decir, involucra máquinas con más de una UCP.
Sistemas Operativos como UNIX, Windows 95,
Windows 98, Windows NT, MAC-OS, OS/2, soportan la multitarea.
Las características de un Sistema Operativo
de multiprogramación o multitarea son las siguientes:
·
Mejora productividad del sistema y
utilización de recursos.
·
Multiplexa recursos entre varios programas.
·
Generalmente soportan múltiples usuarios
(multiusuarios).
·
Proporcionan facilidades para mantener el
entorno de usuarios individuales.
·
Requieren validación de usuario para
seguridad y protección.
·
Proporcionan contabilidad del uso de los recursos
por parte de los usuarios.
·
Multitarea sin soporte multiusuario se
encuentra en algunos computadores personales o en sistemas de tiempo real.
·
Sistemas multiprocesadores son sistemas
multitareas por definición ya que soportan la ejecución simultánea de múltiples
tareas sobre diferentes procesadores.
·
En general, los sistemas de multiprogramación
se caracterizan por tener múltiples programas activos compitiendo por los
recursos del sistema: procesador, memoria, dispositivos periféricos.
Sistema Operativo Monotareas.
Los sistemas operativos monotareas son más
primitivos y es todo lo contrario al visto anteriormente, es decir, solo pueden
manejar un proceso en cada momento o que solo puede ejecutar las tareas de una
en una. Por ejemplo cuando la computadora esta imprimiendo un documento, no
puede iniciar otro proceso ni responder a nuevas instrucciones hasta que se
termine la impresión.
Sistema Operativo Monousuario.
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.
Estos tipos de sistemas son muy simples,
porque todos los dispositivos de entrada, salida y control dependen de la tarea
que se esta utilizando, esto quiere decir, que las instrucciones que se dan,
son procesadas de inmediato; ya que existe un solo usuario. Y están orientados
principalmente por los microcomputadores.
Sistema Operativo Multiusuario.
Es todo lo contrario a monousuario; y 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).
Sistemas Operativos por lotes.
Los Sistemas Operativos por lotes, procesan
una gran cantidad de trabajos con poca o ninguna interacción entre los usuarios
y los programas en ejecución. Se reúnen todos los trabajos comunes para
realizarlos al mismo tiempo, evitando la espera de dos o más trabajos como
sucede en el procesamiento en serie. Estos sistemas son de los más
tradicionales y antiguos, y fueron introducidos alrededor de 1956 para aumentar
la capacidad de procesamiento de los programas.
Cuando estos sistemas son bien planeados,
pueden tener un tiempo de ejecución muy alto, porque el procesador es mejor
utilizado y los Sistemas Operativos pueden ser simples, debido a la
secuenciabilidad de la ejecución de los trabajos.
Algunos ejemplos de Sistemas Operativos por
lotes exitosos son el SCOPE, del DC6600, el cual está orientado a procesamiento
científico pesado, y el EXEC II para el UNIVAC 1107, orientado a procesamiento
académico.
Algunas otras características con que cuentan
los Sistemas Operativos por lotes son:
·
Requiere que el programa, datos y órdenes al
sistema sean remitidos todos juntos en forma de lote.
·
Permiten poca o ninguna interacción
usuario/programa en ejecución.
·
Mayor potencial de utilización de recursos
que procesamiento serial simple en sistemas multiusuarios.
·
No conveniente para desarrollo de programas
por bajo tiempo de retorno y depuración fuera de línea.
·
Conveniente para programas de largos tiempos
de ejecución (ej, análisis estadísticos, nóminas de personal, etc.).
·
Se encuentra en muchos computadores
personales combinados con procesamiento serial.
·
Planificación del procesador sencilla,
típicamente procesados en orden de llegada.
·
Planificación de memoria sencilla,
generalmente se divide en dos: parte residente del S.O. y programas transitorios.
·
No requieren gestión crítica de dispositivos
en el tiempo.
·
Suelen proporcionar gestión sencilla de
manejo de archivos: se requiere poca protección y ningún control de
concurrencia para el acceso.
Sistemas Operativos de tiempo real.
Los Sistemas Operativos de tiempo real son
aquellos en los cuales no tiene importancia el usuario, sino los procesos. Por
lo general, están subutilizados sus recursos con la finalidad de prestar
atención a los procesos en el momento que lo requieran. se utilizan en entornos
donde son procesados un gran número de sucesos o eventos.
Muchos Sistemas Operativos de tiempo real son
construidos para aplicaciones muy específicas como control de tráfico aéreo,
bolsas de valores, control de refinerías, control de laminadores. También en el
ramo automovilístico y de la electrónica de consumo, las aplicaciones de tiempo
real están creciendo muy rápidamente. Otros campos de aplicación de los
Sistemas Operativos de tiempo real son los siguientes:
·
Control de trenes.
·
Telecomunicaciones.
·
Sistemas de fabricación integrada.
·
Producción y distribución de energía
eléctrica.
·
Control de edificios.
·
Sistemas multimedia.
Algunos ejemplos de Sistemas Operativos de
tiempo real son: VxWorks, Solaris, Lyns OS y Spectra. Los Sistemas Operativos
de tiempo real, cuentan con las siguientes características:
·
Se dan en entornos en donde deben ser
aceptados y procesados gran cantidad de sucesos, la mayoría externos al sistema
computacional, en breve tiempo o dentro de ciertos plazos.
·
Se utilizan en control industrial,
conmutación telefónica, control de vuelo, simulaciones en tiempo real.,
aplicaciones militares, etc.
·
Objetivo es proporcionar rápidos tiempos de
respuesta.
·
Procesa ráfagas de miles de interrupciones
por segundo sin perder un solo suceso.
·
Proceso se activa tras ocurrencia de suceso,
mediante interrupción.
·
Proceso de mayor prioridad expropia recursos.
·
Por tanto generalmente se utiliza
planificación expropiativa basada en prioridades.
·
Gestión de memoria menos exigente que tiempo
compartido, usualmente procesos son residentes permanentes en memoria.
·
Población de procesos estática en gran
medida.
·
Poco movimiento de programas entre
almacenamiento secundario y memoria.
·
Gestión de archivos se orienta más a
velocidad de acceso que a utilización eficiente del recurso.
Sistemas Operativos de tiempo compartido.
Permiten la simulación de que el sistema y
sus recursos son todos para cada usuario. El usuario hace una petición a la
computadora, esta la procesa tan pronto como le es posible, y la respuesta
aparecerá en la terminal del usuario.
Los principales recursos del sistema, el
procesador, la memoria, dispositivos de E/S, son continuamente utilizados entre
los diversos usuarios, dando a cada usuario la ilusión de que tiene el sistema
dedicado para sí mismo. Esto trae como consecuencia una gran carga de trabajo
al Sistema Operativo, principalmente en la administración de memoria principal
y secundaria.
Ejemplos de Sistemas Operativos de tiempo
compartido son Multics, OS/360 y DEC-10.
Características de los Sistemas Operativos de
tiempo compartido:
·
Populares representantes de sistemas
multiprogramados multiusuario, ej: sistemas de diseño asistido por computador,
procesamiento de texto, etc.
·
Dan la ilusión de que cada usuario tiene una
máquina para sí.
·
Mayoría utilizan algoritmo de reparto
circular.
·
Programas se ejecutan con prioridad rotatoria
que se incrementa con la espera y disminuye después de concedido el servicio.
·
Evitan monopolización del sistema asignando
tiempos de procesador (time slot).
·
Gestión de memoria proporciona protección a
programas residentes.
·
Gestión de archivo debe proporcionar
protección y control de acceso debido a que pueden existir múltiples usuarios
accesando un mismo archivos.
Sistemas Operativos distribuidos.
Permiten distribuir trabajos, tareas o
procesos, entre un conjunto de procesadores. Puede ser que este conjunto de
procesadores esté en un equipo o en diferentes, en este caso es trasparente
para el usuario. Existen dos esquemas básicos de éstos. Un sistema fuertemente
acoplado es a es aquel que comparte la memoria y un reloj global, cuyos tiempos
de acceso son similares para todos los procesadores. En un sistema débilmente
acoplado los procesadores no comparten ni memoria ni reloj, ya que cada uno
cuenta con su memoria local.
Los sistemas distribuidos deben de ser muy
confiables, ya que si un componente del sistema se compone otro componente debe
de ser capaz de reemplazarlo.
Entre los diferentes Sistemas Operativos
distribuidos que existen tenemos los siguientes: Sprite, Solaris-MC, Mach,
Chorus, Spring, Amoeba, Taos, etc.
Características de los Sistemas Operativos
distribuidos:
·
Colección de sistemas autónomos capaces de
comunicación y cooperación mediante interconexiones hardware y software .
·
Gobierna operación de un S.C. y proporciona
abstracción de máquina virtual a los usuarios.
·
Objetivo clave es la transparencia.
·
Generalmente proporcionan medios para la
compartición global de recursos.
·
Servicios añadidos: denominación global,
sistemas de archivos distribuidos, facilidades para distribución de cálculos (a
través de comunicación de procesos internodos, llamadas a procedimientos
remotos, etc.).
Sistemas Operativos de red.
Son aquellos sistemas que mantienen a dos o
más computadoras unidas através de algún medio de comunicación (físico o no),
con el objetivo primordial de poder compartir los diferentes recursos y la
información del sistema.
El primer Sistema Operativo de red estaba
enfocado a equipos con un procesador Motorola 68000, pasando posteriormente a
procesadores Intel como Novell Netware.
Los Sistemas Operativos de red mas
ampliamente usados son: Novell Netware, Personal Netware, LAN Manager, Windows
NT Server, UNIX, LANtastic.
Sistemas Operativos paralelos.
En estos tipos de Sistemas Operativos se
pretende que cuando existan dos o más procesos que compitan por algún recurso
se puedan realizar o ejecutar al mismo tiempo.
En UNIX existe también la posibilidad de
ejecutar programas sin tener que atenderlos en forma interactiva, simulando
paralelismo (es decir, atender de manera concurrente varios procesos de un
mismo usuario). Así, en lugar de esperar a que el proceso termine de ejecutarse
(como lo haría normalmente), regresa a atender al usuario inmediatamente
después de haber creado el proceso.
Ejemplos de estos tipos de Sistemas Operativos
están: Alpha, PVM, la serie AIX, que es utilizado en los sistemas RS/6000 de
IBM.
Conclusión:
Luego de haber investigado y analizado se
puede ver que se han desarrollado varios tipos de sistemas operativos con
diferentes interfaces y categorías. Pero hemos podido observar que todos los
sistemas operativos han sufrido cambios por parte de los programadores, y
siguen evolucionando.
Los sistemas operativos empleados normalmente
son UNIX, Macintosh OS, MS-DOS, OS/2, Windows 95 y Windows NT. El UNIX y sus
clones permiten múltiples tareas y múltiples usuarios. Otros SO multiusuario y
multitarea son OS/2, desarrollado inicialmente por Microsoft e IBM, Windows NT
y Win95 desarrollados por Microsoft. El SO multitarea de Apple se denomina
Macintosh OS. El MS-DOS es un SO popular entre los usuarios de PCs pero solo
permite un usuario y una tarea.
Los sistemas operativos han ido evolucionando
a medida de las necesidades que se fueron generando, cada sistema operativo
tiene un fin determinado que es la de realizar tareas según el objetivo a
lograr, dependiendo de lo que necesite el o los usuarios. La mayoría de los
sistemas operativos de ultima generación tienden a, atender un gran numero de
usuarios, y que los procesos a realizar demoren en un mínimo de tiempo.
No hay comentarios:
Publicar un comentario