Algoritmo SJF

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(#