Está en la página 1de 12

Preguntas orientadoras Cap 5

1. ¿Qué significa Planificar la CPU?


- La Planificación de la CPU es la base de los sistemas operativos multiprogramados. Cambiando la
CPU entre procesos, el sistema operativo puede hacer que la computadora sea más productiva.

[..] Cuando un proceso tiene que esperar, el sistema operativo quita la CPU de ese proceso y le da la CPU a
otro proceso. Este patrón continúa. Cada vez que un proceso tiene que esperar, otro proceso puede hacerse
cargo del uso de la CPU. En un sistema multinúcleo, este concepto de mantener ocupada la CPU se extiende a
todos los núcleos de procesamiento en el sistema.
La planificación de esta clase es una función fundamental del sistema operativo. Casi todos los
recursos informáticos están planificados antes de su uso. La CPU es, por supuesto, uno de los
principales recursos computacionales. Por lo tanto, su planificación es fundamental para el diseño
del sistema operativo.

- Planificar significa disponer de un programa que provea que darle a la CPU para que ejecute.
Cuáles serían los programas que van a ir haciendo cola en estado ready (listo) para que en algún
momento sean elegidos por el planificador y tomen control de la CPU.

2. ¿Para qué se planifica la CPU?


- Es sabido que la planificación es la base del SO multiprogramados. Cuando aparecio la
multiprogramación fue necesario entonces administrar cuales eran los programas que iban a
ejecutarse en esta CPU entonces habrá que cambiar de vez en cuando cada vez que haga falta el
proceso o el hilo que se ejecuta en el CPU por otro así la computadora sea más productiva en el
sentido de que primero esté siempre ejecutando algún proceso, ejecutando instrucciones y por otro
lado mayor cantidad de usuarios o mayor cantidad de programas se ejecuten por unidad de tiempo.

3. Cuándo se ejecuta un Planificador?


El planificador a corto plazo selecciona entre los procesos de la lista de espera y asigna la CPU a uno de
ellos. La cola se puede ordenar de varias maneras (de ahí los distintos algoritmos).
Las decisiones de Planificación de la CPU pueden tener lugar cuando un proceso:
1. Cambia del estado de ejecución al estado de espera
2. Cambia de estado de ejecución a estado listo
3. Cambia de espera a listo
4. Termina

4. ¿Qué significa que un proceso sea CPU-bound? I/O-bound?


- Los procesos tienden a tener ráfagas de ejecución (CPU-burst) y ráfagas de espera de operaciones de
E/S (I/O burst).
- Procesos CPU-bound: Requieren un alto uso del CPU.
- Procesos I/O-bound: Realizan muchas operaciones de entrada/salida.
La prioridad de un proceso para obtener un recurso será inversamente proporcional al uso que haga del
mismo. Es decir, si un proceso es CPU-bound, entonces su prioridad para hacer uso de la CPU será
baja.

El éxito de la planificación de la CPU depende de una propiedad observada de los procesos:


La ejecución del proceso consiste en un ciclo de ejecución de la CPU y espera por E/S. Los Procesos
alternan entre estos dos estados. La ejecución del proceso comienza con una ráfaga de CPU.
Esto es seguido por una ráfaga de E/S, y luego por otra ráfaga de CPU, y otra ráfaga de E/S, y así
sucesivamente. Finalmente, la ráfaga final de la CPU termina con una solicitud de llamada al
sistema para finalizar la ejecución (Figura 5.1).
5. ¿Qué es mejor, que el kernel sea Preemptive o no Preemptive?
-Las decisiones de Planificación de la CPU pueden tener lugar cuando un proceso:
1. Cambia del estado de ejecución al estado de espera
2. Cambia de estado de ejecución a estado listo
3. Cambia de espera a listo
4. Termina
- Cuando la Planificación se lleva a cabo solo en las circunstancias 1 y 4, decimos que el esquema de
Planificación no es apropiativo o cooperativo. De lo contrario, es apropiativo. Bajo la Planificación
no apropiativa, una vez que la CPU ha sido asignada a un proceso, el proceso mantiene la CPU
hasta que la libera cuando termina o cambia al estado de espera. (o sea en la planificación no apropiativa el
proceso tiene el “control” el libera el CPU voluntariamente). Prácticamente todos los sistemas operativos
modernos.

Los kernels del sistema operativo pueden diseñarse como no apropiativos o apropiativos.
Un kernel no apropiativo esperará a que se complete una llamada al sistema o hasta que se bloquee un
proceso, mientras se espera que se complete la E/S antes que se haga un cambio de contexto.
Un kernel apropiativo requiere mecanismos como bloqueos mutex para evitar condiciones de carrera al
acceder a estructuras de datos de kernel compartidas.
La mayoría de los sistemas operativos modernos ahora son totalmente apropiativos cuando se ejecutan en
modo kernel

Por lo tanto, por sencillez sería mejor un kernel no apropiativo pero por tiempos de ejecución (computación en
tiempo real) es mejor implementar kernel apropiativo.
6. ¿A qué se denomina latencia del despachador?
- El despachador es el nombre que tiene el algoritmo que se encarga de hacer cambio de contexto...

Otro componente involucrado en la función de planificación de la CPU es el despachador(como un “fletero”).


El despachador es el módulo que da control de la CPU al proceso seleccionado por el planificador
de la CPU. Esta función implica lo siguiente:
• Cambiar el contexto de un proceso a otro
• Cambiar al modo de usuario
• Saltar a la ubicación adecuada en el programa de usuario para reanudar ese programa.

El despachador debe ser lo más rápido posible, ya que se invoca durante cada cambio de contexto.
El tiempo que tarda el despachador en detener un proceso y comenzar otra ejecución se conoce
como latencia de despacho y se ilustra en la Figura 5.3.

7. ¿Qué significa el término Utilización de la CPU?

- Criterios de planificación
Diferentes algoritmos de planificación de CPU tienen diferentes propiedades, y la elección de un
algoritmo particular puede favorecer una clase de procesos sobre otra. Al elegir qué algoritmo
usar en una situación particular, debemos considerar las propiedades de los diversos algoritmos.
Se han sugerido muchos criterios para comparar algoritmos de planificación de CPU.
¿Cuáles características deben utilizarse para la comparación? Eso puede hacer una sustancial diferencia sobre
qué algoritmo se considera mejor.

Los criterios incluyen lo siguiente:


• Utilización de la CPU. Queremos mantener la CPU lo más ocupada posible. Conceptualmente la utilización
de la CPU puede variar de 0 a 100 por ciento. En un sistema real, esto debe variar entre el 40% (para un
sistema con poca carga) y el 90 por ciento (para un sistema muy cargado). (La utilización de la CPU se puede
obtener utilizando el comando top en sistemas Linux, macOS y UNIX).
• Rendimiento.
• Tiempo de retorno.
• Tiempo de espera. El algoritmo de planificación de la CPU no afecta la cantidad de tiempo
durante el cual un proceso ejecuta o realiza una E/S. Afecta solo a la cantidad de tiempo que un
proceso pasa esperando en la lista de espera. El tiempo es la suma de los períodos de espera en la
lista de espera.
• Tiempo de respuesta.

Es deseable maximizar la utilización y el rendimiento de la CPU y minimizar el tiempo de retorno,


tiempo de espera y tiempo de respuesta.
8. ¿Qué significa el término Rendimiento?

• Rendimiento. Si la CPU está ocupada ejecutando procesos, entonces se está haciendo trabajo.
Una medida del trabajo es la cantidad de procesos que se completan por unidad de tiempo, se llama
rendimiento. Para procesos largos, esta tasa puede ser un proceso en varios segundos; para transacciones
cortas, puede ser decenas de procesos por segundo.

9. ¿Qué significa el término Tiempo de retorno (Turnaround)?

• Tiempo de retorno. Desde el punto de vista de un proceso particular, un criterio importante es cuánto
tiempo lleva ejecutar ese proceso. El intervalo desde el momento de la llegada de un proceso hasta el
momento de finalización es el tiempo de respuesta El tiempo de actividad de un proceso es la suma de los
períodos de espera en la cola lista, ejecutándose en la CPU y haciendo E/S.

10. ¿Qué significa el término Tiempo de respuesta?

• Tiempo de respuesta. En un sistema interactivo, el tiempo total de un proceso puede no ser el mejor criterio.
A menudo, un proceso puede producir un resultado parcial pronto y puede continuar calculando nuevos
resultados mientras se están obteniendo resultados de salida al usuario. Por lo tanto, otra medida es el tiempo
desde la presentación de una solicitud hasta que se produzca la primera respuesta. Esta medida, llamada
tiempo de respuesta, es el tiempo que lleva en comenzar a responder, no el tiempo que lleva para dar salida a
la respuesta completa.

11. ¿Qué ventajas y desventajas tiene el criterio de Planificación del algoritmo FCFS?

- Algoritmo FCFS. Planificación por orden de llegada. Con este esquema, el proceso que solicita primero se
le asigna la CPU primero. La implementación de la política de FCFS se gestiona fácilmente con una cola
FIFO. Cuando un proceso entra en la cola lista, su PCB está vinculado al final de la cola. Cuando la CPU está
libre, se le asigna al proceso de la cabecera de la cola. El proceso en ejecución se elimina de la cola.
Ventajas. El código para la planificación de FCFS es simple de escribir y comprender.

Desventaja. El tiempo de espera promedio bajo la política FCFS es a menudo bastante largo. Este tiempo
generalmente no es mínimo y puede variar sustancialmente si los tiempos de ráfaga de CPU de los procesos
varían.

Hay un efecto convoy ya que todos los demás procesos esperan el gran proceso para salir de la CPU.

El algoritmo de programación FCFS no es preventivo. Una vez que la CPU se ha asignado a un proceso, ese
proceso mantiene la CPU hasta que la libera, ya sea terminando o solicitando E/S.

El algoritmo FCFS es particularmente problemático para sistemas interactivos, donde es importante que
cada proceso obtenga una parte de la CPU a intervalos regulares. Sería desastroso permitir que un proceso
mantenga la CPU durante un período prolongado.

12. ¿Qué ventajas y desventajas tiene el criterio de Planificación del algoritmo SJF?

- SJF. Planificación de trabajo más corto primero. Asocia con cada proceso la longitud de la próxima ráfaga
de CPU del proceso. Cuando la CPU está disponible, se asigna al proceso que tiene la próxima ráfaga de CPU
más pequeña. Si las siguientes ráfagas de CPU de dos procesos tienen la misma ráfaga, se utiliza la
Planificación FCFS para romper el empate.
- Tenga en cuenta que más apropiado sería el término para este método: “Algoritmo de Planificación por la
ráfaga de CPU más corta”, porque la Planificación depende de la duración de la próxima ráfaga de CPU de un
proceso, en lugar de su longitud total.

Ventaja. Es demostrablemente óptimo, ya que proporciona el mínimo tiempo de espera promedio para un
conjunto dado de procesos. Priorizando un proceso corto antes de que uno largo disminuye el tiempo de
espera del proceso corto más y aumenta el tiempo de espera del proceso largo. En consecuencia, el promedio
del tiempo de espera disminuye.

Desventaja. Aunque el algoritmo SJF es óptimo, no se puede implementar a nivel de Planificación de CPU,
ya que no hay forma de saber la duración de la próxima ráfaga de CPU.

Un enfoque para este problema es tratar de aproximar la Planificación SJF. No sabemos la duración de la
próxima ráfaga de CPU, pero es posible que podamos predecir su valor.
…..
Variante de este algoritmo:
El algoritmo SJF puede ser apropiativo o no apropiativo. La elección surge cuando un nuevo proceso llega a la
cola lista mientras que un proceso anterior todavía se está ejecutando. La próxima ráfaga de CPU del proceso
recién llegado puede ser más corta de lo que queda del proceso actualmente en ejecución. Un algoritmo
apropiativo SJF expulsará al proceso que se está ejecutando actualmente, mientras que un algoritmo SJF no
apropiativo permitirá que el proceso actualmente en ejecución termine su ráfaga de la CPU. La planificación
SJF apropiativa a veces se llama el tiempo más corto restante planificación de abetos (tiempo más corto
restante (SRTF)).

Además, una forma de caracterizar este algoritmo es que sea planificado por prioridad.
La CPU se asigna al proceso con la máxima prioridad (entero más pequeño => máxima prioridad). O sea el
más importante se lo planifica primero, cuya rafaja de cpu es mas corta. En este caso puede ser también
apropiativo o no apropiativo.
- Problema =>Inanición: los procesos de baja prioridad pueden ser que nunca se ejecuten.
- Solución => Envejecimiento: a medida que pasa el tiempo, aumentar la prioridad del proceso

13. ¿Qué ventajas y desventajas tiene el criterio de Planificación del algoritmo Round Robin?

El algoritmo de planificación round-robin (RR) es similar a la planificación FCFS, pero se le agrega


apropiatividad para permitir que el sistema cambie entre procesos. Se define una unidad de tiempo pequeña,
denominada cuanto de tiempo o rodaja de tiempo. Un cuanto de tiempo es generalmente de 10 a 100
milisegundos. La cola lista se trata como una cola circular. El planificador de la CPU recorre la cola,
asignando la CPU a cada proceso durante un intervalo de tiempo de hasta 1 cuanto de tiempo.
Para implementar la planificación RR, nuevamente tratamos la cola lista como cola FIFO de procesos. Se
agregan nuevos procesos a la cola lista.
El planificador de la CPU selecciona el primer proceso de la cola lista, establece un temporizador para
interrumpir después de 1 cuanto de tiempo, y despacha el proceso.
Entonces sucederá una de dos cosas:
*El proceso puede tener una expulsión de CPU de menos de 1 cuanto de tiempo. En este caso, el proceso
mismo liberará la CPU voluntariamente. El planificador procederá al siguiente proceso en la cola lista.
*Si la ráfaga de CPU del proceso actualmente en ejecución es más de 1 cuanto, vencerá el temporizador y
provocará una interrupción en el funcionamiento del sistema. Se ejecutará un cambio de contexto y el proceso
se colocará en cola de la cola lista. El planificador de la CPU luego seleccionará el siguiente proceso en la cola
lista.

Ventaja. Todos los procesos están en ejecución el mismo paquetito de tiempo (en principio), por lo que nos
asegura que todos se ejecuten.
Desventaja. El tiempo promedio de espera bajo la política RR suele ser largo. Típicamente, es mayor el
tiempo de retorno promedio que SJF, pero mejor respuesta porque no tengo que esperar que se vaya (o lo
expulsemos) un proceso de alta prioridad en este caso por rafagas de tiempo sino que lo sacamos y
distribuimos la CPU en base a un reloj de manera que todo el mundo pueda avanzar en la ejecución de su
proceso un quantum de tiempo cada vez.
14. ¿Qué conviene? ¿Qué el quantum de RR sea grande o chico?

Rendimiento:
q grande => FIFO (mismo caso que el primero que vimos). Entonces no me sirve.
q pequeño => q debe ser grande con respecto al cambio de contexto, de lo contrario la sobrecarga es
demasiado alta. (me paso la vida cambiando de procesos y el rendimiento del sistema cae porque hay
mucha sobrecarga, mucha overhead del planificador sacando y poniendo procesos muy rápidamente).

- q deberia ser grande en comparación con el tiempo de cambio de contexto.


- q generalmente 10ms a 100ms, cambio de contexto <10 usec.

15. ¿Qué ventajas y desventajas tiene el criterio de Planificación del algoritmo Por Prioridades?

Además, una forma de caracterizar este algoritmo es que sea planificado por prioridad.
La CPU se asigna al proceso con la máxima prioridad (entero más pequeño => máxima prioridad). O sea el
más importante se lo planifica primero, cuya rafaja de cpu es mas corta. En este caso puede ser también
apropiativo o no apropiativo.
- Problema =>Inanición: los procesos de baja prioridad pueden ser que nunca se ejecuten.
- Solución => Envejecimiento: a medida que pasa el tiempo, aumentar la prioridad del proceso

El algoritmo SJF es un caso especial del algoritmo de planificación de prioridad general. Se asocia una
prioridad a cada proceso y la CPU se asigna al proceso con la máxima prioridad. Los procesos de igual
prioridad se planifican en Orden de FCFS. Un algoritmo SJF es simplemente un algoritmo de prioridad donde
la prioridad (p) es el inverso de la próxima ráfaga de CPU (prevista). Cuanto más grande es la ráfaga de la
CPU, menor será la prioridad, y viceversa.

Desventaja. Un problema importante con los algoritmos de planificación prioritarios es el bloqueo indefinido,
o inanición. Solución: envejecimiento.
16. ¿Qué ventajas y desventajas tiene el criterio de Planificación por colas multinivel?

Tanto con la prioridad como con la planificación de turnos (round robin), todos los procesos pueden colocarse
en una sola cola, y el planificador luego selecciona el proceso con la más alta prioridad para ejecutar.
Dependiendo de cómo se gestionan las colas, una búsqueda O (n) puede ser necesaria para determinar el
proceso de mayor prioridad.

En la práctica, a menudo es más fácil tener colas separadas (una por cada prioridad distinta) y la
planificación prioritaria simplemente planifica el proceso en la cola de mayor prioridad. Esta se ilustra
en la figura 5.7. Este enfoque, conocido como cola multinivel, también funciona bien cuando la planificación
prioritaria se combina con round-robin: si hay varios procesos en la cola de mayor prioridad, se ejecutan en
orden de todos contra todos. En la forma más generalizada de este enfoque, una prioridad se asigna
estáticamente a cada proceso, y un proceso permanece en la misma cola por la duración de su tiempo de
ejecución.

Desventaja. Una planificación por prioridad fija puede llevar a inactividad.


PLANIFICACIÓN DE HILOS

17. ¿Por qué se distingue el término Proceso o Sistema en el alcance o ámbito de contención en la
planificación de hilos?

- La pelea por obtener el procesador puede darse a nivel de proceso entonces esa pelea va a ser resuelta en el
nivel de usuario en la biblioteca de usuario o si esa pelea va a ser resuelta en el kernel y entonces se habla de
que el alcance de contención del sistema va a ser en el kernel y el kernel va a tener que decidir quien toma
control de procesador.

18. ¿Cuál es la diferencia entre planificar en un monoprocesador o en un multiprocesador?

Cuando hay varios CPUs disponibles (multiprocesador) es más complejo planificar.

“Nuestra discusión hasta ahora se ha centrado en los problemas de planificación de la CPU en un


sistema con un solo núcleo de procesamiento. Si hay varias CPU disponibles, se hace posible
compartir la carga, donde múltiples hilos pueden ejecutarse en paralelo, sin embargo los
problemas de planificación se vuelven correspondientemente más complejos.”

“Tradicionalmente, el término multiprocesador se refería a sistemas que proporcionaban múltiples


procesadores físicos, donde cada procesador contiene un solo núcleo de CPU. Sin embargo, la
definición de multiprocesador ha evolucionado significativamente, y en sistemas informáticos
modernos, el multiprocesador ahora se aplica a las siguientes arquitecturas de sistema:
• CPUs multinúcleo (multicore)
• Núcleos multihilados (multithreading)
• Sistemas NUMA
• Multiprocesamiento heterogéneo”

19. ¿Cuál es la particularidad de los sistemas multicores? ¿Qué ventajas ofrecen?

Más de un procesador dentro de una misma pastilla


La ventaja que tienen en este multiprocesamiento es que tengo la posibilidad de ejecutar más de un programa
en la misma pastilla, un programa en cada core. Entonces tengo ventaja por la cercanía, la proximidad de los
registros, la proximidad de la memoria caché para ambos procesadores y entonces tengo mayor velocidad y
además consume menos energía porque no necesito alimentar los circuitos aparte, sino que están en la misma
pastilla. Se pueden planificar múltiples hilos por núcleo y eso sería lo mejor porque puedo alternar la
ejecución de dos o más hilos en un mismo núcleo, esto le llamamos hilos a nivel de hardware para minimizar
los tiempos de accesos a memoria y ya tengo los datos del hilo ahí en la misma pastilla.

Entonces, en resumen las ventajas son velocidad y ahorro de energía.


Sin embargo, los procesadores multinúcleo pueden complicar los problemas de planificación.

20. ¿Cuál es la particularidad de los sistemas multithreading? ¿Qué ventajas ofrecen?

En un sistema multihilado un mismo núcleo tiene asignado más de un hilo y va alternando su ejecución. Si un
hilo de hardware se detiene mientras espera por la memoria, el núcleo puede cambiar a otro hilo
21. ¿Qué diferencia hay entre hilo de software e hilo de hardware?

- El concepto nace en el software.

22. ¿A qué se denomina multiprocesamiento heterogéneo? (sistemas móviles)

Aunque los sistemas móviles ahora incluyen arquitecturas multinúcleo, algunos sistemas ahora están
diseñados con núcleos que ejecutan el mismo conjunto de instrucciones, pero varían en términos de su
velocidad de reloj y administración de energía, incluida la capacidad de ajustar el consumo de energía de un
núcleo hasta el punto de inactividad del núcleo. Tales sistemas se conocen como multiprocesamiento
heterogéneo (HMP). Ambas tareas del sistema y del usuario pueden ejecutarse en cualquier núcleo.

La intención detrás de HMP es para gestionar mejor el consumo de energía asignando tareas a ciertos núcleos
basados en las demandas específicas de la tarea.

23. ¿A qué se denomina equilibrio de carga? ¿Cómo se puede implementar?

En los sistemas SMP, es importante mantener la carga de trabajo equilibrada entre todos los procesadores para
aprovechar al máximo los beneficios de tener más de un procesador. De otra manera, uno o más procesadores
pueden permanecer inactivos mientras que otros procesadores tienen mucha carga de trabajo, junto con colas
listas de hilos que esperan la CPU. El Balanceo de carga intenta mantener la carga de trabajo distribuida
uniformemente entre todos los procesadores en un sistema SMP.
Hay dos enfoques generales para el equilibrio de carga:
- empujar a la migración (migración de inserción). Una tarea específica verifica periódicamente la
carga en cada procesador y, si encuentra un desequilibrio, distribuye uniformemente la carga
moviendo (o empujando) hilos de sobrecarga a inactivo a procesadores menos ocupado
- tirar de la migración (La migración de extracción). Se produce cuando un procesador inactivo extrae
una tarea en espera de un procesador ocupado.

La migración de empujar y tirar no necesita ser mutuamente excluyente y, de hecho, a menudo se implementan
en paralelo en sistemas de equilibrio de carga. Por ejemplo, el planificador Linux CFS (descrito en la Sección
5.7.1) y el planificador ULE disponible para sistemas FreeBSD implementa ambas técnicas.

EXTRA. Es importante tener en cuenta que el equilibrio de carga suele ser necesario sólo en sistemas donde
cada procesador tiene su propia cola privada de hilos listos elegibles para ejecutar. En sistemas con una cola
de ejecución común, el equilibrio de carga es innecesario, porque una vez que un procesador queda inactivo,
inmediatamente extrae un hilo ejecutable de la cola lista común.

El concepto de una "carga equilibrada" puede tener diferentes significados. Una vista de una carga equilibrada
puede requerir simplemente que todas las colas tengan aproximadamente el mismo número de hilos.
Alternativamente, el balance puede requerir una distribución equitativa de prioridades de hilo en todas las
colas. Además, en ciertas situaciones, ninguna de estas estrategias puede ser suficiente. De hecho, pueden
trabajar contra el objetivo del algoritmo de planificación.

24. ¿A qué se denomina Afinidad? ¿Cómo se puede implementar?

Tenga en cuenta lo que sucede con la memoria caché cuando un hilo se ha estado ejecutando en un procesador
específico. Los datos a los que el hilo ha accedido más recientemente llenan el caché para el procesador.
Como resultado, sucesivos accesos del hilo a la memoria a menudo se satisfacen en la memoria caché
(conocida como "caché en caliente"). Ahora considere: ¿Qué sucede si el hilo migra a otro procesador? Por
ejemplo, debido al equilibrio de carga. El contenido de la memoria caché debe ser invalidado para el primer
procesador, y el caché para el segundo proceso debe ser actualizado. Debido al alto costo de invalidar y
repoblar cachés, la mayoría de los sistemas operativos con soporte SMP, trata de NO migrar un hilo de un
procesador a otro e intenta mantener un hilo ejecutándose en el mismo procesador y tomar ventaja de un caché
caliente. Esto se conoce como afinidad de procesador, es decir, un proceso tiene una afinidad por el
procesador en el que se está ejecutando actualmente.

Las dos estrategias descritas en la Sección 5.5.1 para organizar la cola de los hilos disponibles para la
planificación tienen implicaciones para la afinidad del procesador. Si nosotros adoptamos el enfoque de una
cola lista común, se puede seleccionar un hilo para ejecución en cualquier procesador. Por lo tanto, si un hilo
está planificado en un nuevo procesador, el caché de ese procesador debe actualizarse. Con colas privadas de
hilos listos, para cada cola procesador, un hilo siempre se planifica en el mismo procesador y, por lo tanto,
puede beneficiarse del contenido de un caché caliente. Esencialmente ¡Las colas de hilos listos por procesador
proporcionan afinidad de procesador!

25. ¿Qué particularidad tiene la planificación de sistemas de tiempo real, que hace que los SO de propósitos
generales no podrían atender?

- La planificación de la CPU para sistemas operativos en tiempo real implica problemas especiales.
- Se refiere a que tengo aplicaciones en tiempo real que necesitan ser atendidas en un plazo determinado.

En general, podemos distinguir entre sistemas blandos en tiempo real y sistemas duros en tiempo real. Los
sistemas blandos en tiempo real no ofrecen ninguna garantía sobre cuándo se planificará un proceso en tiempo
real. Solo garantizan que el proceso tendrá preferencia sobre los procesos no críticos. Los sistemas duros en
tiempo real tienen requisitos más estrictos. Una tarea debe ser atendida antes de su plazo límite; si el servicio
se da después de que el plazo límite ha expirado es lo mismo que ningún servicio.

La característica más importante de un sistema operativo en tiempo real es responder de inmediato a un


proceso en tiempo real tan pronto como ese proceso requiere la CPU.

26. ¿Qué diferencia que una tarea sea periódica de la no-periódica?

- Periódica: intervalos regulares y predecible la otra lo opuesto.

27. Compare la planificación monotónica por tasa (RMS) con la de plazo de entrega (EDF) y mencione sus
aplicaciones.

RMS. El algoritmo de planificación monotónica por tasa planifica tareas periódicas utilizando una Política de
prioridad estática con expulsión. Si se está ejecutando un proceso de menor prioridad y un proceso de mayor
prioridad está disponible para ejecutarse, se expulsará al proceso de menor prioridad. Al ingresar al sistema, a
cada tarea periódica se le asigna una prioridad que será inversa de su período. Cuanto más corto es el período,
la prioridad será mayor; cuanto más largo sea el período, menor será la prioridad.

Lo racional detrás de esta política está asignar una mayor prioridad a las tareas que requieren la CPU más a
menudo. Además, la planificación monotónica por tasa supone que el tiempo de procesamiento de un proceso
periódico es el mismo para cada ráfaga de CPU. Es decir, cada vez un proceso adquiere la CPU, la duración de
su ráfaga de CPU es la misma.

EDF. La planificación de los primeros plazos de entrega (EDF) asigna prioridades dinámicamente de acuerdo
con la fecha límite. Cuanto antes sea la fecha límite, mayor será la prioridad; cuanto más tarde sea el plazo,
menor es la prioridad. Según la política del EDF, cuando un proceso se convierte en ejecutable, debe anunciar
sus requisitos de fecha límite al sistema. Es posible que las Prioridades que deba ajustarse para reflejar la
fecha límite del nuevo proceso ejecutable. Observe cómo esto difiere de la planificación de tasa monotónica,
donde las prioridades son fijas.

También podría gustarte