El documento describe 7 tipos principales de sistemas operativos: 1) sistemas por lotes, 2) multiprogramación, 3) sistemas de tiempo compartido, 4) sistemas paralelos, 5) sistemas distribuidos, 6) sistemas de tiempo real, y 7) sistemas en línea. También discute tendencias actuales y futuras como la abstracción, la robustez y la estandarización.
2. 1. SISTEMAS POR LOTES
Sus principales funciones son:
O Reserva y asigna los recursos de las maquinas a las tareas que hay
que ejecutar.
O Reúne todos los trabajos y actividades comunes para realizarlos al
mismo tiempo.
O Minimiza tiempos de preparación.
O Controla la finalización de tareas.
O Tratamiento de errores.
Tarjetas de Control:
• Para que el monitor residente sepa qué programa ejecutar (se
distinguen por $ de las tarjetas de instrucciones).
Organización de la memoria para un monitor residente:
• Cargador, secuenciado de trabajos, intérprete de tarjetas.
• Drivers para cargador e intérprete.
3. 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.
2. MULTIPROGRAMACIÓN.
Sus principales características son:
O Mejora productividad del sistema y utilización de recursos.
O Generalmente soportan múltiples usuarios (multiusuario).
O Proporcionan facilidades para mantener el entorno de usuarios
individuales.
O Requieren validación de usuario para seguridad y protección.
O Proporcionan contabilidad del uso de los recursos por parte de los
usuarios.
O Multitarea sin soporte multiusuario se encuentra en algunos
computadores personales o en sistemas de tiempo real.
4. Sistemas Operativos como UNIX, Windows 95, Windows 98,
Windows NT, MAC-OS, OS/2, son ejemplos de este sistema de
multiprogramacion.
3. SISTEMAS DE TIEMPO COMPARTIDO.
Sus principales características son:
O Populares representantes de sistemas multiprogramados
multiusuario, (sistemas de diseño asistido por computador,
procesamiento de texto, etc.).
O Dan la ilusión de que cada usuario tiene una máquina para sí.
O Mayoría utilizan algoritmo de reparto circular.
O Programas se ejecutan con prioridad rotatoria que se incrementa con
la espera y disminuye después de concedido el servicio.
O Evitan monopolización del sistema asignando tiempos de procesador
(time slot).
O Gestión de memoria proporciona protección a programas residentes.
O Gestión de archivo debe proporcionar protección y control de acceso
debido a que pueden existir múltiples usuarios accesando un mismo
archivos.
5. 4.SISTEMAS PARALELOS
Consisten en un multiprocesador y comparten a la vez memoria
dispositivos periféricos entre varios usuarios.
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.
Tipos de multiprocesamiento:
• Simétrico: Cada procesador ejecuta una copia idéntica del sistema.
• Asimétrico: A cada procesador se le asigna una tarea específica.
Ejemplos de estos tipos de Sistemas Operativos están: Alpha,
PVM, la serie AIX, que es utilizado en los sistemas RS/6000 de
IBM.
6. 5. SISTEMAS DISTRIBUIDOS.
Un sistema de esta categoría permite que sistemas
independientes y autónomos sean capaces de
comunicarse y co-ayudarse entre sí a través de una
interconexión de tipo hardware-software ya que tiene
como disposición el manejo de un conjunto de
procesadores que le permiten al sistema distribuir
trabajos, tareas o procesos. Poseen una memoria
privada o propia que se interconecta entre CPUs
formando una red compartida lo cual los usuarios de
un sistema distribuido bien diseñado deberían
percibir un sistema de cómputo único e integrado
aun cuando las maquinas estén dispersar
geográficamente.
8. 6. SISTEMAS DE TIEMPO REAL.
Como funcionalidad principal de este tipo de sistema
es proveer un nivel de servicio adecuado e instantáneo
de las diferentes aplicaciones que requieran una
respuesta en un intervalo de tiempo determinado (Casi
inmediata).
internos ó externos, tales Como: Interrupciones
hardware externas, interrupciones software internas ó
interrupciones de reloj internas, es decir los
requerimientos temporales.
Una de las medidas de rendimiento de un Sistema
Operativo de Tiempo Real es la latencia, ó tiempo
desde que ocurre el evento y éste es tratado. La otra
medida es el jitter, ó variaciones en el periodo normal
de ocurrencia de eventos periódicos. Todos los
sistemas operativos tienden a tener una baja latencia y
un bajo jitter, pero los sistemas operativos de tiempo
real
9. 7. SISTEMAS EN LINEA. (Red).
Estos sistemas permite la interconexión entre
dos o más equipos unidos entre sí a través de
un medio de comunicación sea físico o no, con
el objetivo de compartir e interactuar con
diferentes recursos ya sea de tipo hardware o
software.
Un sistema de red se destaca por gestionar los
recursos a través de un ordenador principal de
forma centralizada en donde los recursos se
entregan al ordenador principal encargado de
administrar las tareas ya programadas
jerarquizándolas y teniendo prioridad en las más
relevantes.
10. IMPRESORA LOCAL IMPRESORA EN RED
CILEINTE DE RED ROUTER
CLIENTE DE RED
CLIENTE DE RED SERVIDOR DE RED
11. 8. TENDENCIAS ACTUALES Y FUTURAS DE LOS SISTEMAS
OPERTATIVOS.
Principios en el desarrollo de Sistemas Operativos Futuros:
Existen cuatro principios dominantes que deben regir en el diseño de sistemas
operativos futuros
1.- Abstracción
El principio de la abstracción es que un nivel del ambiente de software no debe necesitar
" saber " los detalles sobre la implementación en otros niveles. Por ejemplo, un
Programador no debe requerir saber qué clase de procesador será usado cuando se
ejecute su programa, y un usuario de correo-electrónico no debe requerir de
conocimientos de los protocolos de red.
2. Robustez y gestión de errores
Los sistemas operativos futuros deben ser extremadamente robustos. Sus metas:
O Ninguna acción del usuario debe hacer que el sistema comporte en una extraña o
ilógica manera.
O Debe ser imposible que cualquier programa interrumpa el funcionamiento de otros
programas, o de la máquina en su totalidad. Es decir sin importar las acciones y las
decisiones del usuario y del programador, la computadora nunca debe "colapsarse ".
Además, cualquier acontecimiento inesperado se debe manjar de una manera
práctica. Los problemas que el sistema operativo no puede solucionar se deben
señalar al usuario de una manera no-secreta (tales como un "cuadro de diálogo"), y
se deben explicar de una manera no técnica (utilizar un lenguage dependiendo del
módulo de programación).
O El sistema debe enumerar claramente las opciones de las cuales el usuario debe
elegir.
12. 3.- Estandarización
Actualmente, hay numerosos sistemas
operativos y sistemas de hardware que se
comportan de varias maneras. Por lo tanto, la
comunicación entre las máquinas de diferente
arquitectura es difícil, y esta situación es
confusa para cualquier usuario que procure
cambiarse de una plataforma a otra. Esta
confusión da lugar a un costo significativo
debido a la capacitación y al tiempo perdido
durante la transición y fase de aprendizaje.