El documento presenta 9 grupos de ejercicios de programación concurrente utilizando semáforos o monitores para coordinar el acceso a recursos compartidos por procesos concurrentes. Los ejercicios involucran situaciones como hamsters compartiendo comida y una rueda, filósofos compartiendo tenedores, un barbero y clientes, vehículos cruzando un puente, soldados en un comedor y fumadores compartiendo ingredientes para cigarrillos.
En este material podrás encontrar información acerca de los tipos, caracteristicas, ejemplos de arquitecturas de computadoras. Nota: Esta es la actualización de mi material # 3
En este material podrás encontrar información acerca de los tipos, caracteristicas, ejemplos de arquitecturas de computadoras. Nota: Esta es la actualización de mi material # 3
Ponencia en I SEMINARIO SOBRE LA APLICABILIDAD DE LA INTELIGENCIA ARTIFICIAL EN LA EDUCACIÓN SUPERIOR UNIVERSITARIA. 3 de junio de 2024. Facultad de Estudios Sociales y Trabajo, Universidad de Málaga.
Presentación de la conferencia sobre la basílica de San Pedro en el Vaticano realizada en el Ateneo Cultural y Mercantil de Onda el jueves 2 de mayo de 2024.
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...JAVIER SOLIS NOYOLA
El Mtro. JAVIER SOLIS NOYOLA crea y desarrolla el “ROMPECABEZAS DE ECUACIONES DE 1ER. GRADO OLIMPIADA DE PARÍS 2024”. Esta actividad de aprendizaje propone retos de cálculo algebraico mediante ecuaciones de 1er. grado, y viso-espacialidad, lo cual dará la oportunidad de formar un rompecabezas. La intención didáctica de esta actividad de aprendizaje es, promover los pensamientos lógicos (convergente) y creativo (divergente o lateral), mediante modelos mentales de: atención, memoria, imaginación, percepción (Geométrica y conceptual), perspicacia, inferencia, viso-espacialidad. Esta actividad de aprendizaje es de enfoques lúdico y transversal, ya que integra diversas áreas del conocimiento, entre ellas: matemático, artístico, lenguaje, historia, y las neurociencias.
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
Ejercicios Propuestos Sincronización.pdf
1. PROGRAMANA NACIONAL DE FORMACIÓN EN INFORMÁTICA
UNIDAD CURRICULAR: SISTEMAS OPERATIVO.
Prof. Pura Castillo
Ejercicios Propuestos Sincronización de Procesos
Ejercicios propuestos. Subir a la plataforma vídeo y archivo ejecutable del ejercicio
Lenguaje C
Grupo #1. En una tienda de mascotas están teniendo problemas para tener a todos sus hamsters felices.
Los hamsters comparten una jaula en la que hay un plato con comida y una rueda para hacer ejercicio.
Todos los hamsters quieren inicialmente comer del plato y, después, correr en la rueda. Pero se
encuentran con el inconveniente de que sólo tres de ellos pueden comer del plato al mismo tiempo y sólo
uno puede correr en la rueda. Define un proceso que ejecuten los hamsters concurrentemente de forma
que sincronicen estas actividades usando semáforos.
Grupo #2. Cinco Filósofos se sientan alrededor de una mesa y pasan su vida cenando y pensando. Cada
filósofo tiene un plato de fideos y un tenedor a la izquierda de su plato. Para comer los fideos son
necesarios dos tenedores y cada filósofo sólo puede tomar los que están a su izquierda y derecha. Si
cualquier filósofo coge un tenedor y el otro está ocupado, se quedará esperando, con el tenedor en la
mano, hasta que pueda coger el otro tenedor, para luego empezar a comer. Si dos filósofos adyacentes
intentan tomar el mismo tenedor a una vez, se produce una condición de carrera: ambos compiten por
tomar el mismo tenedor, y uno de ellos se queda sin comer. Si todos los filósofos cogen el tenedor que
está a su derecha al mismo tiempo, entonces todos se quedarán esperando eternamente, porque alguien
debe liberar el tenedor que les falta. Nadie lo hará porque todos se encuentran en la misma situación
(esperando que alguno deje sus tenedores). Entonces los filósofos se morirán de hambre. Resuelva
utilizando semáforos
Grupo #3. 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. Si no hay clientes presentes, el barbero se sienta en su
silla de peluquero y se duerme. •Cuando llega un cliente, éste debe despertar al barbero dormilón. Si
llegan 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 ocupadas). Programar al barbero y los
clientes. utilizando monitores
Grupo # 4.. Un puente es estrecho y sólo permite pasar vehículos en un ´único sentido al mismo tiempo.
Si pasa un coche en un sentido y hay coches en el mismo sentido que quieren pasar, entonces estos
tienen prioridad frente a los del otro sentido (si hubiera alguno esperando para entrar en el puente). No
hay límite al número de vehículos que pueden haber en el puente al mismo tiempo. Simula el sistema
suponiendo que los coches son hilos y el puente el recurso compartido. Utiliza semáforos para
garantizar que se cumplen las condiciones de acceso al puente. Cada hilo debe mostrar por pantalla
cuándo entra en el puente y cuándo lo abandona. Se generarán un total de 100 vehículos, 50 en un
sentido y 50 en el otro. Tras un tiempo de espera al azar (utilizar sleep(random() %20) o algo similar)
los vehículos intentan entrar en el puente y, si lo consiguen, permanecerán en ´el durante un segundo
(sleep(1)) antes de abandonarlo. Se apreciará más el comportamiento del sistema si se alterna la
creación de hilos en un sentido u otro.
2. Grupo #5. En un cuartel hay un comedor para 500 soldados. El soldado cuando quiere comer entra en
el recinto y coge una bandeja con comida en uno de los 5 mostradores que existen para tal efecto; la
bandeja tiene un vaso de agua o un botellín de refresco, si escoge esto último necesita uno de los 50
abridores. Si quiere postre se dirige a uno de los 3 mostradores que lo despachan; Cuando finaliza la
comida sale del recinto. Realizar un programa concurrente de forma que utilizando semáforos coordine
las tareas de los soldados
Grupo #6. Existen tres (3) fumadores que continuamente enrollan cigarrillos y luego se lo fuman.
Para un cigarrillo se necesita una cierta cantidad de papel, tabaco y un fósforo para encenderlo. Cada
fumador posee dotación ilimitada de un solo ingrediente (uno papel, otro tabaco y otro fósforos). Existe
un (1) agente que posee cantidad ilimitada de todos los ingredientes. Alternativamente, éste va
colocando dos ingredientes en una mesa y entonces, el fumador que posee el ingrediente faltante los
recoge y fuma su cigarrillo. Luego indica al agente que ha terminado y éste repite la operación. Realice
un programa en C que sincronice a los fumadores y el agente.
Grupo #7. En una tienda de pájaros están teniendo problemas para tener a todos sus canarios felices.
Los canarios comparten una jaula en la que hay un plato con alpiste y una columpio para hacer
ejercicio. Todos los canarios quieren inicialmente comer del plato y, después columpiarse. Pero se
encuentran con el inconveniente de que sólo tres de ellos pueden comer del plato al mismo tiempo y sólo
uno puede columpiarse. Define un proceso que ejecuten los canarios concurrentemente de forma que
sincronicen estas actividades usando Monitores
Grupo #8. En un popular programa de televisión en el que invita a importantes personajes a
almorzar y conversar sobre sus vidas y sobre temas de actualidad. La dinámica del programa es la
siguiente:
• Al programa asisten N invitados. Los comensales se sientan a la mesa, siendo el
presentador el último en sentarse.
• Una vez que se sentó Presentador, los M mozos sirven la comida. Por problemas de
presupuesto, la cantidad de mozos es siempre menor a la cantidad de invitados.
• Los mozos no deben servir más de N+1 platos. Cualquier comensal (incluida Presentador)
puede comenzar a comer, incluso si no han terminado de servir a todos los invitados.
• Cuando Presentador termina de comer, ella lanza una pregunta polémica. Esta pregunta
puede ser respondida por cualquier invitado que haya terminado de comer. Sólo un
invitado debe responder la pregunta.
• Para mantener alto el rating, Presentador se enoja muchísimo por la respuesta polémica,
se levanta y se va del estudio. Si Presentador ya se ha levantado, los invitados pueden
hacer lo mismo, pero sólo si ya han terminado de comer.
Las primitivas disponibles son:
• sentarse()
• servir_comida()
• comer()
• enojarse()
• levantarse()
• lanzar_pregunta_polemica()
• lanzar_respuesta_polemica()
Realice una solución usando semáforos para el problema descripto anteriormente.
3. Grupo #9. En una reunión de atletismo, hay tres tipos de atletas participantes. Por un lado los
lanzadores de jabalina, por otro los lanzadores de martillo y por último los corredores. A primera
hora del día se les da acceso libre a las instalaciones para entrenar. Por seguridad, se han
establecido unas restricciones de uso de las instalaciones:
a) Un atleta lanzador de martillo o de jabalina debe esperar para entrar en las instalaciones a que
no haya ningún atleta, sea del tipo que sea, utilizándolas.
b) Si hay un atleta lanzador de jabalina o de martillo utilizando las instalaciones, un nuevo atleta
que llegue, sea del tipo que sea, debe esperar para entrar en las instalaciones a que el que ya hay
la abandone.
c) Si en las instalaciones hay algún atleta corredor y llega un nuevo atleta corredor, este entrara en
las instalaciones incluso aunque hubiesen atletas lanzadores esperando para entrar. Resuelva
utilizando semáforos