Upload
nilas-arcanister
View
220
Download
0
Embed Size (px)
Citation preview
7/25/2019 Algoritmo SJF
1/3
(****************************)
ESPECIFICACION
ENTRADA: SECUENCIA DEBCP, SECUENCIA DEINTERRUPCION
SALIDA: SECUENCIA DEENTERO(*para denotar el orden de ejecuci
PRECONDICION:
FUNCION: S!or"te"t#o$%ir"t(AP: SECUENCIA, I: SECUENCIA)
POSTCONDICION:
(**********&eclaracion de tipo"********)
PSEUDOCODIGOA'ORITOS#%
TIPO
REGISTROBCP
idProce"o: ENTERO
no+$reProce"o: CADENA
tie+po'leada: ENTERO
tie+po&uracion: ENTERO
tie+poInicioEjecucion: ENTERO
+e+oriaBa"e : ENTERO
+e+oria'i+ite: ENTERO
puntoParali-ado: ENTERO
tie+poE"peraActual: ENTERO
tie+poE"peraTotal: ENTERO
FINREGISTRO
REGISTROTIPOINTERRUPCION
idInterrupcion: ENTERO
no+$reInterrupcion: CADENA
REGISTROINTERRUPCION
idInterrupcion: ENTERO
tie+po'leada: ENTERO
duracion: ENTERO
FINREGISTRO
(*********.aria$le" lo$ale""*********)
VAR
Ta$laProce"o": VECTORDEPCB
N: ENTERO(*ta+ano de la ta$la de proce"o"*)
FUNCIONPRINCIPA'
VARRESP: BOOLEANO
Re"pue"ta: CARACTER
(*Iniciali-a la" tipo" de interrupcione" ad+itido"*)
llenarInterrupcione"()
MIENTRAS(RESP) 'eerProce"o"()/ 'eerInterrupcione"()/
7/25/2019 Algoritmo SJF
2/3
S!orte"t#o$%ir"t()/ +o"trarRe"ultado"()/
(*podrha$er un +en de opcione" para arear+a" proce"o", e interrupcione", 0 la opcilan1i2icarde nue3o "eria una +a" de la l"ita*)
ESCRIBIR(4&e"ea plani2icar de nue3o5 S6N4)
LEER
(Re"pue"ta) SI(Re"pue"ta 7 S )
RESP 7 VERDADERO
SINO RESP 7 FALSO
FINMIENTRASFINPRINCIPA'
FUNCIONS!or"te"t#o$%ir"t (proce"o": VECTORDEPROCESO, interrupcione":
VECTORDEINTERRUPCION) (*A8TIE e" la "u+a de todo" lo" tie+po" de ejecucide proce"o" einterrupcione"*)
VAR
A8TIE : ENTERO
INICIOA8TIE 7 CA'CU'ARSTE() (*Calcula la "u+a de tie+po" de ejecucion*)
PARAI 7 1HASTAA8TIE HACER
INICIO(*.eri2ica el e"tado de la" e"tructura"*)IN&ICEPROCESONUE.O 7 ''EOUNPROCESO(I) (*i2 el i e" iual al proce"o9
tie+po de lleada*) IN&ICETERINA&O 7 TERINOUNPROCESO(I) (*i2 el i e" iual al proce"o9tie+po de "alida*) IN&ICEINTERRUPCION 7 A;INTERRUPCION(I) (*$u"ca "i coincide el punto delleada de la interrupcion con el i*)
SI(IN&ICEPROCESONUE.O ?) ENTONCES
ENCO'AREN'ISTOS (IN&ICEPROCESO)
(*'a cola contendrun + do @ue reordena cuando aluien entra*)
FINSI
(*Si el proce"o !a 2inali-ado ("i no !a0 ninuno de3uel3e >? ta+$ien)*)
(*SI (IN&ICETERINA&O 7 >? ; IN&ICEINTERRUPCION ?) ENTONCES PE#ECUCION 7 P'ANI%ICAR()/ %IN SI*)
(* "i no !a0 interrupcion*)
SI(IN&ICEINTERRUPCION ?)
PROCESOSIN&ICEPE#ECUCION9TIEPOESPERATOTA' 7INTERRUPCIONESI9&URACION PROCESOSIN&ICEPE#ECUCION9TIEPOESPERAACTUA' 7INTERRUPCIONESI9&URACION PROCESOSIN&ICEPE#ECUCION9%A'TA E#ECUTAR 7PROCESOSIN&ICEPE#ECUCION9TInicioEjecucion PROCESOSIN&ICEPE#ECUCION9duraci"pan= > I
ENCO'ARENESPERA(IN&ICEPE#ECUCION) PEjecucion 7 P'ANI%ICAR(I) (* El + do de$e $u"car en la cola de li"to" el +a" corto
7/25/2019 Algoritmo SJF
3/3
; en la cola de e"pera de$e 3eri2icar "i aluno 0a ter+ino (ptoParali-ado tie+poE"peraActual 7 I)
"i 0a ter+ino entonce" el partro de +edicii e" el +a" corto
"er 2alta ejecutar) *)
FINSI
FINPARAFINS!or"te"t#o$%ir"t
FUNCIONP'ANI%ICAR(I: ENTERO) DEVENTERO
VAR
ENOR', ENORS: ENTERO
INICIO
ENOR' 7 POSICION(CO'A'ISTOS, ?) (*'A CIA*) ENORS 7 ENOR%A'TAE#ECUCION ()
SI(ENOR'=ENORS) ENTONCES
IN&ICEPE#ECUTAR 7 ENOR'
SINO IN&ICEPE#ECUTAR 7 ENORS
FINSI
RETORNAR IN&ICEPE#ECUTAR
FINP'ANI%ICAR
FUNCIONENOR%altaejecucion (I: ENTERO) DEVENTERO
VAR
ENOR: ENTERO P: BCP
#: ENTERO
INICIO
ENOR 7 CO'AESPEROD9%A'TAE#ECUCION
MIENTRAS(#