



Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Los mejores documentos en venta realizados por estudiantes que han terminado sus estudios
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Descubre las mejores universidades de tu país según los usuarios de Docsity
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
MATERIA SISTEMA OPERATIVO ACTIVIDAD C++
Tipo: Ejercicios
1 / 6
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!
SIMULACIÓN DE ASIGNACIÓN DE RECURSOS Y DETECCIÓN DE INTERBLOQUEOS
1 #include
78 if (interbloqueo) { 79 // Proceso está en estado de interbloqueo 80 } else { 81 //Proceso NO recibe los recursos 82 } 83 } 84 } 85 } 86 87 int main() { 88 // Definir los procesos 89 Proceso p1 = {"P1", 50 , 2 }; 90 Proceso p2 = {"P2", 200 , 1 }; 91 Proceso p3 = {"P3", 50 , 1 }; 92 // Agregar los procesos al vector de procesos 93 procesos.push_back(p1); 94 procesos.push_back(p2); 95 procesos.push_back(p3); 96 97 // Definir los recursos disponibles 98 int memoriaDisponible = 100 ; 99 int velocidadCPU = 4 ; 100 101 // Ejecutar los diferentes mecanismos de asignación de recursos 102 cout << "Asignación preventiva:" << endl; 103 asignacionPreventiva(memoriaDisponible, velocidadCPU); 104 105 cout << endl << "Asignación por solicitud y liberación:" << endl; 106 asignacionPorSolicitudYLiberacion(memoriaDisponible, velocidadCPU); 107 cout << endl << "Asignación por detección y recuperación:" << endl; asignacionPorDeteccionYRecuperacion(memoriaDisponible, velocidadCPU); return 0 ; } //R: 02InterbloqueoSimuladorTratamiento Con las modificaciones
Explicación: Estos resultados son coherentes con los requisitos de recursos definidos en los procesos y los valores de recursos disponibles que estableciste en el código. El programa simula un escenario donde algunos procesos pueden ser asignados correctamente mientras que otros no, dependiendo de los recursos que requieren y los recursos disponibles. Cambios: Se han introducido dos procesos adicionales (P4 y P5) a la lista de procesos ya existentes (procesos.push_back(p4); procesos.push_back(p5);). Cada uno de estos procesos tiene sus propias necesidades de memoria (memoriaRequerida) y velocidad de CPU (cpuRequerida). Ajuste de los recursos disponibles: Se han establecido los valores de nuevaMemoriaDisponible y nuevaVelocidadCPU como nuevos valores para simular un escenario distinto de recursos. Actualización de la función asignacionPreventiva: Se han modificado los mensajes de salida para indicar si un proceso ha sido asignado correctamente o si no ha podido ser asignado debido a la falta de recursos. Modificaciones en el código: Incorporación de nuevos procesos: Se han introducido dos procesos adicionales (P4 y P5) a la lista de procesos ya existentes (procesos.push_back(p4); procesos.push_back(p5);). Cada uno de estos procesos tiene sus propias necesidades de memoria (memoriaRequerida) y velocidad de CPU (cpuRequerida). Ajuste de los recursos disponibles: Se han establecido los valores de nuevaMemoriaDisponible y nuevaVelocidadCPU como nuevos valores para simular un escenario distinto de recursos. Actualización de la función asignacionPreventiva: Se han modificado los mensajes de salida para indicar si un proceso ha sido asignado correctamente o si no ha podido ser asignado debido a la falta de recursos. Analizando compilación : "Asignación preventiva con otros nuevos recursos:"