Planificacion Flashcards

(15 cards)

1
Q

Que es el planificador?

A

Es el modulo del SO que mueve los procesos entre las distintas colas de planificación eligiendo un proceso de entre los que están en memoria listos para ejecutarse y asignándole la CPU.
Toma la decisión de planificación:
- Cuando un proceso deja la CPU voluntariamente: termino, hizo syscall y se bloquea
esperandola, liberó la cpu con yield()
- Cuando un proceso bloqueado entra a la cola de READY.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Expropiativo

A

Útil en sistemas críticos. Más overhead
Más justo dado que no monopoliza la CPU: Un mismo proceso (muy largo) monopoliza el uso de la CPU. Impidiendo que el resto la use.
Se replanifica cuando:
1. Un proceso finaliza
2. Un proceso se bloquea
3. Hay una interrupción de clock, cuando se implementa un quantum.
4. Hay un proceso nuevo en la cola de READY (porque estaba en NEW o bien en BLOCKED)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

No expropiativo

A

Es útil para sistemas no críticos donde no se tengan procesos que necesiten estar ejecutando sí o sí. Sistemas donde se quiera minimizar el overhead producto de hacer cambios de procesos.
Puede llegar a causar starvation (inanición de procesos): Varios procesos cortos y el largo se
pospone indefinidamente. El problema es que siempre que se quiere replanificar, no se elige, dado que se eligen a procesos de mayor prioridad volviéndose constante la situación.
Se replanifica cuando:
1. Un proceso finaliza
2. Un proceso se bloquea

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Quien ejecuta las decisiones del planificador?

A

El Dispatcher es el módulo que cede la CPU al proceso elegido por el planificador de CPU.
Para eso tiene que:
- Realizar un cambio de contexto.
- Cambiar la maquina a modo usuario (el dispatcher actúa en modo kernel)
- Saltar al punto apropiado del programa para continuar con su ejecución.
La latencia del dispatcher es el tiempo en que este tarda en deterner un proceso y poner otro en ejecución. Debe ser lo más pequeña posible dado que es overhead.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

FIFO

A

Overhead: Minimo, por ser el mas basico/sencillo.
Monopolizacion: SI. Propenso
Starvation: NO
Que proceso prioriza: Ninguno. Orden de llegada
Equitativo: NO. El tiempo de espera medio puede ser muy alto, poco predecible.
Desalojo: NO. Monopolizacion.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

SJF

A

Overhead: Alto (mayor todavia con desalojo)
Monopolizacion: Rara. Podria pasar salvo que sea con desalojo.
Starvation: Si. Los procesos largos pueden tener starvation si es que llegan mcuhos procesos cortos.
Que proceso prioriza: I/O Bound
Equitativo: No
Desalojo: NO. Monopolizacion

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Prioridades

A

Overhead: Moderado
Monopolizacion: Propenso aunque con desalojo prodria reducrise la probabilidad
Starvation: Si. Los procesos con baja prioridad podria no ejecutarse nunca.
Que proceso prioriza: Segun numero entero predefinido.
Equitativo: No
Desalojo: Si

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

HRRN

A

Overhead: Alto
Monopolizacion: Rara vez podria pasar.
Starvation: No. Gracias al aging (tecnica que consiste en aumentar gradualmente la prioridad de los procesos que esperan mucho en el sistema)
Que proceso prioriza: Segun el Response Ratio. A mayor espera segun tama;o de su rafaga, mayor prioridad tendra el proceso.
Equitativo: Si
Desalojo: No - Monopolizacion

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

RR

A

Overhead: Depende de Q (menor valor de Q, mas interrupciones, mas overhead) Peor menos que FIFO.
Monopolizacion: La evita, siempre y cuando Q no sea muy grande (si no FIFO)
Starvation: NO
Que proceso prioriza: CPU Bound, ligeramente perjudica a los procesos I/O bound ya que se bloquean rapidamente.
Equitativo: Si
Desalojo: Si

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

VRR

A

Overhead: Mas que RR, por las dos colas.
Monopolizacion: Como RR
Starvation: NO
Que proceso prioriza: I/O bound pero menos que SJF
Equitativo: Si. Mas que RR y mas que FIFO. Limita el uso del procesador.
Desalojo: Si

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Prioridad Eventos en la cola de READY

A
  1. Interrupción de clock por fin de quantum → proceso que pasó de RUNNING a READY.
  2. Interrupción por finalización de evento o fin de E/S → proceso que pasó de BLOCKED a READY.
  3. Syscall por tener un proceso nuevo → proceso recién llegado a READY proveniente de NEW.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Cuando hay syscalls?

A
  • Hay una SYSCALL cuando un proceso nuevo llega a READY proveniente de NEW.
  • Hay una SYSCALL cuando un proceso finaliza (llega a EXIT).
  • Hay una SYSCALL justo antes de cada ráfaga de E/S.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Cuando hay interrupciones?

A
  • Hay una INTERRUPCIÓN de clock en cada fin de quantum.
  • Hay una INTERRUPCIÓN generada por un dispositivo de E/S en cada fin de ráfaga de E/S.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Quien planifica el KLT y el ULT

A

KLT: Planificador corto plazo
ULT: Bibliotecas de hilos ULT. Si no hasta que no termine el ULT que empezo a ejecutar no puedo usar el otro a la par.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

info para ejercicios

A

Si los I/O pasan por la biblioteca de hilos o utilizan wrappers, se puede replanificar: a la hora de terminar el I/O de un ULT, poder seguir con otro ULT hermano en vez de finalizar con el que empezamos.

Si es directamente por syscall, no puede replanificar, hasta que no termine en su totalidad el ULT, no pueden empezar ULTs hermanos.

Si no aclara, se asumen que utilizan Wrappers y Sin Jacketing.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly