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 archivo.
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 transparente 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 a travé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 más 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.
0 Comentarios:
Publicar un comentario