lunes, 8 de agosto de 2011

Sistemas Operativos Multitarea.

El término multitarea se refiere a la capacidad del Sistema Operativo para correr mas de un programa al mismo tiempo. Existen dos esquemas que los programas de sistemas operativos utilizan para desarrollar Sistema Operativo multitarea, el primero requiere de la cooperación entre el Sistema Operativo y los programas de aplicación.

Los programas son escritos de tal manera que periódicamente inspeccionan con el Sistema Operativo para ver si cualquier otro programa necesita a la CPU, si este es el caso, entonces dejan el control del CPU al siguiente programa, a este método se le llama multitarea cooperativa y es el método utilizado por el Sistema Operativo de las computadoras de Machintosh y DOS corriendo Windows de Microsoft.

El segundo método es el llamada multitarea con asignación de prioridades. Con este esquema el Sistema Operativo mantiene una lista de procesos (programas) que están corriendo. Cuando se inicia cada proceso en la lista el Sistema Operativo le asigna una prioridad. En cualquier momento el Sistema Operativo puede intervenir y modificar la prioridad de un proceso organizando en forma efectiva la lista de prioridad, el Sistema Operativo también mantiene el control de la cantidad de tiempo que utiliza con cualquier proceso antes de ir al siguiente.

Tipos de Sistemas Operativos Multitarea.

Cooperativa

Los procesos de usuario son quienes ceden la CPU al sistema operativo a intervalos regulares. Muy problemática, puesto que si el proceso de usuario se interrumpe y no cede la CPU al sistema operativo, todo el sistema estará trabado, es decir, sin poder hacer nada. Da lugar también a latencias muy irregulares, y la imposibilidad de tener en cuenta este esquema en sistemas operativos de tiempo real. Un ejemplo sería Windows hasta la versión 2000.

Preferente

El sistema operativo es el encargado de administrar el/los procesador(es), repartiendo el tiempo de uso de este entre los procesos que estén esperando para utilizarlo. Cada proceso utiliza el procesador durante cortos períodos de tiempo, pero el resultado final es prácticamente igual que si estuviesen ejecutándose al mismo tiempo. Ejemplos de sistemas de este tipo serían Unix y sus derivados (FreesBD, Linux), VMS y derivados, AmigaOS, Windows NT.

Real

Sólo se da en sistemas multiprocesador. Es aquella en la que varios procesos se ejecutan realmente al mismo tiempo, en distintos microprocesadores. Suele ser también preferente. Ejemplos de sistemas operativos con esa capacidad: variantes Unix, Linux, Windows NT, Mac OS X, etc.

No hay comentarios:

Publicar un comentario en la entrada