Los primeros Sistemas Operativos Multiproceso realizaban lo que se conoce como
Multiproceso asimétrico. Una CPU principal retiene el control global de la
computadora, así como el de los otros procesadores. Esto fue un primer paso
hacia el multiproceso pero no fue la dirección ideal a seguir ya que la CPU
principal podía convertirse en un cuello de botella.
Funciones
y características de los sistemas operativos.
Funciones de los sistemas operativos.
1.- Aceptar todos los trabajos y conservarlos hasta su finalización.
2.- Interpretación de comandos: Interpreta los comandos que permiten al usuario
comunicarse con el ordenador.
3.- Control de recursos: Coordina y manipula el hardware de la computadora,
como la memoria, las impresoras, las unidades de disco, el teclado o el Mouse.
4.- Manejo de dispositivos de E/S: Organiza los archivos en diversos
dispositivos de almacenamiento, como discos flexibles, discos duros,
discos compactos o cintas magnéticas.
5.- Manejo de errores: Gestiona los errores de hardware y la pérdida de datos.
6.- Secuencia de tareas: El sistema operativo debe administrar la manera en que
se reparten los procesos. Definir el orden. (Quien va primero y quien después).
7.- Protección: Evitar que las acciones de un usuario afecten el trabajo que
esta realizando otro usuario.
8.- Multiacceso: Un usuario se puede conectar a otra máquina sin tener que
estar cerca de ella.
9.- Contabilidad
de recursos: establece el costo
que se le cobra a un usuario por utilizar determinados recursos.
Características de los sistemas operativos.
En general, se puede decir que un Sistema Operativo tiene las siguientes
características:
·
Conveniencia. Un Sistema Operativo hace más
conveniente el uso de una computadora.
·
Eficiencia. Un Sistema Operativo permite que los
recursos de la computadora se usen de la manera más eficiente posible.
·
Habilidad para evolucionar. Un Sistema Operativo
deberá construirse de manera que permita el desarrollo, prueba o introducción
efectiva de nuevas funciones del sistema sin interferir con el servicio.
·
Encargado de administrar el hardware. El Sistema
Operativo se encarga de manejar de una mejor manera los recursos de la computadora
en cuanto a hardware se refiere, esto es, asignar a cada proceso una parte del
procesador para poder compartir los recursos.
·
Relacionar dispositivos (gestionar a través del
kernel). El Sistema Operativo se debe encargar de comunicar a los dispositivos periféricos,
cuando el usuario así lo requiera.
·
Organizar datos para acceso rápido y seguro.
·
Manejar las comunicaciones
en red.
El Sistema Operativo permite al usuario manejar con alta facilidad todo lo
referente a la instalación y uso de las redes de computadoras.
·
Procesamiento por bytes de flujo a través del bus
de datos.
·
Facilitar las entradas y salidas. Un Sistema
Operativo debe hacerle fácil al usuario el acceso y manejo de los dispositivos
de Entrada/Salida de la computadora.
4. Modalidades
de trabajo de los sistemas operativos.
Sistemas operativos por lotes.
La secuencia por lotes o procesamiento por lotes en microcomputadoras, es la
ejecución de una lista de comandos del sistema operativo uno tras otro sin
intervención del usuario.
En los ordenadores más grandes el proceso de recogida de programas y de conjuntos
de datos de los usuarios, la ejecución de uno o unos pocos cada vez y la
entrega de los recursos a los usuarios. Procesamiento por lotes también puede
referirse al proceso de almacenar transacciones durante un cierto lapso antes
de su envío a un archivo maestro, por lo general una operación separada que se
efectúa durante la noche
Los sistemas operativos por lotes (batch), en los que los programas eran tratados
por grupos (lote) en ves de individualmente. La función de estos sistemas
operativos consistía en cargar en memoria un programa de la cinta y ejecutarlo.
Al final este, se realizaba el salto a una dirección de memoria desde donde
reasumía el control del sistema operativo que cargaba el siguiente programa y
lo ejecutaba. De esta manera el tiempo entre un trabajo y el otro disminuía
considerablemente.
(Para ver el gráfico faltante haga click en el menú superior "Bajar
Trabajo")
Figura 6 - Sistema de procesamiento por lotes.
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.
·
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 compartido.
El tiempo compartido en ordenadores o computadoras consiste en el uso de un
sistema por más de una persona
al mismo tiempo. El tiempo compartido ejecuta programas separados de forma
concurrente, intercambiando porciones de tiempo asignadas a cada programa
(usuario). En este aspecto, es similar a la capacidad de multitareas que es
común en la mayoría de los microordenadores o las microcomputadoras. Sin
embargo el tiempo compartido se asocia generalmente con el acceso de varios
usuarios a computadoras más grandes y a organizaciones
de servicios, mientras que la multitarea relacionada con las microcomputadoras
implica la realización de múltiples tareas por un solo 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.
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í.
·
La mayoría utilizan algoritmo
de reparto circular.
·
Los 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 de tiempo real.
Un sistema operativo en tiempo real procesa las instrucciones recibidas al
instante, y una vez que han sido procesadas muestra el resultado. Este tipo
tiene relación con los sistemas operativos monousuarios, ya que existe un solo
operador y no necesita compartir el procesador entre varias solicitudes.
Su característica principal es dar respuestas rápidas; por ejemplo en un caso
de peligro se necesitarían respuestas inmediatas para evitar una catástrofe.
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.
·
Su objetivo es proporcionar rápidos tiempos de
respuesta.
·
Procesa ráfagas de miles de interrupciones por
segundo sin perder un solo suceso.
·
Un proceso se activa tras ocurrencia de suceso,
mediante interrupción.
·
Un 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.
·
La gestión de archivos se orienta más a
velocidad de acceso que a utilización eficiente del recurso.
Sistemas operativos de red.
La principal función de un sistema operativo de red es ofrecer un mecanismo
para transferir archivos de una máquina a otra. En este entorno, cada
instalación mantiene su propio sistema de archivos local y si un usuario de la
instalación A quiere acceder a un archivo en la instalación B, hay que copiar
explícitamente el archivo de una instalación a otra.
Internet
proporciona un mecanismo para estas transferencias, a través del programa protocolo
de transferencias de archivos FTP
(File Transfer Protocol).
Suponga que un usuario quiere copiar un archivo A1, que reside en la
instalación B, a un archivo A2 en la instalación local A. Primero, el usuario
debe invocar el programa FTP, el cual solicita al usuario la información
siguiente:
a) El nombre de la instalación a partir de la cual se efectuará la
transferencia del archivo (es decir la instalación B).
b) La información de acceso, que verifica que el usuario tiene los privilegios
de acceso apropiados en la instalación B.
Una vez efectuada esta comprobación, el usuario puede copiar el archivo A1 de B
a A2 en A, ejecutando "get A1 to A2"
En este esquema, la ubicación del archivo no es transparente para el usuario;
tiene que saber exactamente donde esta cada archivo. Además los archivos no se
comparten realmente, porque un usuario solo puede copiar un archivo de una
instalación a otra. Por lo tanto pueden existir varias copias del mismo archivo,
lo que representa un desperdicio de espacio. Así mismo, si se modifican, estas
copias no serán consistentes.
Los 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 distribuidos.
En un sistema operativo distribuido los usuarios pueden acceder a recursos
remotos de la misma manera en que lo hacen para los recursos locales. La migración
de datos y procesos de una instalación a otra queda bajo el control del sistema
operativo distribuido.
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 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 descompone 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.
·
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.).
Figura 7.- Sistema Operativo Distribuido.
Sistemas operativos multiprocesadores.
En los sistemas multiprocesador, los procesadores comparten la memoria y el
reloj. Se incrementa la capacidad de procesamiento y la confiabilidad,
son económicos.
·
Multiprocesamiento simétrico: Cada procesador
ejecuta una copia del sistema operativo.
·
Multiprocesamiento asimétrico: Cada procesador
tiene asignado una tarea específica, existe un procesador master que asigna
tareas a los procesadores esclavos.
Multiproceso: Las computadoras que tienen más de un CPU son llamadas
multiproceso. Un sistema operativo multiproceso coordina las operaciones de las
computadoras multiprocesadores. Ya que cada CPU en una computadora de
multiproceso puede estar ejecutando una instrucción, el otro procesador queda
liberado para procesar otras instrucciones simultáneamente.
Al usar una computadora con capacidades de multiproceso incrementamos su
velocidad de respuesta y procesos. Casi todas las computadoras que tienen
capacidad de multiproceso ofrecen una gran ventaja.
Los primeros Sistemas Operativos Multiproceso realizaban lo que se conoce como
Multiproceso asimétrico. Una CPU principal retiene el control global de la
computadora, así como el de los otros procesadores. Esto fue un primer paso
hacia el multiproceso pero no fue la dirección ideal a seguir ya que la CPU
principal podía convertirse en un cuello de botella.