SlideShare una empresa de Scribd logo
1 de 3
Descargar para leer sin conexión
Ejercicios Propuestos
1. Escribe un programa en C que pida por teclado dos cadenas de caracteres y Después
escriba cada cadena por pantalla carácter a carácter. La escritura de cada cadena
deberá hacerla un proceso diferente. El proceso padre deberá esperar a que termine
el proceso hijo.
2. Escribe un programa en C que reciba dos números enteros como parámetros de
entrada y cree dos procesos de manera que cada uno calcule el Factorial de uno de
los números, de forma concurrente, y utilizando el fichero ejecutable obtenido en el
apartado anterior. El proceso padre será el último en terminar, es decir, que espere a
la terminación de sus procesos hijos.
3. Escribir una función que lea de la entrada estándar un carácter y escriba ese carácter
en un fichero cuyo descriptor se pasa como argumento a la misma. Una vez escrito
en el fichero el carácter leído, la función escribirá por la salida estándar el
identificador del proceso que ejecuta la función.
4. Escribe un programa en C que dada 3 matrices, sincronice los hilos del código se
de tal forma que se imprima en primer lugar la primera fila de la matriz, a
continuación la segunda, después la tercera y así sucesivamente hasta la ´última fila
de la matriz.
5. Se desea imprimir las tablas de multiplicar del 1 al 10 de tal manera que ´estas se
muestren respectivamente en 10 columnas consecutivas. Por lo tanto, en la primera
línea se imprimirá el primer elemento de cada una de las sucesivas tablas (esto es,
1x1, 2x1,..., 10x1). En la segunda línea se imprimirá el segundo elemento de cada
una de las sucesivas tablas (es decir, 1x2, 2x2,..., 10x2). Y así hasta llegar a
imprimir (en la décima línea) el ´último elemento de cada tabla (esto es, 1x10,
2x10,..., 10x10).
6. En el programa que aparece más abajo se crean cinco hilos simulando a cinco
comensales que están sentados en una mesa circular en el mismo orden en el que
fueron creados. En el centro de la mesa hay un plato de arroz y un cucharón para
servirlo. Los comensales se sirven el arroz de uno en uno y en el orden en que están
sentados a la mesa; esto es, comensal 0, 1, 2, 3, 4, 0, 1, ... Los hilos sincronizan su
ejecución de la forma arriba descrita utilizando mutex y variables de condición,
Responder a las siguientes preguntas sobre este programa:
(a) ¿Por qué no se incluye la función sleep, que simula el periodo en el que come un
comensal, dentro del mutex?
(b) El hilo principal crea los hilos en un bucle y espera a que finalicen en otro bucle.
¿Por qué no se realizan ambas operaciones en un ´único bucle?
(c) Modifica la solución proporcionada para que se utilice una ´única variable de
condición para la sincronización.
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
#include <time.h>
#define NHILOS 5
void *f_hilos(void *ind)
{ int indice;
indice = (int)ind;
while(1) {
printf("Comensal %d: Sirve su comidan",indice);
sleep(random() % 3); /* Comensal ind comiendo */
printf("Comensal %d: Plato vacion",indice);
}
pthread_exit(0);
}
main()
{ int i;
pthread_t *hilos;
time_t t;
srandom(time(&t));
hilos = malloc(NHILOS * sizeof(pthread_t));
for (i = 0; i < NHILOS; i++) pthread_create(&hilos[i], NULL, f_hilos, (void
for (i = 0; i < NHILOS; i++) pthread_join(hilos[i], NULL);
pthread_exit(0);
}
7. Para llevar esto a cabo se crearán 10 hilos, uno por tabla, que se ejecutaran
concurrentemente. Y la sincronización entre hilos se realizará mediante mutex y
variables de condición. Todos los hilos ejecutaran una misma función a la que se le
pasará como argumento el número de su correspondiente tabla. El hilo principal
finalizara cuando se haya impreso todas las tablas.
8. Implementa un programa en lenguaje C que cree 10 hilos de tipo “sumador” y otros
10 hilos de tipo “restador”. Los hilos sumadores sumarán uno a una variable global
v, realizando cada uno esta operación 1000 veces. Los hilos restadores restarán uno
a la variable global v y cada uno realizará esta operación 1000 veces. Se incluye la
estricción de que el valor de la variable v no puede ser nunca negativo. Utiliza
mutex y variables de condición para sincronizar la ejecución de los hilos.
9. Implementa un programa en lenguaje C que cree 10 hilos de tipo “sumador” y otros
10 hilos de tipo “restador”. Los hilos sumadores sumarán uno a una variable global
v, realizando cada uno esta operación 1000 veces. Los hilos restadores restarán uno
a la variable global v y cada uno realizará esta operación 1000 veces. Todos los
hilos se ejecutaran concurrentemente. Se incluye la restricción de que no se pueden
realizar dos operaciones iguales de forma consecutiva. O sea, si hace una suma, la
siguiente operación debe ser una resta y viceversa. Utiliza mutex y variables de
condición para sincronizar la ejecución de los hilos.
10. Realiza un programa en C que cree un hilo productor y 2 hilos consumidores y
resuelva el problema del productor-consumidor con buffer circular limitado
mediante mutex y variables de condición. Se valorara la eficiencia de la solución
propuesta.
11. Realiza ejercicio N- 7, de la guía final SO.
Compila y ejecuta cada ejercicio para comprobar su funcionamiento

Más contenido relacionado

Similar a Ejercicios propuestos Procesos e Hilos

Ejercicios Tema 1 1
Ejercicios Tema 1  1Ejercicios Tema 1  1
Ejercicios Tema 1 1jaquito1009
 
Presentación de matlab electromagnetismo ...
Presentación de matlab electromagnetismo                                     ...Presentación de matlab electromagnetismo                                     ...
Presentación de matlab electromagnetismo ...SimonCaceres4
 
Mas_de_400_ejercicios_de_programacion_en (2).pdf
Mas_de_400_ejercicios_de_programacion_en (2).pdfMas_de_400_ejercicios_de_programacion_en (2).pdf
Mas_de_400_ejercicios_de_programacion_en (2).pdfmargothingrithllanca
 
Mas_de_400_ejercicios_de_programacion_en (1).pdf
Mas_de_400_ejercicios_de_programacion_en (1).pdfMas_de_400_ejercicios_de_programacion_en (1).pdf
Mas_de_400_ejercicios_de_programacion_en (1).pdfmargothingrithllanca
 
Taller2 lab stats_matlab
Taller2 lab stats_matlabTaller2 lab stats_matlab
Taller2 lab stats_matlabNar Dy
 
Estructuras repetitivas
Estructuras repetitivasEstructuras repetitivas
Estructuras repetitivassena
 
Unidad 2 ensamblador
Unidad 2   ensambladorUnidad 2   ensamblador
Unidad 2 ensambladoreveTalavera
 
Switch case (informe_18)
Switch case (informe_18)Switch case (informe_18)
Switch case (informe_18)Carlos Guzmán
 
Practicas de visual basic 6.0
Practicas de visual basic 6.0Practicas de visual basic 6.0
Practicas de visual basic 6.0Ayhli123
 
Practicas de visual basic 6.0
Practicas de visual basic 6.0Practicas de visual basic 6.0
Practicas de visual basic 6.0nedlud
 

Similar a Ejercicios propuestos Procesos e Hilos (20)

Ud diagramas de flujo
Ud diagramas de flujoUd diagramas de flujo
Ud diagramas de flujo
 
Manual.es
Manual.esManual.es
Manual.es
 
Ejercicios Tema 1 1
Ejercicios Tema 1  1Ejercicios Tema 1  1
Ejercicios Tema 1 1
 
Clase 10
Clase 10Clase 10
Clase 10
 
Presentación de matlab electromagnetismo ...
Presentación de matlab electromagnetismo                                     ...Presentación de matlab electromagnetismo                                     ...
Presentación de matlab electromagnetismo ...
 
practicas dfd
practicas dfdpracticas dfd
practicas dfd
 
Mas_de_400_ejercicios_de_programacion_en (2).pdf
Mas_de_400_ejercicios_de_programacion_en (2).pdfMas_de_400_ejercicios_de_programacion_en (2).pdf
Mas_de_400_ejercicios_de_programacion_en (2).pdf
 
Mas_de_400_ejercicios_de_programacion_en (1).pdf
Mas_de_400_ejercicios_de_programacion_en (1).pdfMas_de_400_ejercicios_de_programacion_en (1).pdf
Mas_de_400_ejercicios_de_programacion_en (1).pdf
 
Taller2 lab stats_matlab
Taller2 lab stats_matlabTaller2 lab stats_matlab
Taller2 lab stats_matlab
 
Practicas
PracticasPracticas
Practicas
 
Practicas 2 unidad
Practicas 2 unidadPracticas 2 unidad
Practicas 2 unidad
 
Sesión 8
Sesión 8Sesión 8
Sesión 8
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Estructuras repetitivas
Estructuras repetitivasEstructuras repetitivas
Estructuras repetitivas
 
Unidad 2 ensamblador
Unidad 2   ensambladorUnidad 2   ensamblador
Unidad 2 ensamblador
 
Switch case (informe_18)
Switch case (informe_18)Switch case (informe_18)
Switch case (informe_18)
 
Practicas
PracticasPracticas
Practicas
 
Practicas de visual basic 6.0
Practicas de visual basic 6.0Practicas de visual basic 6.0
Practicas de visual basic 6.0
 
Practicas de visual basic 6.0
Practicas de visual basic 6.0Practicas de visual basic 6.0
Practicas de visual basic 6.0
 
Practicas de visual basic 6.0
Practicas de visual basic 6.0Practicas de visual basic 6.0
Practicas de visual basic 6.0
 

Más de puracastillo

ejerciciospropuestosgestionM.pdf
ejerciciospropuestosgestionM.pdfejerciciospropuestosgestionM.pdf
ejerciciospropuestosgestionM.pdfpuracastillo
 
Ejercicios Propuestos 2023
Ejercicios Propuestos 2023Ejercicios Propuestos 2023
Ejercicios Propuestos 2023puracastillo
 
mapa conceptual.pptx
mapa conceptual.pptxmapa conceptual.pptx
mapa conceptual.pptxpuracastillo
 
clase invertida.pptx
clase invertida.pptxclase invertida.pptx
clase invertida.pptxpuracastillo
 
Guia N1_ Modelo de PL.pdf
Guia N1_ Modelo de PL.pdfGuia N1_ Modelo de PL.pdf
Guia N1_ Modelo de PL.pdfpuracastillo
 
Presentación sistema operativo.pptx
Presentación sistema operativo.pptxPresentación sistema operativo.pptx
Presentación sistema operativo.pptxpuracastillo
 
Unidad2 métodos cuantitativa
Unidad2 métodos cuantitativa Unidad2 métodos cuantitativa
Unidad2 métodos cuantitativa puracastillo
 
Ejercicios Propuestos Sincronización.pdf
Ejercicios Propuestos Sincronización.pdfEjercicios Propuestos Sincronización.pdf
Ejercicios Propuestos Sincronización.pdfpuracastillo
 
Gestiond memoria-pnfi
Gestiond memoria-pnfiGestiond memoria-pnfi
Gestiond memoria-pnfipuracastillo
 
Plan de clases proyecto iii fase1 2021
Plan de clases proyecto iii fase1 2021Plan de clases proyecto iii fase1 2021
Plan de clases proyecto iii fase1 2021puracastillo
 
Plan evaluacion uniencasa sistemas operativos2
Plan evaluacion uniencasa sistemas operativos2Plan evaluacion uniencasa sistemas operativos2
Plan evaluacion uniencasa sistemas operativos2puracastillo
 
Plan evaluacion uniencasa sistemas operativos
Plan evaluacion uniencasa sistemas operativosPlan evaluacion uniencasa sistemas operativos
Plan evaluacion uniencasa sistemas operativospuracastillo
 
Ejercicios propuestos ms
Ejercicios propuestos msEjercicios propuestos ms
Ejercicios propuestos mspuracastillo
 
Ejercicios propuestos metodo simplex
Ejercicios propuestos metodo simplexEjercicios propuestos metodo simplex
Ejercicios propuestos metodo simplexpuracastillo
 
Plan evaluación uniencasa investigación de operaciones
Plan evaluación uniencasa investigación de operacionesPlan evaluación uniencasa investigación de operaciones
Plan evaluación uniencasa investigación de operacionespuracastillo
 
Guia 2 metodo grafico
Guia 2 metodo graficoGuia 2 metodo grafico
Guia 2 metodo graficopuracastillo
 
Ejercicios propuestos metodo grafico
Ejercicios propuestos metodo graficoEjercicios propuestos metodo grafico
Ejercicios propuestos metodo graficopuracastillo
 
Entregables proyecto iii
Entregables proyecto iii Entregables proyecto iii
Entregables proyecto iii puracastillo
 
Baremos fase i y ii
Baremos fase i y iiBaremos fase i y ii
Baremos fase i y iipuracastillo
 
Estructura del informe final
Estructura del informe finalEstructura del informe final
Estructura del informe finalpuracastillo
 

Más de puracastillo (20)

ejerciciospropuestosgestionM.pdf
ejerciciospropuestosgestionM.pdfejerciciospropuestosgestionM.pdf
ejerciciospropuestosgestionM.pdf
 
Ejercicios Propuestos 2023
Ejercicios Propuestos 2023Ejercicios Propuestos 2023
Ejercicios Propuestos 2023
 
mapa conceptual.pptx
mapa conceptual.pptxmapa conceptual.pptx
mapa conceptual.pptx
 
clase invertida.pptx
clase invertida.pptxclase invertida.pptx
clase invertida.pptx
 
Guia N1_ Modelo de PL.pdf
Guia N1_ Modelo de PL.pdfGuia N1_ Modelo de PL.pdf
Guia N1_ Modelo de PL.pdf
 
Presentación sistema operativo.pptx
Presentación sistema operativo.pptxPresentación sistema operativo.pptx
Presentación sistema operativo.pptx
 
Unidad2 métodos cuantitativa
Unidad2 métodos cuantitativa Unidad2 métodos cuantitativa
Unidad2 métodos cuantitativa
 
Ejercicios Propuestos Sincronización.pdf
Ejercicios Propuestos Sincronización.pdfEjercicios Propuestos Sincronización.pdf
Ejercicios Propuestos Sincronización.pdf
 
Gestiond memoria-pnfi
Gestiond memoria-pnfiGestiond memoria-pnfi
Gestiond memoria-pnfi
 
Plan de clases proyecto iii fase1 2021
Plan de clases proyecto iii fase1 2021Plan de clases proyecto iii fase1 2021
Plan de clases proyecto iii fase1 2021
 
Plan evaluacion uniencasa sistemas operativos2
Plan evaluacion uniencasa sistemas operativos2Plan evaluacion uniencasa sistemas operativos2
Plan evaluacion uniencasa sistemas operativos2
 
Plan evaluacion uniencasa sistemas operativos
Plan evaluacion uniencasa sistemas operativosPlan evaluacion uniencasa sistemas operativos
Plan evaluacion uniencasa sistemas operativos
 
Ejercicios propuestos ms
Ejercicios propuestos msEjercicios propuestos ms
Ejercicios propuestos ms
 
Ejercicios propuestos metodo simplex
Ejercicios propuestos metodo simplexEjercicios propuestos metodo simplex
Ejercicios propuestos metodo simplex
 
Plan evaluación uniencasa investigación de operaciones
Plan evaluación uniencasa investigación de operacionesPlan evaluación uniencasa investigación de operaciones
Plan evaluación uniencasa investigación de operaciones
 
Guia 2 metodo grafico
Guia 2 metodo graficoGuia 2 metodo grafico
Guia 2 metodo grafico
 
Ejercicios propuestos metodo grafico
Ejercicios propuestos metodo graficoEjercicios propuestos metodo grafico
Ejercicios propuestos metodo grafico
 
Entregables proyecto iii
Entregables proyecto iii Entregables proyecto iii
Entregables proyecto iii
 
Baremos fase i y ii
Baremos fase i y iiBaremos fase i y ii
Baremos fase i y ii
 
Estructura del informe final
Estructura del informe finalEstructura del informe final
Estructura del informe final
 

Último

La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
celula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamicacelula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamicaFlor Idalia Espinoza Ortega
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfMaryRotonda1
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticosisabeltrejoros
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxMaritzaRetamozoVera
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 

Último (20)

La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
celula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamicacelula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamica
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdf
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticos
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 

Ejercicios propuestos Procesos e Hilos

  • 1. Ejercicios Propuestos 1. Escribe un programa en C que pida por teclado dos cadenas de caracteres y Después escriba cada cadena por pantalla carácter a carácter. La escritura de cada cadena deberá hacerla un proceso diferente. El proceso padre deberá esperar a que termine el proceso hijo. 2. Escribe un programa en C que reciba dos números enteros como parámetros de entrada y cree dos procesos de manera que cada uno calcule el Factorial de uno de los números, de forma concurrente, y utilizando el fichero ejecutable obtenido en el apartado anterior. El proceso padre será el último en terminar, es decir, que espere a la terminación de sus procesos hijos. 3. Escribir una función que lea de la entrada estándar un carácter y escriba ese carácter en un fichero cuyo descriptor se pasa como argumento a la misma. Una vez escrito en el fichero el carácter leído, la función escribirá por la salida estándar el identificador del proceso que ejecuta la función. 4. Escribe un programa en C que dada 3 matrices, sincronice los hilos del código se de tal forma que se imprima en primer lugar la primera fila de la matriz, a continuación la segunda, después la tercera y así sucesivamente hasta la ´última fila de la matriz. 5. Se desea imprimir las tablas de multiplicar del 1 al 10 de tal manera que ´estas se muestren respectivamente en 10 columnas consecutivas. Por lo tanto, en la primera línea se imprimirá el primer elemento de cada una de las sucesivas tablas (esto es, 1x1, 2x1,..., 10x1). En la segunda línea se imprimirá el segundo elemento de cada una de las sucesivas tablas (es decir, 1x2, 2x2,..., 10x2). Y así hasta llegar a imprimir (en la décima línea) el ´último elemento de cada tabla (esto es, 1x10, 2x10,..., 10x10). 6. En el programa que aparece más abajo se crean cinco hilos simulando a cinco comensales que están sentados en una mesa circular en el mismo orden en el que fueron creados. En el centro de la mesa hay un plato de arroz y un cucharón para servirlo. Los comensales se sirven el arroz de uno en uno y en el orden en que están sentados a la mesa; esto es, comensal 0, 1, 2, 3, 4, 0, 1, ... Los hilos sincronizan su ejecución de la forma arriba descrita utilizando mutex y variables de condición, Responder a las siguientes preguntas sobre este programa: (a) ¿Por qué no se incluye la función sleep, que simula el periodo en el que come un comensal, dentro del mutex? (b) El hilo principal crea los hilos en un bucle y espera a que finalicen en otro bucle. ¿Por qué no se realizan ambas operaciones en un ´único bucle? (c) Modifica la solución proporcionada para que se utilice una ´única variable de condición para la sincronización.
  • 2. #include <stdio.h> #include <stdlib.h> #include <pthread.h> #include <time.h> #define NHILOS 5 void *f_hilos(void *ind) { int indice; indice = (int)ind; while(1) { printf("Comensal %d: Sirve su comidan",indice); sleep(random() % 3); /* Comensal ind comiendo */ printf("Comensal %d: Plato vacion",indice); } pthread_exit(0); } main() { int i; pthread_t *hilos; time_t t; srandom(time(&t)); hilos = malloc(NHILOS * sizeof(pthread_t)); for (i = 0; i < NHILOS; i++) pthread_create(&hilos[i], NULL, f_hilos, (void for (i = 0; i < NHILOS; i++) pthread_join(hilos[i], NULL); pthread_exit(0); } 7. Para llevar esto a cabo se crearán 10 hilos, uno por tabla, que se ejecutaran concurrentemente. Y la sincronización entre hilos se realizará mediante mutex y variables de condición. Todos los hilos ejecutaran una misma función a la que se le pasará como argumento el número de su correspondiente tabla. El hilo principal finalizara cuando se haya impreso todas las tablas. 8. Implementa un programa en lenguaje C que cree 10 hilos de tipo “sumador” y otros 10 hilos de tipo “restador”. Los hilos sumadores sumarán uno a una variable global v, realizando cada uno esta operación 1000 veces. Los hilos restadores restarán uno a la variable global v y cada uno realizará esta operación 1000 veces. Se incluye la estricción de que el valor de la variable v no puede ser nunca negativo. Utiliza mutex y variables de condición para sincronizar la ejecución de los hilos. 9. Implementa un programa en lenguaje C que cree 10 hilos de tipo “sumador” y otros 10 hilos de tipo “restador”. Los hilos sumadores sumarán uno a una variable global v, realizando cada uno esta operación 1000 veces. Los hilos restadores restarán uno a la variable global v y cada uno realizará esta operación 1000 veces. Todos los hilos se ejecutaran concurrentemente. Se incluye la restricción de que no se pueden realizar dos operaciones iguales de forma consecutiva. O sea, si hace una suma, la siguiente operación debe ser una resta y viceversa. Utiliza mutex y variables de condición para sincronizar la ejecución de los hilos.
  • 3. 10. Realiza un programa en C que cree un hilo productor y 2 hilos consumidores y resuelva el problema del productor-consumidor con buffer circular limitado mediante mutex y variables de condición. Se valorara la eficiencia de la solución propuesta. 11. Realiza ejercicio N- 7, de la guía final SO. Compila y ejecuta cada ejercicio para comprobar su funcionamiento