Search
Home
Saved
109 views
0
Upload
Sign In
RELATED TITLES
0
Barbero dormilon Uploaded by JalsxA
Bestsellers
Books
Audiobooks Magazines
News
Documents
Sheet Music
tso
Save
Embed
Share
Print
Download
Join
La
1
of 10
Manual de Usuario Control
Lenguaje Rapid
Search document
BARBERO DORMILON El barbero dormilón:
• Problema planteado por Dijkstra en 1971 • Una peluquería en la que hay un barbero, una silla de peluquero y N sillas para que se sienten los clientes en espera, si es que los hay • !i no hay clientes presentes, el barbero se sienta en su silla de peluquero y se duerme • "uando lle#a un cliente, $ste debe despertar al barbero dormil%n • !i lle#an m&s clientes mientras el barbero corta el cabello de un cliente, se sientan 'si hay sillas desocupadas( o salen de la peluquería 'si todas las sillas est&n est&n ocupadas( • Pro#ramar al barbero y los clientes
Por lo que se )e, hay )ariables tipo bandera, que debe ser consultadas al iniciar un proces esto es clasico en los sistemas operati)os multipro#ramaci%n
*l problema consiste en una barbería en la que trabaja un barbero que tiene un +nico sill% de barbero y )arias sillas para esperar "uando no hay clientes, el barbero se sienta en una silla y se duerme "uando lle#a un nue)o cliente, $ste o bien despierta al barbero o si e barbero est& a-eitando a otro cliente se sienta en una silla 'o se )a si todas las sillas sillas est& ocupadas por clientes esperando( *l problema consiste en reali.ar la acti)idad del barber sin que ocurran condiciones de carrera /a soluci%n implica el uso de sem&-oros y objetos de e0clusi%n mutua para prote#er la secci%n critica Un sem&-oro es una )ariable prote#ida 'o tipo abstracto de datos( que constituye el m$tod cl&sico para restrin#ir o permitir el acceso a recursos compartidos 'por ejemplo, un recurs de almacenamiento( en un entorno de multiprocesamiento Sign up to vote on this title El problema del peluquero dormilón 'ori#inalmente, el barbero dormil%n( es un cl&sico Useful Not useful de la Pro#ramaci%n "oncurrente *n $l se propone la discusi%n sobre c%mo #estionar el transito2 por una peque3a peluquería 'recurso compartido(, por parte de dos tipos de procesos4 el peluquero y los clientes *l enunciado su#iere que durante la ejecuci%n la
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
109 views
0
Upload
Sign In
RELATED TITLES
0
Barbero dormilon Uploaded by JalsxA
Bestsellers
Books
Audiobooks Magazines
News
Documents
Sheet Music
tso
Save
Embed
Share
Print
Download
Join
La
1
of 10
Manual de Usuario Control
Lenguaje Rapid
Search document
6de-ine NU?@"/A*N<*! B CC Numero de clientes 6de-ine N CC Numero ma0 de clientes en la barberia int clientes E F5 CC Numero de clientes en la barberia int quien E G15 CC "liente que esta siendo atendido
pthread@mute0@t m E P )oid pbarbero 'char Ks( print-'arbero4 G8 LsMn2, s(5> CCO inicio monitor int entra@barberia'int i( pcliente'i,2*N<;: en la barberia2(5 pthread@mute0@lock' m (5 i- 'clientes 8E N( pthread@mute0@unlock'm (5 return //*N:5> CC No cabe else clientesQQ5 i- 'clientesEE1( You're Reading a Preview pcliente'i,2D*!PA*;<: al barbero2(5 pthread@cond@si#nal'dormir(5 Unlock full access with a free trial. > else Download With Free Trial cliente'i,2*!P*;: mi turno2(5 pthread@cond@Rait'silla, m (5 pthread@cond@si#nal'sube@sillon(5 > quien E i5 pthread@cond@Rait 'sillon, m (5 CK *sperar aSign queupacabe to voteeloncorteKC this title pcliente'i,2?A P*/: <=N /AND=?*N<* ":;<=D:SSSS =DA*US Mn2(5 Useful Not useful pthread@mute0@unlock'm (5 return ":;<=D:5 >
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
109 views
0
Sign In
Upload
RELATED TITLES
0
Barbero dormilon Uploaded by JalsxA
Bestsellers
Books
Audiobooks Magazines
News
Documents
Sheet Music
tso
Save
Embed
Share
Print
Download
Join
La
1
of 10
Manual de Usuario Control
Lenguaje Rapid
Search document
pthread@cond@Rait'sube@sillon,m(5 > pthread@mute0@unlock' m(5 > )oid -in@corte'( pthread@mute0@lock'm(5 pthread@cond@si#nal'sillon(5 clientesO5 pbarbero'XAN ":;<*2(5 pthread@mute0@unlock'm(5 > )oid corta@pelo'( int r Erand'(L1FFFF5 CCusleep'1F(5 'con sube@sillon, ya no es necesario( pthread@mute0@lock'm (5 CC Prote#e el acceso a la )ariable quien2 pbarbero'":;<=ND: */ P*/: '"his, "has, "his, "has(2(5 print-'2 = Ld 'Ld use#(Mn2,quien,r(5 pthread@mute0@unlock'm (5 usleep'r(5 > )oid da@una@)uelta'int i, You're int t( Reading a Preview pcliente'i,2T: a dar una )uelta2(5 print-'2 durante 'Ld use#(Mn2,t(5 Unlock full access with a free trial. usleep't(5 pcliente'i,2T*NW: de dar una )uelta2(5 Download With Free Trial > CC G -in monitor )oid Kcliente')oid Kar#( lon# int iE'lon# int( ar#5 do da@una@)uelta'i,rand'(L1FFFF(5> Rhile 'entra@barberia'i(EE//*N:(5 Sign up to vote on this title >
Useful
)oid Kbarbero')oid Kar#( Rhile '1( espera@cliente'(5 corta@pelo'(5 -in@corte'(5>
Not useful
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
109 views
0
Upload
Sign In
RELATED TITLES
0
Barbero dormilon Uploaded by JalsxA
Bestsellers
Books
Audiobooks
tso
Save
Embed
Share
Print
Magazines
News
Documents
Sheet Music
La
1
Download
Join
of 10
Manual de Usuario Control
Lenguaje Rapid
Search document
pthread@create'id@barbero, NU//, barbero, NU//(5 sleep'1(5 -or 'iEF5 iNU?@"/A*N<*!5 iQQ( pthread@create'id@clientesYiZ, NU//, client ')oid K( i(5 -or 'iEF5 iNU?@"/A*N<*!5 iQQ( pthread@join'id@clientesYiZ, NU//(5 >
LECTORES ESCRITORES CON PRIORIDAD ESCRITORES Lectores y escritores:
Problema Hay un objeto de datos'-ichero de te0to( que es utili.ado por )arios procesos, un os leen y otro que escribe !olo puede utili.ar el recurso un proceso y solo uno, es decir, o bien un proceso estar& escribiendo o bien leyendo, pero nunca ocurrir& simult&neamente 'teniendo en cuenta que no lo esta utili.ando nadie, tendr& pre-erencia el escritor ante el lector( !e considera a cada usuario'lector y escritor( como dos procesos y al -ichero en cuesti%n como un recurso De modo que, para que un proceso acceda al recurso que necesita, tenemos que considerar a cada usuario 'lector y escritor( como dos sem&-oros *stos Reading a Preview sem&-oros son binarios y )alen F You're si el recurso '-ichero( est& siendo utili.ado por otro proceso y 1 si dicho recurso est& disponible Unlock full access with a free trial. /a soluci%n de este problema se basa en implementar un al#oritmo e-iciente ')$ase al#oritmo( en el manejo de sem&-oros y memoria compartida que se#uidamente Download With-unciones Free Trial necesarias para el manejo de describimos = lo lar#o del pro#rama se utili.an memoria compartida ')$ase rshmemh rshmemc2( manejo de sem&-oros ')$ase semaphc2 ( Para que el problema est$ bien resuelto se tiene que cumplir4 O No se puede hacer esperar a nin#+n proceso lector si nin#+n proceso escritor accede al recurso Sign up to vote on this title O "uando un escritor debe reali.ar su tarea, debe ocurrir cuanto antes, sin que deban Useful Not useful inter-erir los procesos lectores'Para ello se establecen prioridades( unción Main
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
109 views
0
Upload
Sign In
RELATED TITLES
0
Barbero dormilon Uploaded by JalsxA
Bestsellers
Books
Audiobooks
tso
Save
Embed
Share
Print
Download
Magazines
News
Documents
Sheet Music
Join
La
1
of 10
Manual de Usuario Control
Lenguaje Rapid
Search document
lectura! "5 Permite que el lector pueda acceder al recurso Una )e. que acaba de leer se encar#a de dejar el recurso para que sean de nue)o utili.ado 'por $l o por otros( Para ello se basa en -unciones de manejo de sem&-oros y memoria compartida Utili.a las si#uientes -unciones4
?anejo de sema-oros4 •sem[ait ' ( •sem!i#nal ' ( •sem:pen ' ( •sem"lose ' ( ?anejo de memoria compartida4 "ada )e. que escribe un usuario lo re-leja en el incremento de la )ariable de memoria compartida "uando los lectores y escritores han reali.ado la tarea que desean'leer y escribir( un n+mero ? de )eces pre-ijado '( se lo comunican al padre, no sin antes haber cerrado adecuadamente todos los sem&-oros utili.ados en esta -unci%n
1 Pro#rama la soluci%n al problema de lectores C escritores con prioridad de escritores • N:<=4 esta )e. necesitamos contabili.ar localmente tanto el n+mero de lectores como e You're Reading Previewno ten#an la prioridad, si un n+mero de escritores en el sistema ;ecuerda queaaunque lector estaba ya en el sistema losUnlock escritores hanwith de bloquearse full access a free trial. !oluci%n en Pseudoc%di#o4
Download With Free Trial
6de-ine <;U* 1 sem&-oro mute0@r5 CC "ontrola e0clusi%n mutua para el n\ de lectores sem&-oro mute0@R5 CC "ontrola e0clusi%n mutua para el n\ de escritores Sign up to vote on this title sem&-oro lectores5 CC"ontrola entrada de lectores sem&-oro escritores5 CC"ontrola entrada de escritores Useful Not useful int nR E F5 CC"ontabili.a n\ de escritores
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
109 views
0
Sign In
Upload
RELATED TITLES
0
Barbero dormilon Uploaded by JalsxA
Bestsellers
Books
Audiobooks
tso
Save
Embed
Share
Print
Download
Magazines
News
Documents
Sheet Music
Join
La
1
of 10
Manual de Usuario Control
Lenguaje Rapid
Search document
)oid /ector '( e0tern !*?=X:;: mute0@r, lectores, escritores5 e0tern int nr5 Rhile '<;U*( Rait'lectores(5 Rait 'mute0@r(5 nrQQ5 i-'nrEE1( Rait'escritores(5 si#nal'mute0@r(5 si#nal'lectores(5 /eerDatos '(5 CC!eccion "ritica Rait 'mute0@r(5 nrO5 i- 'nr EE F( si#nal 'escritores(5 si#nal 'mute0@r(5 > >
You're Reading a Preview Unlock full access with a free trial.
Download With Free Trial
)oid *scritor '( e0tern !*?=X:;: mute0@R, lectores, escritores5 e0tern int nR5 Rhile '<;U*( Rait 'mute0@R(5
Sign up to vote on this title
Useful
Not useful
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
109 views
0
Sign In
Upload
RELATED TITLES
0
Barbero dormilon Uploaded by JalsxA
Bestsellers
Books
Audiobooks
tso
Save
Embed
Share
Print
Magazines
News
Documents
Sheet Music
La
1
Download
Join
of 10
Manual de Usuario Control
Lenguaje Rapid
Search document
i-'nREEF( si#nal'lectores(5 si#nal'mute0@R( > > FILOSOFOS COMENSALES
"inco Xil%so-os se sientan alrededor de una mesa y pasan su )ida cenando y pensando "ada -il%so-o tiene un plato de -ideos y un tenedor a la i.quierda de su plato Para comer los -ideos son necesarios dos tenedores y cada -il%so-o s%lo puede tomar los que est&n a i.quierda y derecha !i cualquier -il%so-o co#e un tenedor y el otro est& ocupado, se quedar& esperando, con el tenedor en la mano, hasta que pueda co#er el otro tenedor, para lue#o empe.ar a comer !i dos -il%so-os adyacentes intentan tomar el mismo tenedor a una )e., se produce una condici%n de carrera4 ambos compiten por tomar el mismo tenedor, y uno de ellos se queda sin comer !i todos los -il%so-os co#en el tenedor que est& a su derecha al mismo tiempo, entonces todos se quedar&n esperando eternamente, porque al#uien debe liberar el tenedor que les -alta Nadie lo har& porque todos se encuentran en la misma situaci%n 'esperando que al#uno deje sus tenedores( *ntonces los -il%so-os se morir&n de hambre *ste bloqueo Reading a Preview mutuo se denomina interbloqueo You're o deadlock . *l problema consiste en encontrar un al#oritmo que permita que los -il%so-os nunca se Unlock full access with a free trial. mueran de hambre =l#unas Posibles !oluciones Download With Free Trial •
Por turno c$clico
!e empie.a por un -il%so-o, que si quiere puede comer y despu$s pasa su turno al de la derecha "ada -il%so-o s%lo puede comer en su turno Problema4 si el n+mero de -il%so-os es muy alto, uno puede morir de hambre antes de su turno Sign up to vote on this title
•
%arios turnos
Useful
Not useful
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
109 views
0
Sign In
Upload
RELATED TITLES
0
Barbero dormilon Uploaded by JalsxA
Bestsellers
Books
Audiobooks
tso
Save
Embed
Share
Print
Magazines
News
Documents •
La
1
Download
Join
of 10
Manual de Usuario Control
Lenguaje Rapid
Search document
&olas de tenedores
Sheet Music
"uando un -il%so-o quiere comer se pone en la cola de los dos tenedores que necesita "uando un tenedor est& libre lo toma "uando toma los dos tenedores, come y deja libre l tenedores Tisto desde el otro lado, cada tenedor s%lo puede tener dos -il%so-os en cola, siempre los mismos *sto crea el problema comentado de que si todos quieren comer a la )e. y todos empie.a tomando el tenedor de su derecha se bloquea el sistema 'deadlock ( •
Resolución de con'lictos en colas de tenedores
"ada )e. que un -il%so-o tiene un tenedor espera un tiempo aleatorio para conse#uir el se#undo tenedor !i en ese tiempo no queda libre el se#undo tenedor, suelta el que tiene y )uel)e a ponerse en cola para sus dos tenedores !i un -il%so-o = suelta un tenedor 'porque ha comido o porque ha esperado demasiado tiempo con el tenedor en la mano( pero toda)ía desea comer, )uel)e a ponerse en cola par ese tenedor !i el -il%so-o adyacente est& ya en esa cola de tenedor 'tiene hambre( lo to y si no )uel)e a co#erlo = *s importante que el tiempo de espera sea aleatorio o se mantendr& el bloqueo del sistem •
El portero del comedor
You're Reading a Preview Unlock full access with a free trial.
!e indica a los -il%so-os que abandonen la mesa cuando no ten#an hambre y que no re#resen a ella hasta que )uel)an Download a estar hambrientos With Free'cada Trial -il%so-o siempre se sienta en l misma silla( /a misi%n del portero es controlar el n+mero de -il%so-os en la sala, limitand su n+mero a nG1, pues si hay nG1 comensales se#uro que al menos uno puede comer con l dos tenedores (olución Por (em)'oros
Sign up to vote on this title
/* Solucion a la cena de los filosofos
Useful
Not useful
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
109 views
0
Upload
Sign In
RELATED TITLES
0
Barbero dormilon Uploaded by JalsxA
Bestsellers
Books
Audiobooks Magazines
News
Documents
Sheet Music
tso
Save
Embed
Share
Print
Download
Join
La
1
of 10
Manual de Usuario Control
Lenguaje Rapid
Search document
status, /* Estado de cada filosofo. */ status estado3N4, /* Semaforo )ara exclusion mutua. */ sema)ore mutex0 /* Semaforo )ara lo6uear los filosofos adacentes. */ s3N4, main ( extern status estado3N4, extern sema)ore mutex0 s3N4, int i0 s7 8 1, +oid 9iloso)er (int, /* niciali:amos los semaforos. */ nitSema)ore (mutex0 1, for (i 8 ;, i < N, i'' nitSema)ore (s3i40 ;, /* niciali:amos los estados. */ for (i 8 ;, i < N, i'' estado3i4 8 T%NN$, /* niciali:amos los filosofos. */ for (i 8 ;, (i < N == (s7, i'' if (>(s7 8 for? ( 9iloso)er (i, +oid You're Reading a Preview 9iloso)er (int i Unlock full access with a free trial. +oid tin? (0 eat (0 Ta?eFor?s (int0 9utFor?s (int, 7ile (TRUE Download With Free Trial tin? (, /* @tiene dos tenedores o se lo6uea. */ Ta?eFor?s (i, eat (, 9utFor?s (i, Sign up to vote on this title +oid Useful Not useful Ta?eFor?s (int i +oid test (int,
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join
Search
Home
Saved
109 views
0
Sign In
Upload
RELATED TITLES
0
Barbero dormilon Uploaded by JalsxA
Bestsellers
Books
Audiobooks Magazines
News
Documents
Sheet Music
tso
Save
Embed
Share
Print
Download
Join
La
1
of 10
Manual de Usuario Control
Lenguaje Rapid
Search document
extern sema)ore mutex, extern status estado3N4, /* 2cceso a seccion critica. */ 7ait (mutex, estado3i4 8 T%NN$, /* Bom)ruea si el +ecino i:6uierdo )uede comer aora. */ test (LEFT (i, /* Bom)ruea si el +ecino dereco )uede comer aora. */ test (R$%T (i, siAnal (mutex, +oid test (int i extern sema)ore s3N4, extern status estado3N4, if (estado3i4 88 %UN$R == estado3LEFT (i4 >8 E2TN$ == estado3R$%T (i4 >8 E2TN$ estado3i4 8 E2TN$, siAnal (s3i4, -
You're Reading a Preview Unlock full access with a free trial.
Download With Free Trial
Sign up to vote on this title
Useful
Not useful
Home
Saved
Bestsellers
Books
Audiobooks
Magazines
News
Documents
Sheet Music
Upload
Sign In
Join