Documentación Planificación Por Lotería

También podría gustarte

Está en la página 1de 17

FACULTAD DE CIENCIAS

QUIMICAS, FISICAS Y
MATEMATICAS
CCPP INGENIERIA
INFORMATICA Y DE
SISTEMAS
DOCUMENTACION DEL PROYECTO DOCUMENTACION DEL PROYECTO
PLANIFICACION POR LOTERA PLANIFICACION POR LOTERA
Curso : Sistemas de Operaciones I
Docente : Edwin Carrasco Poblete
Alumno : Conza Berrocal Mary Helen !"#$%&E
Cusco & Per'
($
Planificacin de Procesos: Planificacin por lotera
Sistemas de Operaciones I
INTRODUCCION
La planificacin de procesos es un rea de exhaustiva investigacin, su desarrollo
ha llegado a ser muy determinante en cuanto a la flexibilidad y eficiencia de ejecucin
del proceso, los diversos tipos de planificaciones generalmente traen consigo clculos
que suelen entretener al procesador a dedicarse a desarrollar los procesos, esta
doctrina de planificacin puede desarrollar por igual cada uno de los procesos, claro
preocupndose tambin por los procesos que tienen mas tiempo de espera sin ser
ejecutados y hasta por la prioridad.
Vale la pena un mtodo de planificacin que maximia el tiempo de ejecucin del
procesador, y en el cual ninguno de los procesos puede morir de inanicin.
Si bien hacer promesas a los usuarios y despus complicarlas es una idea admirable,
es difcil de implementar. Podemos usar otro algoritmo para obtener resultados igualmente
predecibles con una implementacin mucho ms sencilla. l algoritmo se llama
planificacin por lotera !"aldspurger y "eihl, #$$%&.
'a idea bsica consiste en dar a los procesos boletos de lotera para los di(ersos
recursos del sistema, como el tiempo de )P*: )ada (e+ ,ue se hace necesario tomar una
decisin de planificacin, se escoge al a+ar un boleto de lotera, y el proceso poseedor de
este boleto obtiene el recurso. )uando se aplica a la planificacin del tiempo de )P*, el
sistema podra reali+ar una lotera -. (eces por segundo, concediendo a cada ganador /.ms
de tiempo de )P* como premio.
Parafraseando a 0eorge Or1ell, 2todos los procesos son iguales, pero algunos son
ms iguales ,ue otros3. Podemos dar ms boletos a los procesos ms importantes, a fin de
aumentar sus posibilidades de ganar. Si hay #.. boletos pendientes, y un proceso tiene /. de
ellos, tendr una posibilidad del /.4 de ganar cada lotera. 5 largo pla+o, obtendr cerca del
/.4 del tiempo de )P*. n contraste con los planificadores por prioridad, donde es muy
difcil establecer ,u significa realmente tener una prioridad de %., a,u la regla es clara: un
proceso posee una fraccin f de los boletos obtendr apro6imadamente una f del recurso en
gestin.
'a planificacin por lotera tiene (arias propiedades interesantes. Por e7emplo, si aparece un
proceso nue(o y se le conceden algunos boletos, en la siguiente lotera ya tendr una
probabilidad de ganar ,ue ser proporcional al n8mero de boletos ,ue recibi. n otras
palabras, la planificacin por lotera es de respuesta muy rpida.
Pgina 2 de 17
Planificacin de Procesos: Planificacin por lotera
Sistemas de Operaciones I
MARCO TEORICO
n un sistema de tiempo compartido monoprocesador, se pretende utili+ar un
algoritmo de planificacin e6pulsor conocido como algoritmo de 2la lotera3, cuyo
funcionamiento se describe a continuacin: cuando se crea un proceso se le asigna un
n8mero de papeletas en blanco. Por e7emplo, si hay 9 procesos preparados P#, P/ y P9, ,ue
cuentan respecti(amente con 9, # y - papeletas, estarn ordenados en la cola como P9, P# y
P/. )uando hay ,ue elegir un nue(o proceso a planificar, el sistema reali+a un sorteo
generando un n8mero aleatorio entre # y el n8mero total de papeletas repartidas.
:ras el sorteo, encontraremos al ganador si contamos papeletas desde el principio de
la cola de preparados. Por e7emplo, si sale ganadora la papeleta sptima, el ganador ser el
proceso P#.
l proceso ganador tomar control de la )P* hasta ,ue se blo,uee (oluntariamente o
el sistema le e6pulse por,ue haya consumido una porcin de tiempo preestablecida. l
sorteo se repite siempre ,ue haya ,ue elegir un nue(o proceso a planificar, teniendo en
cuenta ,ue, en cada sorteo, el n8mero de procesos preparados puede ser distinto y por tanto,
el n8mero total de papeletas a considerar tambin.
Proporcionar a los procesos boletos de lotera para los di(ersos recursos del sistema
!tiempo de )P*&. )ada (e+ ,ue sea necesario tomar una decisin de planificacin se escoge
al a+ar un boleto de lotera y el proceso ,ue tiene el boleto obtiene el recurso.
n el caso de tiempo de )P* el sistema puede reali+ar un sorteo -. (eces por segundo,
otorgando al ganador /. ms de tiempo de )P*.
;ebido a ,ue unos procesos son mas importantes ,ue otros, se les da mas boletos para
aumentar sus posibilidades !tendr una probabilidad de /. 4 de ganar tendr cerca del /.4
del tiempo de )P*&
Si un proceso tiene una fraccin de boletos, obtendr una fraccin del recurso en cuestin.
Si aparece un proceso nue(o se le conceden algunos boletos, en la siguiente (uelta ya tendr
la posibilidad de ganar !con una probabilidad proporcional al < de boletos ,ue recibi&.
Pgina 3 de 17
P9 P#
P/
Papeletas
Planificacin de Procesos: Planificacin por lotera
Sistemas de Operaciones I
COOPERACION ENTRE PROCESOS
'os procesos cooperati(os pueden intercambiar boletos si as lo desean
=>P'O:
Si un proceso cliente en(a un mensa7e a un proceso ser(idor y luego se blo,uea, puede
regalarle sus boletos al ser(idor !aumentar sus probabilidades de e7ecucin inmediata&.
*na (e+ ,ue el ser(idor termina de(uel(e los boletos para ,ue el cliente pueda e7ecutarse
otra (e+.
'os procesos cooperati(os pueden intercambiar boletos si as lo desean. Por e7emplo, si un
proceso cliente en(a un mensa7e a un proceso ser(idor y luego ese blo,ue, puede regalarle
todos sus boletos al ser(idor, a fin de incrementar la probabilidad de ,ue el ser(idor se
e7ecute a continuacin. *na (e+ ,ue el ser(idor termina, de(uel(e los boletos para ,ue el
cliente pueda e7ecutarse otra (e+. ;e hecho, en ausencia de clientes los ser(idores no
necesitan boletos.
n esta metodologa de planificacin el usuario es el ,ue ingresa los procesos ,ue es algo
,ue el programa re,uiere necesariamente.
'uego, el microprocesador es otro actor ,ue se encarga de sortear el tic?ets !sin reali+ar
clculos ,ue no pueden ocuparle lo mnimo de tiempo& y, e7ecutar el proceso, ,ue por
contener el tic?et sorteado, es el ,ue pasa a e7ecutar. )laro ,ue mientras se este e7ecutando el
proceso no se puede reali+ar el sorteo, a menos ,ue si hubiera un proceso de entrada@salida,
en ese caso el proceso ,ue se estaba e7ecutando es lle(ado nue(amente a la cola de listos
!pues es e6pulsi(o&.
Pgina 4 de 17
Planificacin de Procesos: Planificacin por lotera
Sistemas de Operaciones I
l sistema es el ,ue asigna las papeletas a los procesos en cada ciclo de relo7 beneficiando a
los ,ue estn ms tiempo sin e7ecutarse y a tambin de acuerdo a la prioridad.
Pgina 5 de 17
Planificacin de Procesos: Planificacin por lotera
Sistemas de Operaciones I

PROCESO DE DESARROLLO
'os modelos presentados a continuacin corresponden al proceso de desarrollo basado en el
traba7o ,ue hace ms de un lustro (ienen reali+ando los 2three amigos3, 0rady Aooch, =ames
Bumbauh e I(ar =acobson, y ha tomado forma en el proceso unificado !*nited Process *P&,
como gua metodolgica y el lengua7e *nificado de >odelado!*nited >odeling
'anguage,*>'&, como notacin para los modelos.
Pgina 6 de 17
Planificacin de Procesos: Planificacin por lotera
Sistemas de Operaciones I
DISEO DE LAS CLASES
Se implementaron dos clases:
'a )lase'ista consta de procesos ,ue el algoritmo proporciona aleatoriamente
ClaseLista:
5tributos:
protected ClaseProceso aProceso;
//Es el primer elemento de la lista
protected ClaseLista aS!Lista;
//Es la lista sin considerar el aProceso
)onstructores:
p!lic ClaseLista"#
//Iniciali$a con los atri!tos en nll
p!lic ClaseLista"ClaseProceso aProceso% ClaseLista aS!Lista#
//Iniciali$a con los par&metros se'alados
)onstructores:
p!lic ClaseProceso"int aIdenti(cador% int aNroPapeletas% int aTInicio% int
aSer)idor% int aPrioridad#
//crea el proceso con esos par&metros in*resados
p!lic ClaseProceso"int aTInicio#
//crea proceso iniciali$ando todo en + e,cepto el Tiempo de
Inicio
>todos y propiedades:
*et - set de cada atri!to;
p!lic !oolean Es.acia"#;
//retorna /tre0 si la lista esta )acia
p!lic )oid Insertar"ClaseProceso Proceso#
//inserta /Proceso0 en la lista
!oolean E,isteElemento"ClaseProceso Proceso#
//retorna /tre0 si e,iste elemento
p!lic )oid Eliminar"int posicion#
Pgina 7 de 17
Planificacin de Procesos: Planificacin por lotera
Sistemas de Operaciones I
//elimina elemento 1e ocpa na determinada /posici2n0
en la lista
p!lic int Lon*itd"#
//retorna el nmero de procesos 1e contiene la lista
p!lic ClaseProceso Iesimo"int i#
//retorna proceso en la posici2n /i0
p!lic int Posicion"ClaseProceso Proceso#
//de)el)e la posici2n del /Proceso0
ClaseProceso:
)onstructores:
p!lic ClaseProceso"int aIdenti(cador% int aNroPapeletas% int aTInicio% int
aSer)idor% int aPrioridad#
//crea el proceso con esos par&metros in*resados
p!lic ClaseProceso"int aTInicio#
//crea proceso iniciali$ando todo en + e,cepto el Tiempo de
Inicio
5tributos:
protected int aIdenti(cador;
//Es el identi(cador del proceso%
protected int aNroPapeletas;
//El n3mero de papeletas del proceso% es el 3nico atri!to 1e
asi*nado por el //sistema% es el 3nico 1e se modi(ca en cada ciclo
de relo4
protected int aTInicio;
//tiempo en el 1e inicio% asi*nado por /time t0
protected int aSer)idor;
//Indica s proceso ser)idor
protected int aPrioridad;
5 //Indica la prioridad de e4ecci2n
protected int aSer);
//Indica el proceso ser)idor 1e an no se in*resa en la cola de
listos% este //atri!to sir)e para retornarlos tic6ets al cliente cando
s ser)idor -a se //e4ect2

>todos y propiedades:
*et - set de cada atri!to
CO:5: :odos los atributos son aleatorios, e6cepto el I; !,ue asume su (alor en
orden secuencial&, y el a:Inicio !,ue toma su (alor del 2time t3&.
Pgina 8 de 17
Planificacin de Procesos: Planificacin por lotera
Sistemas de Operaciones I
DISEO DE LA APLICACI7N
'a aplicacin tendr los siguientes mdulos:
public (oid )rearProceso!&
public (oid ;aPapeletas!&
public )laseProceso Proceso0anador!int ?&
public int ProcesoCormal!&
pri(ate (oid ;e(ol(erPapeletas!)laseProceso Proceso&
Variables Globales:
)omo se ha podido (er hay (ariables ,ue se tienen ,ue actuali+ar con cada ciclo de relo7,
pero otras no, a,u (emos las (ariables ,ue tienen ,ue actuali+arse y ,ue estn en
disposicin para todos los modulos.
int I;D.E
@@Fariable contador, para asignar identificador a cada proceso al rato de crearse
int tiempoD.E
@@Fariable contador de ciclos de relo7, cada ciclo aumenta en #E
int :iempontroProcesadorD.E
@@:iempo en el ,ue el proceso ingresa al estado e7ecutando
int :otalPapeletasD.E
@@Fariable acumulador de tic?et en total, se (a actuali+ndose al crear procesos, al
@@e7ecutar procesos y en cada ciclo de relo7
Bandom 5leatorioDne1 Bandom!&E
@@Para reali+ar todo aleatoriamente como papeleta ganadora, tiempo para crear
@@procesos y tiempo para eliminar procesos por pasar al estado e7ecutando.
)laseProceso ProcesoDne1 )laseProceso!.&E
@@)rea el ob7eto proceso con tiempo inicial .E
)lase'ista 'istaDne1 )lase'ista!&E
@@)rea el ob7eto 'ista con aProcesoDnull y aSub'istaDnullE
Pgina 9 de 17
Planificacin de Procesos: Planificacin por lotera
Sistemas de Operaciones I
INTER8A9
Se puede obser(ar:
Cue(o: s el proceso ,ue se guardar en la cola de 'istos o si esta libre el
procesador (a al procesador directamente.
)ola de listos: s la cola donde esperan los procesos para ser e7ecutados.
:ic?et Sorteado: s el tic?et ,ue e7ecuta el microprocesador.
Proceso 0anador: Proceso poseedor del tic?ets, pasa al microprocesador para e7ecutarse.
Ingrese funcin de ntrada y Salida: Aoton ,ue sir(e para simular un proceso de
entrada@salida, al proceso ,ue esta e7ecutando lo lle(a nue(amente a la
cola de listos.
5 continuacin, se (a a e6plicar los procesos )liente@ser(idor y ntrada@Salida
mediante esta interfa+E
Pgina 10 de 17
Planificacin de Procesos: Planificacin por lotera
Sistemas de Operaciones I
CLIENTE/SERVIDOR
Primero la lista esta (aca, proceso . se est e7ecutando.
Pgina 11 de 17
Planificacin de Procesos: Planificacin por lotera
Sistemas de Operaciones I
Segundo, ingresa a la cola de listos los procesos # y /, obser(ar ,ue ambos no pueden
e7ecutarse por ser clientes !debido la tercera fila&.
Pgina 12 de 17
Planificacin de Procesos: Planificacin por lotera
Sistemas de Operaciones I
:ercero, ingresa el proceso tres la cola de listos, y su ser(idor 9 le presta sus tic?ets a su
ser(idor.
.
Pgina 13 de 17
Planificacin de Procesos: Planificacin por lotera
Sistemas de Operaciones I
'uego, / gana pero es clienteE entonces, se reali+a un nue(o sorteo, en el ,ue gana 9 y es
atendido, al estarse e7ecutando este da permiso para ,ue su cliente se pueda e7ecutar, adems
le de(uel(e sus tic?ets ,ue este le haba prestado para ,ue se e7ecute.
Pgina 14 de 17
Planificacin de Procesos: Planificacin por lotera
Sistemas de Operaciones I
ENTRADA/SALIDA
Para ,ue este proceso se e7ecute se debe presionar el botn ,ue dice 2Ingrese Guncin de
ntrada y salida3
5ntes de ,ue se presione el botn, el proceso 9 se estaba e7ecutando.
Pgina 15 de 17
Planificacin de Procesos: Planificacin por lotera
Sistemas de Operaciones I
;espus de ,ue se presiona el botn, el proceso 9 es e6pulsado y (uel(e a la cola de listos,
para concursar otra (e+ por el sorteo para ser e7ecutado.
Pgina 16 de 17
Planificacin de Procesos: Planificacin por lotera
Sistemas de Operaciones I

RE8ERENCIAS
BIBLIOGRAFA
H#I :5CCA5*J 5.E KSistemas de Operaciones >odernosK. PrenticeLJall. #$$/.
H/I )M' AB*)E 2Piensa en =a(a3. Pearson ducacion.S.5 >adrid /../.
WEBGRAFA
H#I http:@@111.dia.eui.upm.es@asignatu@sisNop#S@6amenes4/.SOI@e6amenes@.9.%de/.doc
H/I http:@@111.ldc.usb.(e@Ospd@;ocencia@sop#.html
H9I http:@@111.planificacionprocesos.usb.(e@Ospd@;ocencia@sop#.html
H%I http:@@111.notasinformaticas@sop#.html
H-I http:@@111.sistemasoperati(ostodos@sop#.html
Pgina 17 de 17

También podría gustarte