Problemas Resueltos del Capítulo 2 1.-En la fgura 2-2 se muestran tres estados de procesos. En teoría, si hay tres estados, podría haber seis transiciones, dos por cada estado. No obstante solo se muestran cuatro transiciones. !ay circunstancias en las "ue podría darse alguna de las transiciones #altantes, o ambas$
transic sición ión de bloqu bloquea eado do en ejec ejecuc ució ión, n, es posi posible ble.. Supo Supong nga a que que un Rpta% La tran proce proceso so está bloquea bloqueado do en la Entrad Entrada/Sa a/Salida lida y el E/S fnaliza. fnaliza. Si el CP está inacti!o el proceso podr"a ir directa#ente de bloqueado a en ejecución. La otra transic transición ión $altant $altante e de Listo Listo %acia %acia &loque &loqueado ado es i#posibl i#posible. e. El proce proceso so Listo Listo no puede puede %acer E/S o %acia %acia cualqui cualquier er otra otra cosa cosa que pudiera pudiera bloquea bloquearlo rlo.. Solo un proceso en ejecución puede bloquearlo.
&.- En todas las computadoras actuales, al menos una parte de los mane'adores de interrupciones se escribe en lengua'e ensamblador. ensamblador. Por "u($ Rpta% 'eneral#ente, los lenguajes de alto ni!el no per#iten un tipo de acceso %aci %acia a el %ard %ard(ar (are e que que es requ requer erido ido del del CP. CP. Por Eje# Eje#plo plo un #ane #anejad jador or de inter interrupc rupcione iones s podr"a podr"a ser reque requerid rido o para acti!a acti!arr y desact desacti!a i!arr la interr interrupc upción ión sir!iendo a un dispositi!o particular, o para #anipular datos sin la necesidad del proceso de un área de la pila. )de#ás, las rutinas del ser!icio de interrupciones deben ser ejecutadas tan rápida#ente co#o sea posible.
).-Cuando una interrupci*n o una llamada al +istema transferen el control al +istema peratio, por lo general se usa un rea de la pila del /ernel distinta de la pila del proceso interrumpido. Por "u($ Rpta% E*isten !arias razones para usar una pila separada para el +ernel. os de ellas son las siguientes Pri#er Pri#eroo- Para e!itar e!itar que el Siste# Siste#a a perat perati!o i!o colapse colapse debido debido a un usuario usuario escribió #al un progra#a y no reser!o sufciente espacio en la pila.
Segundo- Si el 0ernel deja datos de la pila en el espacio libre de la #e#oria de un progra#a de un usuario en el retorno desde una lla#ada del siste#a, un usuario #alintencionado podr"a usar estos datos para %allar in$or#ación acerca de los otros procesos.
10.- n subproceso puede ser epropiado por una interrupci*n de relo'$ En tal caso, en "u( circunstancias$ +i no puede ser epropiado, epli"ue la ra3*n. Rpta% ) ni!el de usuario los subprocesos no pueden ser adelantados por el reloj, a #enos que todo el proceso cuántico Se %aya agotado. ) ni!el del 0ernel los subprocesos pueden ser anulados por separado. En este 1lti#o caso, si un subproceso es de#asiado largo, el reloj interru#pirá el proceso actual y por lo tanto el subproceso actual. El 0ernel es libre de elegir un di$erente subproceso del #is#o proceso para ejecutar el siguiente si as" lo desea.
11.-En este problema se tiene "ue comparar la lectura de un archio, empleando un seridor de archios de un solo subproceso y uno de m4ltiples subprocesos. +e re"uieren 15 milisegundos para obtener una determinada solicitud de traba'o, despacharla y reali3ar el dems procesamiento necesario, suponiendo "ue los datos pedidos estn en la cach( de blo"ues. +i se re"uiere una operaci*n de disco, como sucede la tercera parte del tiempo, se necesitaran 65 milisegundos ms, tiempo durante el cual el subproceso estar inactio. Cuntas solicitudes puede mane'ar el seridor cada segundo si solo tiene un subproceso$ 7 si es de m4ltiples subprocesos$ Rpta% En el caso de un 1nico subproceso, los accesos a la cac%2 to#an 34 #seg y $allos de #e#oria cac%2 to#an 56 #seg. El pro#edio ponderado es de 7/8 9 34 : 3/8 9 56. )s", la Solicitud #edia tarda ;6 #ilisegundos y el ser!idor puede %acer el 74 por segundo. Para un Ser!idor #ultiproceso, toda la espera para el disco es superpuesta por lo que cada solicitud tarda 34 #s, y el ser!idor puede #anejar << 7/8 solicitudes por segundo.
18.- Puede presentarse el problema de inersi*n de prioridad "ue imos en la secci*n 2.&.) con subprocesos en el niel de usuario$ Por "u( sí o por "u( no$ Rpta% El proble#a de la in!ersión de prioridades ocurre cuando un subproceso de baja prioridad se encuentra en una región cr"tica y repentina#ente un proceso de alta prioridad pasa a estar listo y es progra#ado. Si se utiliza espera ocupada, se ejecutará por sie#pre. Con los subprocesos del ni!el de usuario, no puede suceder que un subproceso de baja prioridad sea adelantado para per#itir la ejecución de
un subproceso de alta prioridad. Con los subprocesos del ni!el del 0ernel =n1cleo del S..> este proble#a ta#bi2n puede l legar a surgir.
19.- :u( es una condici*n de competencia$ Rpta% na condición de co#petencia es una situación en la que dos o #ás procesos están a punto de realizar alguna acción. ependiendo del rit#o establecido, uno o el otro ira pri#ero. Si uno de los procesos !a pri#ero seg1n el rit#o, todo $uncionara bien, pero si el otro !a pri#ero, un $atal error ocurrirá.
2&.-;os"ue'e la #orma en "ue un sistema operatio capa3 de inhabilitar interrupciones podría implementar sem#oros. Rpta% Para %acer una operación de Se#á$oro, el S pri#ero desacti!a las interrupciones, luego leerá el !alor del se#á$oro. Si %ace una o(n =bajada> y el se#á$oro es igual a cero, el S pondrá el proceso de lla#ada en una lista de procesos bloqueados que est2n asociados con el se#á$oro. Si %ace un p =subida>, el S deberá re!isar si %ay alg1n proceso que se %aya bloqueado en el se#á$oro, si uno o #ás procesos están bloqueados uno de ellos será re#o!ido de la lista de procesos bloqueados y se %ace ejecutable. Cuando aquellas operaciones se %ayan co#pletado, las interrupciones serán acti!adas de nue!o.
2).-
25.-+i un sistema solo tiene dos procesos, tiene sentido usar una barrera para sincroni3arlos$ Por "u( sí o por "u( no$
Rpta% Si el progra#a opera en $aces y ning1n proceso puede entrar a la siguiente $ase %asta que a#bos %ayan fnalizado la actual $ase, ser"a ideal utilizar una barrera.
28.- En la secci*n 2.&.) describimos una situaci*n con un proceso de alta prioridad, ?, y uno de ba'a prioridad, ;, en la "ue ? entraba en un ciclo infnito. +e presenta el mismo problema si se usa calendari3aci*n de por turno circular en e3 de por prioridad$ Epli"ue. Rpta% Con una progra#ación de ronda de turnos $unciona. )ntes o despu2s de L se ejecutara, y e!entual#ente dejara la región cr"tica. El punto es que con la progra#ación de prioridad, L nunca se llagara a ejecutar con una ronda de turnos, obtiene un inter!alo de tie#po nor#al, entonces tendr"a la ocasión para dejar la región cr"tica.
26.- Pueden sincroni3arse dos subprocesos del mismo proceso con un sem#oro de @ernel si dicho @ernel implementa los subprocesos$ 7 si se implementan en espacio de usuario$ +uponga "ue ning4n subproceso de otro proceso tiene acceso al sem#oro. Epli"ue sus respuestas. Rpta% Con los subprocesos del 0ernel, un subprocesos puede ser bloqueado en un se#á$oro y el 0ernel puede ejecutar alg1n otro subproceso en el #is#o proceso. Consecuente#ente, no %ay proble#a en el uso de se#á$oros. Con subprocesos de ni!el de usuario, cuando un subprocesos se bloquea en un se#á$oro, el 0ernel cree que el proceso entero está bloqueado y entonces no lo !uel!e a ejecutar otra !ez. Consecuente#ente, el proceso $alla.
29.- Aa sincroni3aci*n dentro de monitores se ale de ariables de condici*n y dos operaciones especiales, Bait y signal. na #orma ms general de sincroni3aci*n tendría una sola primitia, Baituntil con un predicado booleano arbitrario como parmetro. ?sí, se podría escribir, por e'emplo, aituntil D 0 or y3 D n Aa primitia signal ya no ser necesaria. Es obio "ue este es"uema es ms general "ue el de !oare o ;rinch !ansen, pero no se usa. Por "u( no$ +ugerencia% Piense en la implementaci*n Rpta% Es #uy costoso de i#ple#entar. Cada !ez que cualquier !ariable que aparece en un predicado sobre la que alg1n proceso está esperando ca#bios, el siste#a de ejecución debe !ol!er a e!aluar el predicado para !er si el proceso se puede desbloquear. Con el Doare and &rinc% Dansen ?onitors, los procesos sólo puede ser despertado por una seal pri#iti!a.
2F.- n restaurante de comida rpida tiene cuatro clase de empleados% 1> Gomadores de *rdenes de los clientesH 2> Cocineros, preparan la comidaH &> Especialistas en enasado, "ue meten la comida en bolsas, y )> Ca'eros, "ue entregan las bolsas a los clientes y les cobran. Cada empleado puede erse como un proceso secuencial comunicante. :u( #orma de comunicaci*n entre procesos usan$ Relacione este modelo con los procesos de NIJ
Rpta% Los e#pleados se co#unican #ediante paso de #ensajes- órdenes, ali#entos y bolsas en este caso. En t2r#inos de AFG, los cuatro procesos están conectados por tuber"as.