Está en la página 1de 28

Universidad

Tecnológica
Del Perú

Ingeniería de Sistemas e Informática


Ingeniería de Sistemas e Informática
SISTEMAS OPERATIVOS

Mg. Roberto Celis Osores


Recordando la sesión anterior

1. ¿Cuál es la diferencia entre un proceso y un programa?


2. ¿Qué es PID y que es PPID?
3. ¿Cuáles son los estados de un proceso?
4. Menciona tres campos del Bloque de Control del Proceso (PCB)
SESION N° 4 – Planificación de procesos
Conocimientos previos

❖ ¿Qué entienden por planificar?


❖ ¿Qué entienden por algoritmo de
planificación
Logro de aprendizaje

Al finalizar la sesión, el estudiante verificará


la forma de operar de los algoritmos de
planificación mediante la aplicación de
ejercicios prácticos.
Utilidad

Conocer como se
ejecutan los
procesos de la CPU
Contenido de la sesión:
1. Planificación de procesos.
2. Algoritmos de planificación de procesos.
3. Práctica de Algoritmos.
4. Práctica grupal - comandos
1. Planificación de procesos – Conceptos básicos

✓ Un planificador es un módulo del S.O. que selecciona el siguiente trabajo a admitir en el sistema
y el siguiente proceso que tomará el control sobre el procesador.
✓ El objetivo primario de la planificación es optimizar el rendimiento del sistema de acuerdo con
los criterios considerados más importantes por los diseñadores del mismo.
✓ Gobiernan el orden en que se ejecutan los trabajos en el SO
1. Planificación de procesos – Conceptos básicos

✓ El procesador, también conocido como CPU, es la parte de la PC que lleva a cabo los
cálculos y ejecuta los programas.
✓ La multiprogramación permite tener a un proceso en ejecución en todo momento para
maximizar el uso del CPU.
✓ Los procesos se alternan entre ejecución en el CPU (ciclo de CPU) y espera, usualmente
por algún dispositivo de E/S.
1. Planificación de procesos – Ciclo de ráfaga y de e/s

✓ Considerando, un número de programas residentes


en memoria, y el CPU cambiando entre estos
programas tal que cuando uno de ellos está
esperando por E/S, otro puede ser ejecutado.

✓ La diferencia entre ambos conceptos:

1. Ráfagas de CPU: es el ciclo en donde se realizan las


instrucciones del proceso.
2. Ráfagas de E/S: es el ciclo en donde se utilizan o esperan
los dispositivos de Entrada y Salida
1. Planificación de procesos
✓ Siempre que el CPU queda inactivo, el SO debe de seleccionar a uno de los procesos de la
cola de listos, para su ejecución.
✓ El proceso de selección del siguiente proceso a ser ejecutado es llevado a cabo por el
planificador de corto plazo (o Planificador de CPU)
✓ La estrategia de selección del siguiente proceso en la cola de listos, puede ser primero
que entra primero que sale (FIFO), por prioridades, lista desordenada u otros.
1. Planificación de procesos
✓ El cambio del CPU entre los programas implica la toma de decisiones acerca de cual
proceso ejecutar a continuación de una lista de procesos en estado listo.
✓ Esta decisión implica el uso de un planificador (scheduler).
✓ El algoritmo usado para decidir se denomina algoritmo de planificación.
✓ Hay que tomar en cuenta que la labor de cambio de proceso del planificador también
cuesta tiempo o cuesta uso del CPU.
1. Planificación de procesos

Los criterios para la planificación son los siguientes:

✓ Maximizar el uso de la CPU: Mantener la CPU ocupada el mayor tiempo posible.


✓ Maximizar el rendimiento: el número de procesos que se ejecutan por unidad
de tiempo.
✓ Minimizar el tiempo de retorno: es el tiempo transcurrido desde que el proceso
ingresa hasta que termina.
✓ Minimizar el tiempo de espera: que es el tiempo que el proceso está en la cola
de listos, pero no ejecutándose.
✓ Minimizar el tiempo de respuesta: es el tiempo transcurrido desde que se
presenta una solicitud hasta que se tiene una respuesta.
2. Algoritmos de planificación de Procesos

Algoritmos de planificación:

✓ Tratan sobre la decisión de elegir a cual de los procesos que están en cola de listos, se le
asignará la CPU.
✓ Cada sistema tiene sus propios criterios.
2. Algoritmos de planificación de Procesos

Los supuestos básicos por detrás de la mayoría de los algoritmos de planificación son:

✓ Hay un grupo de procesos ejecutables que compiten por la CPU.


✓ Los procesos son independientes y compiten por los recursos.
✓ El trabajo del planificador es el de distribuir el preciado recurso de la CPU a los
diferentes procesos de manera justa y de una manera que optimice algún
criterio de rendimiento.
2. Algoritmos de planificación de Procesos: FCFS (First-
Come, First-Serve)

✓ “Primero en llegar, primero en ser atendido”


✓ Se organiza mediante una cola FIFO (First In, First Out).
✓ El esquema más simple de planificación .
✓ Es una estructura de cola en la que los procesos se ejecutan según entran en ella.
✓ Cada proceso se ejecuta en orden de llegada, el tiempo promedio de espera puede
ser largo, lo que lo hace no muy eficiente.
2. Algoritmos de planificación de Procesos: FCFS (First-
Come, First-Serve)
2. Algoritmos de planificación de Procesos: FCFS (First-
Come, First-Serve)

Se observa que el tiempo de


espera promedio puede
experimentar variaciones
significativas (varianza)
dependiendo de los ciclos de
CPU de los procesos
2. Algoritmos de planificación de Procesos: SJF
(Shortest Job First)
✓ “Primero el trabajo más corto”
✓ Algoritmo no expulsivo, elige entre los procesos que están en cola de listos, a aquel que
tiene el tiempo de procesamiento más corto.
✓ Esquema No apropiativo: Un proceso ejecutándose en el CPU, no puede ser retirado hasta
que el mismo lo decida.

Intenta reparar el problema de FCFS pero, en este caso, los procesos largos se ven desfavorecidos y pueden
retrasarse en su ejecución continuamente.
2. Algoritmos de planificación de Procesos: SJF
(Shortest Job First)
SRTF – Shortest-Remaining-Time-First – Primero el que tenga el tiempo de ejecución remanente más
corto
Es una versión Apropiativa de SJF, donde se tiene en cuenta también los procesos de la cola.
En el caso de que existan procesos en cola más cortos, se expropia el proceso en ejecución y se
ejecutaría el de la cola.
2. Algoritmos de planificación de Procesos: SJF
(Shortest Job First)
2. Algoritmos de planificación de Procesos: Por
prioridad
✓ Una Prioridad está asociada a cada proceso.
✓ El CPU es asignado al proceso con la prioridad más alta.
✓ Puede ser Apropiativa y No Apropiativa.
✓ Un problema con este algoritmo es la inanición. Procesos con baja prioridad pueden no
ser ejecutadas nunca.
✓ Cuando existen procesos con la misma prioridad en la cola de procesos listos, se aplica
FCFS.
2. Algoritmos de planificación por Procesos: Por
prioridad
3. Práctica Algoritmos
1. Elaborar el diagrama de Gantt
2. Encontrar el tiempo de espera y tiempo de entrega por cada proceso.
3. Encontrar el tiempo de espera promedio y tiempo de entrega promedio por cada proceso.
3. Práctica Algoritmos
1. Elaborar el diagrama de Gantt
2. Encontrar el tiempo de espera y tiempo de entrega por cada proceso.
3. Encontrar el tiempo de espera promedio y tiempo de entrega promedio por cada proceso.
3. Práctica Algoritmos
1. Elaborar el diagrama de Gantt
2. Encontrar el tiempo de espera y tiempo de entrega por cada proceso.
3. Encontrar el tiempo de espera promedio y tiempo de entrega promedio por cada proceso.
4. Práctica Grupal - Comandos

1. Ingresar de forma remota al servidor instalado en sus pc´s, con


el programa putty.
2. Ejecutar y explicar los comando aprendidos en la sesión 3: ps
ax , top, kill, vmsat. Complementar uso de comandos.
Resumen de la sesión

1. ¿En qué se diferencia un algoritmo de esquema apropiativo de uno


no apropiativo?
2. ¿Qué es un algoritmo de planificación?

También podría gustarte