UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO FACULTAD DE CIENCIA FÍSICAS Y MATEMÁTICAS ESCUELA PROFESIONAL DE INGENIERÍA EN COMPUTACIÓN E INFORMÁTICA Práctica Calificada Responsables del Trabajo: Chimoy Lamas Luis Anghel Curso: Sistemas Operativos Docente: Ing. Luis Reyes Lescano Ciclo 2023-II Lambayeque 2024 PRÁCTICA CALIFICADA N°2. 1. Se tienen los siguientes procesos: a. Proc T.Lleg T.CPU Inst INT A Inst INT B PRIOR P1 4 5 4 12 A P2 6 3 8 12 C P3 3 4 8 12 A P4 2 3 4 12 B P5 1 5 4 16 C Se pide desarrollar el modelo de estados Bloqueado – Suspendido, si: N: L.E L: Prioridades A>C>B, se ejecuta < prioridad B: Pila S: Pila 1Q ≡ 4inst / 1UT CPU INT A ---> 2Q en M.F INT B ---> 2Q en M.F Y 2Q en DAS El Análisis de Estructura de Datos: b. Análisis de Estados (Controlador de Tráfico): Proceso Ejecución P5 0-19 P4 0-11 P3 0-15 P1 0-19 P2 0-11 P5 0-19 P4 0-11 P3 0-15 P1 0-19 P2 0-11 Estado N N N N N L L L L L P4 0-3 E P4 0-3 L P4 4-7 E P4 4-7 B(A) P5 0-3 E P5 0-3 B(A) P5 4-7 S P2 0-3 E P2 0-3 B(B) P5 0-3 S P4 4-7 L P4 8-11 E P4 8-11 B(B) P5 0-3 L P5 4-7 E P5 4-7 L P4 8-11 SP P5 8-11 E P5 8-11 L P2 0-3 L P2 4-7 E P2 4-7 L P2 8-11 E P2 8-11 B(A) P5 12-15 E P5 12-15 B(B) P2 8-11 SP P3 0-3 E P3 0-3 B(A) P5 12-15 S P1 0-3 E P1 0-3 B(A) 1UO P5 12-15 L P5 16-19 E P5 16-19 T P3 0-3 L P3 4-7 E P3 4-7 L P3 8-11 E P3 8-11 B(B) P1 0-3 L P3 8-11 S P1 4-7 E P1 4-7 B(A) 1UO P3 8-11 L P3 12-16 E P3 12-16 T P1 4-7 L P1 8-11 E P1 8-11 L P1 12-15 E P1 12-15 T P1 16-19 E P1 16-19 T 2. Explique el funcionamiento de un algoritmo de administración de memoria particionada dinámica. Desarrolle 1 ejercicio que involucre los estados de memoria física y las estructuras de datos del sistema operativo; asimismo los respectivos eventos de llegada y terminación de trabajos. Un algoritmo de administración de memoria particionada dinámica fragmenta la memoria principal en segmentos de tamaño variable y asigna a cada proceso una sección acorde a sus necesidades. Cuando un proceso necesita memoria, se busca una sección apropiada y se le asigna. En caso de que una sección sea más grande de lo necesario, puede ser dividida para adaptarse al tamaño requerido. Cuando se libera memoria, las secciones se identifican como disponibles para futuras asignaciones, lo que facilita una gestión eficiente de los recursos y reduce al mínimo el desperdicio de memoria. 3. Explique el funcionamiento de un algoritmo de administración de memoria particionada dinámica Reubicable. Desarrolle 1 ejercicio que involucre los estados de memoria física y las estructuras de datos del sistema operativo; asimismo los respectivos eventos de llegada y terminación de trabajos. Un algoritmo de administración de memoria particionada dinámica reubicable fragmentada la memoria en segmentos flexibles, los cuales pueden modificarse en tamaño y ubicación según las necesidades de los procesos. Por lo cual, cuando un proceso necesita memoria, se busca una partición apropiada que puede ajustarse dinámicamente para adaptarse al tamaño del proceso. Por eso al liberar memoria, las particiones pueden combinarse o moverse para mantener la eficiencia en el uso de la memoria. Este método reduce la fragmentación y maximiza la utilización de la memoria del sistema, lo que permite una gestión más efectiva de los recursos disponibles. Ejercicio Configuración inicial: Tenemos una memoria física dividida en particiones de tamaño variable: - Partición A: 8 KB - Partición B: 16 KB - Partición C: 4 KB - Partición D: 12 KB - Partición E: 6 KB - Partición F: 10 KB La tabla de particiones inicialmente muestra todas las particiones como libres. Proceso 1: Cuando el proceso P1 llega y solicita 5 KB de memoria, el sistema operativo busca una partición apropiada y encuentra la Partición B, que tiene un tamaño de 16 KB y es lo suficientemente grande para P1. Luego, asigna la Partición B al proceso P1 y deja 11 KB sin utilizar dentro de esta partición. Proceso 2: Cuando llega el proceso P2 y solicita 7 KB de memoria, el sistema operativo busca una partición adecuada y opta por dividir la Partición B, que tiene un tamaño de 16 KB, en dos partes: Partición B1 con 7 KB y Partición B2 con 9 KB. Luego, asigna la Partición B1 al proceso P2 y marca 0 KB como no utilizados en esta partición. La Partición B2 queda disponible y se etiqueta como libre. Proceso 3: Cuando el proceso P3 llega y solicita 3 KB de memoria, el sistema operativo busca una partición adecuada y encuentra la Partición C, que tiene un tamaño de 4 KB y es lo suficientemente grande para P3. Luego, asigna la Partición C al proceso P3 y deja 1 KB sin utilizar dentro de esta partición. Proceso 4: Cuando el proceso P4 llega y solicita 8 KB de memoria, el sistema operativo busca una partición adecuada y opta por dividir la Partición B2, que tiene un tamaño de 9 KB, en dos partes: Partición B2A con 8 KB y Partición B2B con 1 KB. Luego, asigna la Partición B2A al proceso P4 y marca 0 KB como no utilizados en esta partición. Después, la Partición B2B queda disponible y se etiqueta como libre. Proceso 5: Cuando el proceso P5 llega y requiere 10 KB de memoria, el sistema operativo busca una partición adecuada y encuentra la Partición B2B, que tiene solo 1 KB, insuficiente para las necesidades de P5. Luego, busca otra partición y encuentra la Partición D, que tiene 12 KB y es lo suficientemente grande para P5. Posteriormente, asigna la Partición D al proceso P5 y deja 2 KB sin utilizar dentro de esta partición. Proceso 1 (termina): Después de que el proceso P1 finaliza su ejecución y libera la Partición B, ahora contamos con una Partición B disponible de 11 KB y una Partición B2A ocupada por P4 con 8 KB de capacidad. Resumen de la situación actual: - Partición A: 8 KB (libre) - Partición B: 11 KB (libre) - Partición C: 3 KB (ocupada por P3) - Partición D: 10 KB (ocupada por P5) - Partición E: 6 KB (libre) - Partición F: 10 KB (libre) - Partición B1: 7 KB (ocupada por P2) - Partición B2: 0 KB (libre) - Partición B2B: 1 KB (libre) - Partición B3: 0 KB (libre) - Partición B4: 0 KB (libre) 4. Relacione un controlador de tráfico con una administración de memoria virtual. Desarrolle 1 ejemplo de dicha interacción. Un ejemplo de interacción entre un controlador de tráfico y la administración de memoria virtual podría ser en un entorno de servidor de aplicaciones donde múltiples usuarios acceden a una aplicación alojada en el servidor a través de una red. En este escenario: Solicitud de datos: Un usuario solicita ciertos datos a través de la aplicación. Estos datos pueden estar almacenados tanto en la memoria RAM del servidor como en el almacenamiento en disco. Acceso a la memoria virtual: Cuando la aplicación necesita acceder a datos que no están actualmente en la memoria RAM física del servidor, el sistema operativo utiliza la administración de memoria virtual para cargar estos datos desde el almacenamiento en disco al espacio de memoria virtual. Control de tráfico: Mientras se están transfiriendo los datos desde el almacenamiento en disco a la memoria virtual, el controlador de tráfico puede intervenir para garantizar un equilibrio adecuado en el uso de la red. Por ejemplo, puede priorizar las solicitudes de datos críticos sobre otras, o puede limitar la velocidad de transferencia de datos para evitar congestionar la red. Procesamiento de la solicitud: Una vez que los datos solicitados están disponibles en la memoria virtual, la aplicación puede acceder a ellos para procesar la solicitud del usuario. Optimización de recursos: Durante todo este proceso, tanto el controlador de tráfico como la administración de memoria virtual trabajan en conjunto para optimizar el uso de los recursos disponibles. Por ejemplo, el controlador de tráfico puede ajustar dinámicamente las políticas de priorización según la carga de la red y la disponibilidad de recursos, mientras que la administración de memoria virtual puede gestionar eficientemente la transferencia de datos entre la memoria RAM y el almacenamiento en disco para minimizar el tiempo de acceso a los datos.