Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Sistemas Operativos II
Sección 0800
Tarea 12
Fecha: 08/03/2022
Los sistemas multiprocesadores son aquellos que disponen de 2 o más procesadores. Hasta el
momento hemos aplicado los criterios de planificación considerando un único procesador. Con
más de un procesador, tenemos que decidir a qué procesador se asignan cada uno de los procesos
en ejecución.
La manera más simple de la planificación consiste en tratar cada proceso como un recurso
colectivo y asignar procesos a procesadores por demanda. La asignación puede ser dinámica o
estática.
Si un proceso se vincula de manera permanente se mantiene en cola a corto plazo. Una ventaja es
que se presenta menos sobrecarga en la planificación, ya que la asignación se realiza una única
vez y para siempre.
Una desventaja es un procesador puede tener su cola vacía, mientras otro puede tener el trabajo
acumulado. Para evitar esto se puede utilizar una cola común. Todos los procesos van sobre una
cola global y son planificados sobre cualquier procesador disponible. Todos los procesos estarán
disponibles para cualquier procesador.
Otra opción es el balance dinámico de carga, en el que los hilos se mueven de una cola de un
procesador a la cola de otro procesador. Linux utiliza este enfoque.
Se utilizan dos enfoques para ver qué proceso se vincula a cada procesador:
Maestro/Esclavo
Camaradas
Maestro/Esclavo:
Las funciones clave del núcleo ejecutan siempre en un procesador concreto. Los demás
procesadores solo pueden ejecutar programas de usuario. El maestro es responsable de la
planificación de trabajos. El esclavo debe enviar una solicitud al maestro si necesita algún
servicio.
Camaradas:
El núcleo puede ejecutarse desde cualquier procesador. Cada procesador se auto-planifica. Este
enfoque complica el sistema operativo, el sistema debe asegurar que dos procesadores no escogen
el mismo proceso y que estos no se extravíen.
Cuando un proceso se asigna de manera estática a un procesador para todo su tiempo de vida
puede quedar bloqueado esperando por E/S o por otras consideraciones de concurrencia.
En los multiprocesadores de grano grueso o independientes cada procesador individual debe ser
capaz de cambiar entre varios procesos. Para aplicaciones de grano medio ejecutando en un
multiprocesador con muchos procesadores la situación es menos clara. Cuando hay muchos
procesadores disponibles, se debe asegurar que cada procesador este ocupado tanto tiempo como
sea posible.
Activación de procesos:
Planificación de Procesos:
En los sistemas tradicionales, los procesos no se vinculan a los procesadores, en cambio, hay una
única cola para todos los procesadores o se utiliza un esquema basado en prioridades.
En los casos de un sistema biprocesador, donde cada procesador posee la mitad de velocidad de
procesamiento que un procesador de un sistema monoprocesador, se realiza un análisis de colas
que compara las planificaciones FCFS, turno circular y tiempo restante más breve. El análisis se
ocupa del tiempo de servicio de los procesos, que es la cantidad de tiempo de procesador que
necesita un proceso. Los resultados dependen de la variabilidad que se observa en los tiempos de
servicio.
La disciplina de planificación especifica es mucho menos importante con dos procesadores que
con uno. Esta conclusión es evidentemente más fuerte a medida que el número de procesadores
crece. Así, la disciplina básica FCFS o el uso de FCFS con un esquema estático de prioridades
puede ser suficiente en un sistema multiprocesador.