miércoles, 2 de noviembre de 2016

Clasificación de los sistemas operativos

Multiprogramación: a una técnica por la que dos o más procesos pueden alojarse en la memoria principal y ser ejecutados concurrentemente por el procesador o CPU. Se trata de un paralelismo simulado, dado que la CPU sólo puede trabajar con un proceso cada vez el proceso activo. De ahí que, en rigor, se diga que la CPU ejecuta concurrentemente no simultáneamente varios procesos; en un lapso de tiempo determinado, se ejecutarán alternativamente partes de múltiples procesos cargados en la memoria principal.

Ventajas

  • Varios procesos en ejecución
  • Permite el servicio interactivo simultáneo a varios usuarios de manera eficiente
  • Aprovecha los tiempos que los procesos pasan esperando a que se completen sus operaciones de E/S y por ende aumenta la eficiencia en el uso del CPU
Las direcciones de los procesos son relativas, el programador no se preocupa por saber en dónde estará el proceso dado que el sistema operativo es el que se encarga de convertir la dirección lógica en física.  



Tiempo real: es aquel sistema digital que interactúa activamente con un entorno con dinámica conocida en relación con sus entradas, salidas y restricciones temporales, para darle un correcto funcionamiento de acuerdo con los conceptos de predictibilidad, estabilidad, controlabilidad y alcanzabilidad. Los sistemas en tiempo real están presentes en nuestra vida diaria, prácticamente en todo lo que nos rodea: en los aviones, trenes y automóviles, en el televisor, la lavadora o el horno de microondas, en los teléfonos celulares y en las centrales telefónicas digitales. Son un elemento imprescindible para garantizar la generación, transmisión y distribución de la energía eléctrica y para asegurar la calidad y la seguridad de incontables procesos industriales.
La principal característica que distingue a los STR de otros tipos de sistemas es el tiempo de interacción. Sin embargo, antes de continuar es necesario aclarar el significado de las palabras tiempo y real.
    La palabra tiempo significa que el correcto funcionamiento de un sistema depende no sólo del resultado lógico que devuelve la computadora, también depende del tiempo en que se produce ese resultado.
    La palabra real quiere decir que la reacción de un sistema a eventos externos debe ocurrir durante su evolución. Como una consecuencia, el tiempo del sistema (tiempo interno) debe ser medido usando la misma escala con que se mide el tiempo del ambiente controlado (tiempo externo).


MONOTAREA: Solamente puede ejecutar un proceso (aparte de los procesos del propio S.O.) en un momento dado. Una vez que empieza a ejecutar un proceso, continuará haciéndolo hasta su finalización y/o interrupción sin importar el número de procesadores que tenga la computadora o el número de procesos o tareas que el usuario pueda ejecutar en un mismo instante de tiempo. Las computadoras personales típicamente se han clasificado en este renglón. En otras palabras, los sistemas monousuarios son aquellos que nada más puede atender a solo un usuario, por las limitaciones del hardware, los programas o el tipo de aplicación que se esté ejecutando. 

MULTIUSUARIO: Si permite que varios usuarios ejecuten simultáneamente sus programas, accediendo a la vez a los recursos de la computadora. Normalmente estos sistemas operativos utilizan métodos de protección de datos, de manera que un programa no pueda usar o cambiar los datos de otro usuario. En general se le llama multiusuario a la característica de un sistema operativo o programa que permite proveer servicio y procesamiento a múltiples usuarios simultáneamente, tanto en paralelismo real como simulado. En ocasiones pueden aplicarse a programas de computadora de otro tipo e incluso a sistemas de computo. En contraposición a los sistemas monousuario, que proveen servicio y procesamiento a un solo usuario, en la categoría de multiusuario se encuentran todos los sistemas que cumplen simultáneamente las necesidades de dos o más usuarios, que comparten los mismos recursos. Actualmente este tipo de sistemas se emplean especialmente en redes, pero los primeros ejemplos de sistemas multiusuario fueron los centralizados, que los usuarios compartían a través del uso de múltiples dispositivos de interfaz humana (e.j. una unidad central y múltiples. sirve para empresas monitores y teclados).
Los recursos que se comparten son, normalmente, una combinación de: 
         Procesador.
  • Memoria.
  • Almacenamiento secundario (en disco duro).
  • Programas.
  • Periféricos como impresoras, plóteres, escáneres, etc.
De tal modo que múltiples usuarios utilizan una única computadora, comparten programas y usan un sistema operativo unificado, que les están dedicados por completo; teniendo la impresión de que lo hacen simultáneamente.


POR LOTES: se le llama asi a la ejecución de un programa sin el control o supervisión directa del usuario (que se denomina procesamiento interactivo). Este tipo de programas se caracterizan porque su ejecución no precisa ningún tipo de interacción con el usuario. Generalmente, este tipo de ejecución se utiliza en tareas repetitivas sobre grandes conjuntos de información, ya que sería tedioso y propenso a errores realizarlo manualmente. Un ejemplo sería el renderizado de los fotogramas de una película. Los programas que ejecutan por lotes suelen especificar su funcionamiento mediante scripts o guiones (procedimientos) en los que se indica qué se quiere ejecutar y, posiblemente, qué tipo de recursos necesita reservar.


Tiempo compartido: se refiere a compartir de forma concurrente un recurso computacional (tiempo de ejecución en la CPU, uso de la memoria, etc.) entre muchos usuarios por medio de las tecnologías de multiprogramación y la inclusión de interrupciones de reloj por parte del sistema operativo, permitiendo a este último acotar el tiempo de respuesta del computador y limitar el uso de la CPU por parte de un proceso dado. La implementación de un sistema capaz de tomar provecho de esto sería difícil. El procesamiento por lotes era realmente un desarrollo metodológico encima de los primeros sistemas; las computadoras todavía ejecutaban programas simples para usuarios en un momento determinado, hasta ese momento, lo único que el procesamiento por lotes multiprogramados había cambiado era el retardo de tiempo entre un programa y el siguiente. Desarrollar un sistema que soportara múltiples usuarios al mismo tiempo era un concepto totalmente diferente, el "estado" de cada usuario y sus programas tendría que ser mantenidos en la máquina, y luego cambiado entre ellos rápidamente. Esto tomaría ciclos de la computadora, y en las máquinas lentas de la época esto era una preocupación.




Sistema operativo distribuido: es la unión lógica de un grupo de sistemas operativos sobre una colección de nodos computacionales independientes, conectados en red, comunicándose y físicamente separados. Cada nodo contiene de forma individual un subconjunto específico de los programas que componen el sistema operativo distribuido. Cada subconjunto es una combinación de dos proveedores de servicios distintos. El primero es un núcleo ubicuo mínimo o micro núcleo, que controla el hardware del nodo. El segundo es una colección de componente de administración del sistema de alto nivel que coordinan las actividades individuales y colaborativas del nodo. Estos componentes son una abstracción de las funciones del micro núcleo y dan soporte a las aplicaciones de usuario. Un sistema operativo distribuido provee las funcionalidades esenciales requeridas por un sistema distribuido, agregando atributos y configuraciones para dar soporte a los requerimientos adicionales, tales como aumento de escala y disponibilidad. Desde el punto de vista del usuario el SO funciona de forma similar a un Sistema Operativo monolítico de un solo nodo. O sea que, aunque está compuesto por múltiples nodos, para los usuarios y aplicaciones luce como un solo nodo.




Real: es un sistema operativo que ha sido desarrollado para aplicaciones de tiempo real. Como tal, se le exige corrección en sus respuestas bajo ciertas restricciones de tiempo. Si no las respeta, se dirá que el sistema ha fallado. Para garantizar el comportamiento correcto en el tiempo requerido se necesita que el sistema sea predecible. El diseño de compartición de tiempo gasta más tiempo de la UCP en cambios de tarea innecesarios. Sin embargo, da una mejor ilusión de multitarea. Normalmente se utiliza un sistema de prioridades fijas.
Hay dos diseños básicos:
  • Un sistema operativo guiado por eventos sólo cambia de tarea cuando un evento necesita el servicio.
  • Un diseño la compartición de tiempo cambia de tareas por interrupciones del reloj y por eventos.


Paralelos: Son aquellos que tienen la capacidad de realizar varias operaciones de manera simultánea, disponen de más de un procesador y permiten la ejecución simultánea y sincronizada de más de un proceso. Los cuales comparten el bus del computador, el reloj a veces la memoria y los dispositivos periféricos.

Se pretende que cuando existan dos o más procesos que compitan por algún recurso, se puedan realizar o ejecutar al mismo tiempo.
Características de los sistemas Operativos Paralelos:



Suelen manejar grandes cantidades de información del orden de los terabytes y pueden procesar cientos de peticiones por segundo. Los procesadores comparten memoria y reloj. Los multiprocesadores ahorran dinero porque pueden compartir periféricos, gabinetes, Ejemplos de estos tipos de Sistemas Operativos están: Alpha, PVM, la serie AIX, que es utilizado en los sistemas RS/6000 de IBM.




No hay comentarios.:

Publicar un comentario