SlideShare una empresa de Scribd logo
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 2023

Ejercicios Tema 1 1
Ejercicios Tema 1  1Ejercicios Tema 1  1
Ejercicios Tema 1 1jaquito1009
 
Clase 10
Clase 10Clase 10
Clase 10
esvin Rey
 
Presentación de matlab electromagnetismo ...
Presentación de matlab electromagnetismo                                     ...Presentación de matlab electromagnetismo                                     ...
Presentación de matlab electromagnetismo ...
SimonCaceres4
 
practicas dfd
practicas dfdpracticas 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
margothingrithllanca
 
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
margothingrithllanca
 
Taller2 lab stats_matlab
Taller2 lab stats_matlabTaller2 lab stats_matlab
Taller2 lab stats_matlabNar Dy
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
JuanKory Rey Hdez
 
Estructuras repetitivas
Estructuras repetitivasEstructuras repetitivas
Estructuras repetitivas
sena
 
Unidad 2 ensamblador
Unidad 2   ensambladorUnidad 2   ensamblador
Unidad 2 ensamblador
eveTalavera
 
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.0nedlud
 
Practicas de visual basic 6.0
Practicas de visual basic 6.0Practicas de visual basic 6.0
Practicas de visual basic 6.0BangMiriam3003
 

Similar a Ejercicios Propuestos 2023 (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
 
Manual de practicas
Manual de practicasManual de practicas
Manual de 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
 

Más de puracastillo

ejerciciospropuestosgestionM.pdf
ejerciciospropuestosgestionM.pdfejerciciospropuestosgestionM.pdf
ejerciciospropuestosgestionM.pdf
puracastillo
 
mapa conceptual.pptx
mapa conceptual.pptxmapa conceptual.pptx
mapa conceptual.pptx
puracastillo
 
clase invertida.pptx
clase invertida.pptxclase invertida.pptx
clase invertida.pptx
puracastillo
 
Guia N1_ Modelo de PL.pdf
Guia N1_ Modelo de PL.pdfGuia N1_ Modelo de PL.pdf
Guia N1_ Modelo de PL.pdf
puracastillo
 
Presentación sistema operativo.pptx
Presentación sistema operativo.pptxPresentación sistema operativo.pptx
Presentación sistema operativo.pptx
puracastillo
 
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.pdf
puracastillo
 
Ejercicios propuestos Procesos e Hilos
Ejercicios propuestos Procesos e Hilos Ejercicios propuestos Procesos e Hilos
Ejercicios propuestos Procesos e Hilos
puracastillo
 
Gestiond memoria-pnfi
Gestiond memoria-pnfiGestiond memoria-pnfi
Gestiond memoria-pnfi
puracastillo
 
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
puracastillo
 
Plan evaluacion uniencasa sistemas operativos2
Plan evaluacion uniencasa sistemas operativos2Plan evaluacion uniencasa sistemas operativos2
Plan evaluacion uniencasa sistemas operativos2
puracastillo
 
Plan evaluacion uniencasa sistemas operativos
Plan evaluacion uniencasa sistemas operativosPlan evaluacion uniencasa sistemas operativos
Plan evaluacion uniencasa sistemas operativos
puracastillo
 
Ejercicios propuestos ms
Ejercicios propuestos msEjercicios propuestos ms
Ejercicios propuestos ms
puracastillo
 
Ejercicios propuestos metodo simplex
Ejercicios propuestos metodo simplexEjercicios propuestos metodo simplex
Ejercicios propuestos metodo simplex
puracastillo
 
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
puracastillo
 
Guia 2 metodo grafico
Guia 2 metodo graficoGuia 2 metodo grafico
Guia 2 metodo grafico
puracastillo
 
Ejercicios propuestos metodo grafico
Ejercicios propuestos metodo graficoEjercicios propuestos metodo grafico
Ejercicios propuestos metodo grafico
puracastillo
 
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 ii
puracastillo
 
Estructura del informe final
Estructura del informe finalEstructura del informe final
Estructura del informe final
puracastillo
 

Más de puracastillo (20)

ejerciciospropuestosgestionM.pdf
ejerciciospropuestosgestionM.pdfejerciciospropuestosgestionM.pdf
ejerciciospropuestosgestionM.pdf
 
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
 
Ejercicios propuestos Procesos e Hilos
Ejercicios propuestos Procesos e Hilos Ejercicios propuestos Procesos e Hilos
Ejercicios propuestos Procesos e Hilos
 
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

El ensayo mexicano en el siglo XX LITERATURA
El ensayo mexicano en el siglo XX LITERATURAEl ensayo mexicano en el siglo XX LITERATURA
El ensayo mexicano en el siglo XX LITERATURA
Armando920824
 
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
20minutos
 
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIACONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
BetzabePecheSalcedo1
 
IMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁ
IMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁIMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁ
IMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁ
Claude LaCombe
 
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptxNuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
lautyzaracho4
 
El Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundoEl Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundo
SandraBenitez52
 
Libro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdfLibro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdf
danitarb
 
Junio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividadesJunio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividades
cintiat3400
 
Examen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdfExamen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdf
20minutos
 
El espiritismo desenmascarado.pdf. Lec. 10
El espiritismo desenmascarado.pdf. Lec. 10El espiritismo desenmascarado.pdf. Lec. 10
El espiritismo desenmascarado.pdf. Lec. 10
Alejandrino Halire Ccahuana
 
Sesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdfSesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdf
https://gramadal.wordpress.com/
 
Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...
Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...
Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...
AracelidelRocioOrdez
 
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptxc3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
Martín Ramírez
 
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJELA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
jecgjv
 
PLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxx
PLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxxPLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxx
PLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxx
cportizsanchez48
 
Sesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdfSesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdf
https://gramadal.wordpress.com/
 
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdfAsistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Demetrio Ccesa Rayme
 
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
pablomarin116
 
Blogs_y_Educacion_Por Zaracho Lautaro_.pdf
Blogs_y_Educacion_Por Zaracho Lautaro_.pdfBlogs_y_Educacion_Por Zaracho Lautaro_.pdf
Blogs_y_Educacion_Por Zaracho Lautaro_.pdf
lautyzaracho4
 
Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...
Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...
Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...
HuallpaSamaniegoSeba
 

Último (20)

El ensayo mexicano en el siglo XX LITERATURA
El ensayo mexicano en el siglo XX LITERATURAEl ensayo mexicano en el siglo XX LITERATURA
El ensayo mexicano en el siglo XX LITERATURA
 
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
 
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIACONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
 
IMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁ
IMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁIMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁ
IMÁGENES SUBLIMINALES EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁ
 
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptxNuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
 
El Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundoEl Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundo
 
Libro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdfLibro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdf
 
Junio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividadesJunio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividades
 
Examen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdfExamen Lengua y Literatura EVAU Andalucía.pdf
Examen Lengua y Literatura EVAU Andalucía.pdf
 
El espiritismo desenmascarado.pdf. Lec. 10
El espiritismo desenmascarado.pdf. Lec. 10El espiritismo desenmascarado.pdf. Lec. 10
El espiritismo desenmascarado.pdf. Lec. 10
 
Sesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdfSesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdf
 
Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...
Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...
Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...
 
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptxc3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
 
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJELA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
 
PLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxx
PLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxxPLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxx
PLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxx
 
Sesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdfSesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdf
 
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdfAsistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
 
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
 
Blogs_y_Educacion_Por Zaracho Lautaro_.pdf
Blogs_y_Educacion_Por Zaracho Lautaro_.pdfBlogs_y_Educacion_Por Zaracho Lautaro_.pdf
Blogs_y_Educacion_Por Zaracho Lautaro_.pdf
 
Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...
Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...
Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...
 

Ejercicios Propuestos 2023

  • 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