Sie sind auf Seite 1von 19

Instituto Tecnológico de sonora

Calendarización,
Planificación y
Procesos
Sistemas Operativos

Equipo 2
Julio Cesar Beltrán Corrales 00000133206
Jorge Eduardo Castaños Mayorquín 00000133407
CALENDARIZACIÓN
Calendarización
 Los calendarizad ores optimizan la eficiencia
del sistema de acuerdo con criterios
considerados importantes para la
determinación o asignación de tiempos de
ejecución entre los procesos y subprocesos
en el sistema.
Calendarización por
prioridad
 Se asigna al proceso que tiene la prioridad más alta.
Generalmente se habla en términos de prioridad alta y
baja.

 Se utiliza en general un esquema expropiador.

 Algunos sistemas operativos emplean números bajos para


prioridades baja y en otros indica una prioridad alta.
Calendarización con colas de
múltiples niveles
 Se clasifican a los procesos en diferentes grupos, de
acuerdo a sus cualidades.

 Cada cola tiene su propio algoritmo de planificación.

 Se debe contar con una estrategia de planificación


entre las diferentes colas.

FIFO Primer plano CPU

SJF Segundo plano CPU


Calendarización garantizada
 Enfocado a sistemas multiusuario.
 Realizar una promesa al usuario acerca del
desempeño y después dejarle el resto a él.

 Por ejemplo:
◦ Si existen “n” usuarios conectados mientras uno está
trabajando, a este se le otorgará el 1/n de la potencia del
CPU.
◦ En sistemas de un solo usuario, si hay “n” procesos, cada
uno tendrá 1/n de los ciclos del CPU.
◦ Para hacer lo anterior, el sistema debe llevar un historial
de cuanto CPU cada proceso ha tenido desde su creación.
PLANIFICACIÓN
Planificación
 Cuando tenemos más de un proceso en
condiciones de ejecutar, debemos escoger uno
de entre ellos.
 Para escogerlo empleamos un algoritmo de
planificación.
 Estos algoritmos pueden usar prioridades. En
este caso a cada proceso se le asigna una
prioridad y los procesos de mayor prioridad
tendrán preferencia sobre los de menos.
FIFO (First In, First Out)
 Podemos decir que no es expropiativo y no
emplea prioridades. Es un algoritmo muy sencillo
de implementar ya que el primer proceso en
llegar a la “cola de listos” es el primero a pasar a
ser atendido por el procesador.

10 9 8 7 6 5 4 3 2 1

10 9 8 7 6 5 4 3 2 1
Round Robin (Rondas-
Turnos)
 Se reparte el tiempo de CPU en quantums o
rodajas.
 El funcionamiento es dar una rodaja a cada
proceso de forma secuencial. La selección de
entre los procesos activos se gestiona según una
cola FIFO o lo que es lo mismo se elije el que más
tiempo lleve esperando.
SJF (Short Job First)
 Procesos más corto se procesa primero.
 En este caso se seleccionará el proceso que
requiera menor tiempo de ejecución (si dos
tienen el mismo tiempo se decide por FIFO).
 El problema puede aparecer con procesos muy
largos que están siempre bloqueados por
procesos más cortos.
PROCESOS
Descripción de Proceso
 ¿Qué es?
 Puede informalmente entenderse como un

programa en ejecución. Formalmente un


proceso es una unidad de actividad que se
caracteriza por la ejecución de una
secuencia de instrucciones, un estado
actual, y un conjunto de recursos del
sistema asociados.
Descripción de Proceso
 Cada proceso tiene su contador de programa,
registros y variables, aislados de otros
procesos, incluso siendo el mismo programa
en ejecución 2 veces.
Tipos de Procesos
 Existen dos tipos de procesos, aquellos que se
ejecutan en modo kernel y aquellos que se ejecutan
en modo usuario. Los primeros son más lentos por
las llamadas al sistema que realizan, sin embargo,
son más seguros por la integridad que representan.
 Podría pensarse en otra clasificación, como son los
procesos en primer plano y procesos en segundo
plano. Los primeros interactúan con el usuario, es
decir, el usuario proporciona los datos que el proceso
utilizará. Los segundos, son creados para tareas bien
definidas y no necesitan la intervención del usuario
Descripción de un programa
¿Qué es?
Es una secuencia de instrucciones, escritas para
realizar una tarea específica en una computadora.
Este dispositivo requiere programas para funcionar,
por lo general ejecutando las instrucciones del
programa en un procesador central. El programa
tiene un formato ejecutable que la computadora
puede utilizar directamente para ejecutar las
instrucciones.
Diferencia y similitudes de programas y procesos.

 Es como si comparáramos lo que es una galleta y la


receta para hacer galletas. Por lo tanto un
programa es un montón de datos y es algo que no
está vivo. Pero al contrario un proceso es algo vivo
que esta siempre ejecutando, y este tiene un
conjunto de registros que está usando, tiene un
contador de programa que indica la siguiente
instrucción que debe ejecutar y tiene una pila. En
mi opinión su semejanza seria que uno depende
del otro, para que el programa funcione requiere
de una serie de procesos, porque el proceso es lo
que le da vida.
Planificación en Linux
 Los procesos de Linux son preemptive, sin
embargo el kernel es non-preemptive
 Linux utiliza un algoritmo simple de
planificación basado en prioridades
dinámicas.
 Linux cuenta con dos tipos de prioridades:

normal y real-time
 Linux Kernel 2.4 soporta con eficiencia

sistemas multiprocesadores
Planificación Windows
 El algoritmo es de colas de multinivel con
realimentación. Cada prioridad tiene
asociada una cola con planificación RR.
 Prioridades 0-15 variables, 16-31 fijas

(tiempo real)
 A los hilos que agotan su quantum se les

reduce la prioridad. Cuando un hilo pasa de


suspendió a listo se aumenta su prioridad.

Das könnte Ihnen auch gefallen