You are on page 1of 10

ALGORITMOS SJF

&
PRIORITY SCHEDULING
JOS HUMBERTO GARZA ROSADO

A00808689

JUAN CARLOS OLVERA

A01138028
VICTOR ALAN MORENO
HECTOR SOSA

QU SIGNIFICA SJF?
>SHORTEST JOB FIRST SCHEDULING<
El SJF es un algoritmo que se asocia con los tamaos de los
procesos del siguiente CPU BURST
CPU BURST es la cantidad de tiempo que un proceso
hace uso del CPU en un solo acto, ya que un mismo
proceso puede tener ms de un CPU BURST.
Cuando el CPU esta libre es asignado al que tiene el siguiente
CPU BURST mas pequeo
Si hay un empate se utiliza el scheduling First Come, First
Served para desempatar
La verdadera dificultad con este algoritmo es saber el
tamao/duracin del siguiente CPU request.

CPU BURST
Menor

SJF
>LONG-TERM SCHEDULING Y OPTIMIZACIN<
Long-term (job) scheduling
En un batch system
Se puede utilizar como tamao/duracin el time limit que el usuario especifica
cuando el manda el trabajo (job)

Para que el algoritmo sea optimo:


No se puede implementar a un nivel de Short-Term CPU scheduling
No habra manera de saber el tamao/duracin del siguiente CPU BURST pero se
predice como un promedio exponencial de las mtricas de CPU BURSTs
anteriores
Pn+1 = a tn +(1-a)Pn
Donde Pn+1 = Valor/duracion del siguiente CPU burst
0<=a>=1
Pn = Valor/duracion del n'esimo CPU burst

PREEMPTIVE VS NO PREEMPTIVE
Preemptive:
Se puede anticipar al proceso en ejecucin

Algoritmo es llamado shortest-remaining-time-first-scheduling

No Preemptive

ste permitir que el proceso termine su CPU burst

EJEMPLO SJF
Process

Burst time

P1

P2

13

P3

P4

P5

11

P6

P6
0

P3
1

P1
4

P4
11

Average =

P5
19

4+30+1+11+19+0
=
6

Waiting time

P1

P2

30

P3

P4

11

P5

19

P6

P2
30

10.83 ms

Process

43

EJEMPLO SJF PREEMPTIVE


Process

Burst
time

Arrival
time

P1

7-5

P2

13

P3

P4

P5

11

P6

P1

P3

P6

5 6

P1

P4

11

Average =

Process

Waiting time

P1

0+4

P2

29

P3

P4

P5

15

P6

P5

19

4+29+0+8+15+0
6

P2

30

=9.3 ms

43

ALGORITMO DE PRIORITY SCHEDULING


Cada proceso es asociado con su prioridad y el CPU es ocupado por el proceso
de mayor prioridad.

La prioridad varia segn el caso del proceso.


Las prioridades son indicadas en la maquina por medio de nmeros que van
dentro del rango de 0 a 7 o 0 a 4095.

Las prioridades pueden ser definidas como internas o externas.


Internas: Se usan medidas numricas, para mecanizar la prioridad del
proceso. Como lmite de tiempo, requerimientos de memoria, cantidad de
archivos abiertos, etc.
Externas: Se definen por criterio externo al sistema operativo, como la
importancia del proceso, el tipo y los recursos que puede proveer el
computador

ALGORITMO DE PRIORITY SCHEDULING


Puede ser preventiva o no preventiva.
Preventiva: prev al CPU en caso de que el proceso que llegue
sea de mayor prioridad, que el proceso que se encuentra en
ejecucin.
No preventiva: Solo pondra el siguiente proceso en cola.

Puede dejar procesos de muy baja calidad en espera por un tiempo


indefinido.
Se puede solucionar el bloqueo de procesos con ayuda de la
tcnica aging.

EJEMPLO PRIORITY 0 HIGHEST

P4

Process

Burst
time

Priority

Waiting
Time

P1

P2

18

P3

P4

P5

12

P6

P6

P1

P3

Average waiting time =

P5

12

3+18+5+0+12+1
6

P2

18

=6.5 ms

21

EJEMPLO PRIORITY 0 LOWEST


Process

Burst
time

Priority

Waiting
Time

P1

16

P2

P3

P4

20

P5

P6

18

P2

P5

P3

Average waiting time =

P1

16

16+0+9+20+3+18
6

P6

18

=11.0 ms

P4

20 21