tp1_2016

Share Embed Donate


Short Description

DSO...

Description

 DISEÑO DE SISTEMAS OPERATIVOS  TRABAJO PRACTICO REVISION CONTENIDOS   SINCRONIZACION DE PROCESOS 

1) Secuenciadores Secuenciadores Cuando varios eventos ocurren al mismo tiempo resulta útil establecer un orden. Un secuenciador (S) es (S) es una variable no decreciente que inicialmente es 0. Solo se puede tener acceso a ella por medio de una operación Turno(S) la cual devuelve un único valor entero no negativo. Utilice un secuenciador (S) y (S) y la operación Turno(S) para para pone ponerr en prác práctic tica a una una vers versió ión n del del sist sistem ema a de buff buffer er circ circul ular ar (pro (produ duct ctor or-consumidor con múltiples productores. Cada productor deberá tomar un turno y esperar a que terminen los productores con un turno anterior! en ese momento el productor podrá insertar su información en el buffer circular. 2) Semáforos "n la fábr fábric ica a de bicic icicle leta tas s #ounta untain in $i% $i%e! ten tenemo emos tre tres opera perarrios ios que que denominaremos &'! &') y &'*. &' monta ruedas! &') monta el cuadro de las bicicletas! y &'*! el manillar. Un cuarto operario! el #ontador! se encarga de tomar  dos ruedas! un cuadro y un manillar! y monta la bicicleta. Sincroni+ar las acciones de los tres operarios y el #ontador en los siguientes casos, a os os oper operar ario ios s no tien tienen en ning ningún ún espa espaci cio o para para alma almace cena narr los los comp compon onen ente tes s producidos! y el #ontador no podrá tomar ninguna pie+a si esta no a sido fabricada previamente por el correspondiente operario. b os operarios &') y &'* sólo tienen espacio para almacenar 0 pie+as de las que producen! por tanto! deben esperar si abiendo producido 0 pie+as no es retirada ninguna por el #ontador. "l operador &' tiene espacio para )0 pie+as. 3) Enq/Deq /os primitivas de sincroni+ación "nq/eq se definen de la siguiente manera (r es un recurso! (p es un proceso cola es una cola tipo 121& de procesos que esperan el recurso r y Usado( Usado(r r es una una varia variable ble boolea booleana na.. 2mplem 2mplement entar ar enqde enqdeq q usand usando o semáfo semáforos ros..  3segurar que se implemente el orden impl4cito para la reactivación del proceso. Usar  la estructura de datos que consideren conveniente. 5 fundamentar el porque de su uso. 4) Mensajes  3 partir de un mecanismo de semáforos deseamos construir las rutinas enviar(buzonmensaje) y enviar(buzonmensaje)  y recibir(buzon recibir(buzon mensaje) para mensaje) para implementar un mecanismo de paso de mensa6es con bu+ones. 'ara ello! disponemos de una matri+ $U7&8 de 0 elementos! cada elemento es una cadena de m caracteres! donde se almacenan los los mens mensa6 a6es es.. 9enemo nemos s una una vari variab able le comp compar artid tida! a! n! que que indi indica ca el núme número ro de mensa6es que ay en cada momento en el bu+ón. 2mplementar,

a Un mecanismo de designación indirecta s4ncrona. b 2dem del anterior! obligando al emisor a bloquearse asta que un receptor tome el mensa6e !) Se:ale cuáles de las premisas de /i6%stra no se cumplen en el siguiente algoritmo de concurrencia 'rograma ; 3lgoritmo ; var C! C) , integer< 'rocedure 9area < $egin =ile C) > 0 do ; nada ; C > 0 < 7ona Cr4tica < C >  < 'roceso < "nd < 'rocedure 9area) < $egin =ile C > 0 do ; nada ; C) > 0 < 7ona cr4tica < C) >  < 'roceso < "nd $egin ; 'rograma 'rincipal ; C >  C) >  'arbegin 9area < 9area) < 'arend "nd ") 2dem ? pero para el siguiente algoritmo , 'rograma ; 3lgoritmo ; var C! C) , integer< 'rocedure 9area < $egin C > 0 < =ile C) > 0 do ; nada ; 7ona Cr4tica < C >  < "nd < 'rocedure 9area) < $egin C) > 0 < =ile C > 0 do ; nada ; 7ona cr4tica < C) >  < 'roceso <

"nd $egin ; 'rograma 'rincipal ; C >  C) >  'arbegin 9area < 9area) < 'arend "nd #) 2dem ? y @ pero para el siguiente algoritmo. os procesos '0 y ' comparten lo siguiente , var bandera , array A0!B of boolean < ; inicialmente en 1also ; turno , 0! , integer < ; 3lgoritmo ; $egin bandera(i >  Dile turno > i do begin Dile bandera(6 do S%ip ;nada; turno > i end Sección Cr4tica < bandera(i > 1 < Sección 8o Cr4tica < "nd $) 2dem anterior pero para el siguiente algoritmo var bandera , array A0!B of boolean < ; inicialmente en 1also ; turno , 0! , integer < ; 3lgoritmo ; $egin bandera(i >  turno > 6 Dile (bandera(6 and turno>6 do S%ip ;nada; Sección Cr4tica < bandera(i > 1 < Sección 8o Cr4tica < "nd %) Suponga que eEiste un torrentoso r4o! sobre el cual eEiste un puente con capacidad para una sola persona a la ve+. Construya un algoritmo que permita el paso ordenado de las personas! evite el abra+o mortal (dos personas sobre el puente en sentido contrario y que evite la espera indefinida de paso desde una de las orillas. 1&) Simule los operadores F'F y FF con monitores. 11) "scriba el algoritmo F'roductor-ConsumidorF para ,

a Semáforos b #onitores c Gende+-ous 12) "scriba un algoritmo con semáforos! que controle el acceso a un arcivo! de tal manera que se permita el acceso en lectura a varios procesos o a un solo escritor en forma eEclusiva. 13) "ncontrar la secuencia lógica y los valores iniciales de l os semáforos contadores que permitan reali+ar los siguientes procesos , a Un emisor (3 y dos receptores ($ y C que retiran la misma información! pero lo deben acer en momentos distintos. ($ tiene prioridad. Secuencia normal, 3$C3$C. b Un emisor (3 y dos receptores ($ y C que retiran información en forma alternativa. (Comien+a $. Secuencia normal , 3$3C3$3C. c /os emisores (3 y $ y un receptor (C! los emisores actúan al a+ar. Secuencia normal , (3o$C(3o$C. Suponemos en todos los casos que los emisores y receptores traba6an sobre una única área y que no se quiere destruir información aún no retirada! ni retirar información no eEistente ni repetida. 14) 2dem  pero , Un emisor (3 y dos receptores ($ y C que retiran información pero lo pueden acer en igual momento.Secuencia normal , 3($oC. 1!) /ado un sistema con ) procesadores y una sola cola de listos , a 'orquH debe protegerse dica cola I b JuH debe acer el 'lanificador de 'rocesos si no puede acceder a dica cola I 'orquH I 1") Si la rutina de =329 que asocia un semáforo a una cola! guarda los pedidos de espera en forma de '23 (21&. JuH problema puede acarrear I 1#) /ada la siguiente secuencia lógica y los valores iniciales de los semáforos contadores , '   '(S '(G '(G ... '(C '($ ... ... ... (G ($ (C (S (S con valores iniciales S > ! G > 0! $ > 0 y C >  y cuya secuencia normal de e6ecución ser4a, K5K7K5K7 a JuH sucede si se presenta la secuencia , K75 I b 'odr4a agregarse alguna rutina (K!5!o 7 a continuación que permitiera salvar la situación I 'orquH s4 o porquH no I c Si se cambian las rutinas  y  de la siguiente manera,

   '(C '($ '(G '(G ... ... (S (S ($ (C quH sucede aora con la secuencia del punto a I d Cuál 6u+ga usted que es la ra+ón por la que esta simple inversión solucionó el problema I 1$) /ada la siguiente secuencia lógica y los valores iniciales de los semáforos contadores , ' '(S ... ... (G

 '(C '(G ... (S ($

 '($ '(G ... (S (C

Secuencia normal , K5K7K5K7. alores iniciales S>! G>0! $>0! C>. Se pide , a Laga el seguimiento de la siguiente secuencia indicando todos los Dait o signal que se produ+can. Secuencia , K755KK. b Si el emisor ' coloca la siguiente información , M mensa6e , FComun4quese con el Centro de CómputosF )M mensa6e , F9iene abilitada su unidad de cintaF *M mensa6e , FCancele su sesión de traba6oF JuiHn retira cada uno de estos mensa6es en la secuencia del punto a I

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF