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.
Con multitarea de asignación de prioridades el
Sistema Operativo puede sustituir en cualquier momento el proceso que
esta corriendo y reasignar el tiempo a una tarea de mas prioridad. Unix
OS-2 y Windows NT emplean este tipo de multitarea.
Multiusuario
Un Sistema Operativo multiusuario permite a mas
de un solo usuario accesar una computadora. Claro que, para llevarse
esto a cabo, el Sistema Operativo también debe ser capaz de efectuar
multitareas.
Unix es el Sistema Operativo Multiusuario más
utilizado. Debido a que Unix fue originalmente diseñado para correr en
una minicomputadora, era multiusuario y multitarea desde su concepción.
Actualmente se producen versiones de Unix para PC
tales como The Santa Cruz Corporation Microport, Esix, IBM,y Sunsoft.
Apple también produce una versión de Unix para la Machintosh llamada:
A/UX.Unix
Unix proporciona tres maneras de permitir a múltiples personas utilizar la misma PC al mismo tiempo:
- Mediante Módems.
- Mediante conexión de terminales a través de puertos seriales
- Mediante Redes.
Multiproceso
Las computadoras que tienen mas de un CPU son
llamadas multiproceso. Un sistema operativo multiproceso coordina las
operaciones de las computadoras multiprocesadoras. Ya que cada CPU en
una computadora de multiproceso puede estar ejecutando una instrucción,
el otro procesador queda liberado para procesar otras instrucciones
simultáneamente.
Al usar una computadora con capacidades de
multiproceso incrementamos su velocidad de respuesta y procesos. Casi
todas las computadoras que tienen capacidad de multiproceso ofrecen una
gran ventaja.
Los primeros Sistemas Operativos Multiproceso realizaban lo que se conoce como:
- Multiproceso asimétrico: Una CPU principal retiene el control global de la computadora, así como el de los otros procesadores.
Esto fue un primer paso hacia el multiproceso pero no
fue la dirección ideal a seguir ya que la CPU principal podía
convertirse en un cuello de botella.
- Multiproceso simétrico: En un sistema multiproceso simétrico, no existe una CPU controladora única. La barrera a vencer al implementar el multiproceso simétrico es que los Sistema Operativo tienen que ser rediseñados o diseñados desde el principio para trabajar en u n ambiente multiproceso.
Las extensiones de Unix, que soportan multiproceso
asimétrico ya están disponibles y las extensiones simétricas se están
haciendo disponibles.
Windows NT de Microsoft soporta multiproceso simétrico.
No hay comentarios:
Publicar un comentario