Subido por Luis Anghel Chimoy Lamas

PRÁCTICA CALIFICADA - Chimoy Lamas Luis Anghel

Anuncio
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.
Descargar