You are on page 1of 5

ESCUELA SUPERIOR POLITÁCNICA DE CHIMBORAZO

FACULTAD DE INFORMÁTICA Y ELECTRÓNICA

ESCUELA DE INGENIERÍA ELECTRÓNICA

INGENIERÍA ELECTRÓNICA, TELECOMUNICACIONES Y


REDES

FUNDAMENTOS DE SISTEMAS OPERATIVOS

ALGORITMOS DE PLANIFICACIÓN

“ALGORITMO SHORTEST-JOB-FIRST (SJF)”

DOCENTE: Ing. Katy Cabezas

INTEGRANTES:

Cevallos Sánchez Liseth

Parreño Alexandra

Quishpe Yambay Génova

Santamaría Evelyn

RIOBAMBA
2010 – 2011
INDICE

1. Introducción……………………………………………………………………000

2. Modelo del Sistema

2.1. Ciclo de Ráfagas de CPU y E/S………………………………………….000

2.2. Planificación Expropiada………………………………………………….000

3. Algoritmos de Planificación……………………………………………………000

4. Algoritmo Shortest-Job-First (SJF)

4.1. Definición……………………………………………………………………000

4.2. Ejemplos…………………………………………………………………….000

4.3. Dificultades………………………………………………………………....000

5. Conclusiones……………………………………………………………………000

6. Bibliografía y Webgrafía………………………………………………………..000
1 Introducción

El objetivo de la multiprogramación es tener un proceso en ejecución en todo momento


para un mayor aprovechamiento de la CPU.

En un sistema monoprocesador nunca habrá más de un proceso en ejecución. Si hay


más procesos, tendrán que esperar a que la CPU quede libre para reasignarse.

Para un mayor aprovechamiento, se mantiene varios procesos en memoria a la vez.


Cuando un proceso necesita esperar, el sistema operativo le asigna e procesador a
otro proceso.

Casi todos los recursos del computador se planifican antes de usarse, la planificación
es fundamental en el diseño del SO.

2 Modelo del Sistema


2.1 Ciclo de Ráfagas de CPU y E/S

La ejecución de un proceso consiste en un ciclo de ejecución alternado de


manera sucesiva:

 Ráfagas de CPU: (Que inicia el proceso), durante las cuales el proceso


ejecuta instrucciones.
 Ráfagas de E/S: Durante las cuales el proceso utiliza o espera por la E/S.

Las ráfagas del CPU varia considerablemente de un proceso a otro y de un


procesador a otro, sin embargo tienden a tener una curva de frecuencia bien
tipificada.

Histograma de tiempos de ráfaga de CPU

Se observa:

- Gran número de ráfagas de CPU cortas y pocas ráfagas de CPU largas.


- Ráfagas de CPU cortas: programas limitados por E/S.
- Ráfagas de CPU largas: programas limitados por CPU.
2.2 Planificación Expropiada

Las decisiones de planificación de CPU se toman según las cuatro situaciones


siguientes:

a) Cuando un proceso pasa del estado en ejecución a en espera


b) Cuando un proceso pasa del estado en ejecución a listo.
c) Cuando un proceso pasa del estado en espera al estado listo.
d) Cuando un proceso termina.

Los procesos a y d corresponden a una planificación no expropiada


(obligatoriamente se escoge un proceso)

Los casos b y c corresponden a una planificación expropiada.

3 Algoritmos de Planificación

Cuando más de un proceso es ejecutable desde el punto de vista lógico, el


sistema operativo debe decidir cuál de ellos debe ejecutarse en primer término. El
planificador es la porción del sistema operativo que decide y el algoritmo de
planificación es el utilizado.

Existen dos categorías:

Apropiativos

El Sistema Operativo puede expulsar del procesador un proceso en ejecución


(línea punteada.)

No Apropiativos

Estos procesos, no pueden ser expulsados por el Sistema Operativo.


4 Algoritmo Shortest-Job-First (SJF)

El algoritmo de primero el trabajo más corto (SJF, shortest job frist), que asocia a
cada proceso la longitud de la siguiente ráfaga de CPU de ese proceso. Cuando la
CPU queda disponible, asigna al proceso cuya siguiente ráfaga de CPU sea más
corta. Si hay dos procesos cuyas siguientes ráfagas de CPU tienen la misma
duración, se emplea planificación FCFS (first come, first served) para romper el
empate. El problema está en conocer dichos valores, pero podemos predecirlos
usando la información de los ciclos anteriores ejecutados.
Se puede comprobar que el algoritmo SJF es óptimo, ya que ofrece el mínimo
tiempo promedio de espera para un conjunto de procesos dado. La comprobación
muestra que poniendo un proceso breve antes de uno largo se reduce el tiempo
de espera del proceso corto más de lo que aumenta el tiempo de espera del
proceso largo, por lo tanto se reduce el tiempo de espera promedio.

La ventaja de este algoritmo es su fácil implementación, sin embargo, no es válido


para entornos interactivos ya que un proceso de mucho cálculo de CPU hace
aumentar el tiempo de espera de los demás procesos . Para implementar el
algoritmo sólo se necesita mantener una cola con los procesos listos ordenada por
tiempo de llegada. Cuando un proceso pasa de bloqueado a listo se sitúa el último
de la cola.

5 Conclusiones

6 Bibliografía y Webgrafía

You might also like