1. 1. Sistemas por lotes.
2. Multiprogramación.
3. Sistemas de tiempo compartido.
4. Sistemas paralelos.
5. Sistemas distribuidos.
6. Sistemas de tiempo real.
7. Sistemas en línea.
8. Tendencias actuales y futuras de los sistemas
operativos
2. 1. SISTEMAS POR LOTES
El sistema por lotes (batch processing) es la ejecución de un programa que
actúa sin la supervisión del usuario. Es utilizado en actividades con
informaciones grandes, ya que en estos casos seria difícil hacerlo
manualmente. Al rededor de 1965 fueron introducidos para mejorar el
rendimiento de los programas a la hora de procesar. Actualmente las
supercomputadoras manejan este tipo de sistema.
Sus principales funciones son:
- Reserva y asigna los recursos de las maquinas a las tareas que hay que
ejecutar.
-Reúne todos los trabajos y actividades comunes para realizarlos al mismo
tiempo.
-Minimiza tiempos de preparación.
-Controla la finalización de tareas.
-Tratamiento de errores.
Tarjetas de Control:
• Para que el monitor residente sepa qué programa ejecutar (se distinguen por $
de las tarjetas de instrucciones).
3. Organización de la memoria para un monitor residente:
• Cargador, secuenciado de trabajos, intérprete de tarjetas.
• Drivers para cargador e intérprete.
VENTAJAS:
• Permite compartir los recursos con otros usuarios.
• Da prioridad a tareas interactivas.
• Pueden tener un tiempo de ejecución muy alto, porque el procesador es
mejor utilizado.
DESVENTAJAS
• Cualquier tipo de error puede producir resultados inútiles o, simplemente,
inexistentes, puesto que careces de la supervisión del usuario.
• E/S muy lenta en comparación con la CPU, lo que implica que la CPU queda
ociosa mucho tiempo esperando la terminación de las operaciones de E/S.
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.
4. 2. MULTIPROGRAMACIÓN.
Este sistema permite almacenar el mismo espacio de memoria para dos o mas
procesos, es decir cumple la función multitarea (trabaja con varios tareas al
mismo tiempo). Decide cual tarea correrá en un momento dado, proveyendo un
mecanismo para cambiar al procesador de una tarea a otra y provee formas
primitivas de acceso controlado a recursos compartidos.
Sus principales características son:
- Mejora productividad del sistema y utilización de recursos.
- Multiplexa recursos entre varios programas.
- Generalmente soportan múltiples usuarios (multiusuario).
- 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.
5. 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.
Permite compartir recursos computacionales con varios usuarios a través de la
multitarea . Este si tiene interacción con el usuario desde algún tipo de terminal
pero también que este de soporte simultáneo a muchos usuarios más.
Sus principales características son:
- Populares representantes de sistemas multiprogramados multiusuario, (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.
6. VENTAJAS
-Interacción usuario-sistema e ilusión de que cada usuario
tiene su ordenador particular.
DESVENTAJAS
-Perdemos productividad de la CPU.
Algunos ejemplos de este tipo de sistema son Multics, OS/360
y DEC-10.
7. 4.SISTEMAS PARALELOS
Consisten en un multiprocesador y comparten a la vez memoria y
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.
VENTAJAS:
- Pueden ejecutar varias instrucciones simultáneamente (en paralelo).
- Aumento del rendimiento (más trabajos en menos tiempo).
- Compartición de periféricos y fuentes de potencia.
- Tolerancia a fallos (degradación gradual).
DESVENTAJA:
- Sincronización entre procesos.
8. 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.
9. 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.
Ventajas:
-Bajo costo (mejor relación entre precio/desempeño), velocidad,
distribución inherente, confiabilidad, crecimiento horizontal.
-Compartir recursos (Datos, BD, Dispositivos)
-Compuesto por múltiples ordenadores.
-hay interconexión entre ellos.
-se maneja un estado compartido
Desventajas:
-Software Complejo, redes, seguridad.
11. 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
Requieren que esos valores estén determinados y que no dependan de la
carga del sistema.
La característica principal de un sistema operativo de tiempo real es la
respuesta ante eventos
12. 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.
13. IMPRESORA LOCAL IMPRESORA EN RED
CILEINTE DE RED ROUTER
CLIENTE DE RED
CLIENTE DE RED SERVIDOR DE RED
14. 8. TENDENCIAS ACTUALES Y FUTURAS DE LOS SISTEMAS OPERTATIVOS.
El Sistema Operativo del Mañana:
Se ha progresado mucho en el desarrollo de los sistemas operativos.
Estos progresos han sido paralelos a la aparición de nuevas
tecnologías y de nuevos algoritmos para las tareas de los sistemas
operativos.
Actualmente, hay solamente dos paradigmas fundamentales del
sistema operativo: el intérprete de la línea de comando (UNIX,
DOS), y la interfaz gráfica (Macintosh OS, OS/2, Windows 95).
Mientras que el último es claramente más intuitivo y preferido por la
mayoría de los usuarios, la industria debe ahora tomar otra medida
hacia el sistema operativo ideal. La generación siguiente de
sistemas operativos utilizará las nuevas herramientas desarrolladas
tales como programación orientada a objetos (OOP), y nueva
tecnología de hardware (DRAM's
15. y los microprocesadores densos y baratos), para crear un ambiente
que beneficie a los programadores (con modularidad y la
abstracción crecientes) así como a los usuarios (proporcionándoles
una interna, constante y gráficamente orientada interfaz). Los
sistemas operativos futuros también se adaptarán fácilmente a las
preferencias cambiantes del usuario y a las tecnologías futuras (tales
como sistemas de realidad virtual).
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.
16. 2. Robustez y gestión de errores
Los sistemas operativos futuros deben ser extremadamente robustos.
Sus metas:
Ninguna acción del usuario debe hacer que el sistema comporte en
una extraña o ilógica manera
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).
El sistema debe enumerar claramente las opciones de las cuales el
usuario debe elegir.
17. 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.
Un sistema operativo bien diseñado debe ser estandarizado de una
manera tal que se adapte y siga siendo útil indefinidamente. Debe
crecer en a la par con la tecnología de cómputo, la visualización, y
tecnologías de interacción, y preferencias del usuario. La naturaleza
modular del sistema operativo del mañana será tal que piezas del
sistema serán continuamente modificadas y puestas al día reflejar
estos cambios. Para que estas características sean
18. posibles, el sistema requerirá: 1) un conjunto muy bien definido de
los estándares públicos disponibles (para la comunicación entre
las capas y los objetos), 2) que este conjunto de estándares se
desarrolle con un cierto plazo de tiempo pero que siga siendo
claro y conciso, y 3) que los estándares no cambien tan
rápidamente como para causar problemas de compatibilidad o
altos costos de cambio de hardware.