Taller no 3

18
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

Transcript of Taller no 3

Page 1: Taller no 3

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 sistemasoperativos

Page 2: Taller no 3

1. SISTEMAS POR LOTES

El sistema por lotes (batch processing) es la ejecución de un programa queactúa sin la supervisión del usuario. Es utilizado en actividades coninformaciones grandes, ya que en estos casos seria difícil hacerlomanualmente. Al rededor de 1965 fueron introducidos para mejorar elrendimiento de los programas a la hora de procesar. Actualmente lassupercomputadoras manejan este tipo de sistema.

Sus principales funciones son:

- Reserva y asigna los recursos de las maquinas a las tareas que hay queejecutar.

-Reúne todos los trabajos y actividades comunes para realizarlos al mismotiempo.

-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).

Page 3: Taller no 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.

Page 4: Taller no 3

2. MULTIPROGRAMACIÓN.

Este sistema permite almacenar el mismo espacio de memoria para dos o masprocesos, es decir cumple la función multitarea (trabaja con varios tareas almismo tiempo). Decide cual tarea correrá en un momento dado, proveyendo unmecanismo para cambiar al procesador de una tarea a otra y provee formasprimitivas 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 computadorespersonales o en sistemas de tiempo real.

- Sistemas multiprocesadores son sistemas multitareas por definición ya quesoportan la ejecución simultánea de múltiples tareas sobre diferentesprocesadores.

- En general, los sistemas de multiprogramación se caracterizan por tener múltiplesprogramas activos compitiendo por los recursos del sistema: procesador,memoria, dispositivos periféricos.

Page 5: Taller no 3

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 lamultitarea . Este si tiene interacción con el usuario desde algún tipo de terminalpero 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 dediseñ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 ydisminuye 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 aque pueden existir múltiples usuarios accesando un mismo archivos.

Page 6: Taller no 3

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.

Page 7: Taller no 3

4.SISTEMAS PARALELOS

Consisten en un multiprocesador y comparten a la vez memoria ydispositivos periféricos entre varios usuarios.

En UNIX existe también la posibilidad de ejecutar programas sin tener queatenderlos en forma interactiva, simulando paralelismo (es decir, atenderde manera concurrente varios procesos de un mismo usuario). Así, en lugarde esperar a que el proceso termine de ejecutarse (como lo haríanormalmente), regresa a atender al usuario inmediatamente después dehaber 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.

Page 8: Taller no 3

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.

Page 9: Taller no 3

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 compartidoDesventajas:-Software Complejo, redes, seguridad.

Page 10: Taller no 3

CARACTERISTICAS

MULTIPLES ORDENADORES INTERCONECTADOS CON UN ESTADO

COMPARTIDO

SE DESEA TRANSPARENCIA SE NECESITA CONSISTENCIA

Page 11: Taller no 3

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

Page 12: Taller no 3

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.

Page 13: Taller no 3

IMPRESORA LOCAL IMPRESORA EN RED

CILEINTE DE RED ROUTER

CLIENTE DE RED

CLIENTE DE RED SERVIDOR DE RED

Page 14: Taller no 3

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

Page 15: Taller no 3

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.

Page 16: Taller no 3

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.

Page 17: Taller no 3

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

Page 18: Taller no 3

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.