Documente Academic
Documente Profesional
Documente Cultură
ALGORITMOS DE PLANIFICACIÓN
Algunos datos útiles sobre los algoritmos de PLANIFICACIÓN:
FCFS
SJF
INTERBLOQUEO
Ventaja
El algoritmo más rápido porque busca lo menos posible.
Desventaja
Las áreas de memoria restantes no utilizadas que quedan después de la asignación se convierten en desperdicio
si es demasiado pequeño. Por lo tanto, la solicitud de un requisito de memoria mayor no se puede cumplir.
2. Mejor ajuste
El mejor ajuste trata de asignar la partición libre más pequeña que cumpla con los requisitos del proceso de
solicitud. Este algoritmo primero busca en la lista completa de particiones libres y considera el agujero más
pequeño que sea adecuado. Luego trata de encontrar un agujero que esté cerca del tamaño real del proceso
necesario.
Ventaja
La utilización de la memoria es mucho mejor que el primer ajuste, ya que busca la partición libre más pequeña
disponible por primera vez.
Desventaja
Es más lento e incluso puede tender a llenar la memoria con pequeños agujeros inútiles.
3. Peor ajuste
En el peor enfoque, es ubicar la porción libre más grande disponible para que la porción restante sea lo
suficientemente grande como para ser útil. Es el reverso del mejor ajuste.
Ventaja
Reduce la tasa de producción de pequeñas brechas.
Desventaja
Si un proceso que requiere mayor memoria llega a una etapa posterior, entonces no puede acomodarse ya que el
agujero más grande ya está dividido y ocupado.
4. Sistema de amigos
En el sistema de amigos, los tamaños de los bloques libres tienen una forma de potencia integral de 2. Por ejemplo,
2, 4, 8, 16, etc. Hasta el tamaño de la memoria. Cuando se solicita un bloque libre de tamaño 2k, se asigna un
bloque libre de la lista de bloques libres de tamaño 2k. Si no hay disponible un bloque libre de tamaño 2k, el bloque
del siguiente tamaño más grande, 2k + 1, se divide en dos mitades llamadas amigos para satisfacer la solicitud.
Ejemplo
Deje que el tamaño total de la memoria sea de 512 KB y deje que un proceso P1 requiera el intercambio de 70
KB. Como las listas de agujeros son solo para potencias de 2, 128 KB será lo suficientemente grande. Inicialmente,
no hay 128 KB, ni los bloques de 256 KB. Por lo tanto, el bloque de 512 KB se divide en dos amigos de 256 KB
cada uno, uno más se divide en dos bloques de 128 KB y uno de ellos se asigna al proceso. El siguiente P2
requiere 35 KB. Redondeando 35KB hasta una potencia de 2, se requiere un bloque de 64KB.
Entonces, cuando el bloque de 128 KB se divide en dos amigos de 64 KB. Nuevamente, un proceso P3 (130 KB)
se ajustará en los 256 KB completos. Después de satisfacer la solicitud de esta manera cuando dicho bloque es
libre, los dos bloques / compañeros pueden recombinarse para formar el bloque original dos veces más grande
cuando la segunda mitad del compañero también está libre.
Ventaja
El sistema de amigos es más rápido. Cuando se libera un bloque de tamaño 2k, se busca un agujero de memoria
de 2k para verificar si es posible una fusión, mientras que en otros algoritmos se debe buscar en toda la lista de
agujeros.
Desventaja
A menudo se vuelve ineficiente en términos de utilización de memoria. Como todas las solicitudes deben
redondearse a una potencia de 2, se asigna un proceso de 35 KB a 64 KB, lo que desperdicia 29 KB adicionales
y causa fragmentación interna. Puede haber agujeros entre los amigos que causan fragmentación externa.
5. Siguiente ajuste
El siguiente ajuste es una versión modificada del primer ajuste. Comienza como primer ajuste para encontrar una
partición libre. Cuando se llama la próxima vez, comienza a buscar desde donde se quedó, no desde el principio.
PAGINACIÓN Y SEGMENTACIÓN
¿Cuáles son las diferencias entre paginación y segmentación?
Answer:
The system obviously is spending most of its time paging, indicating over-allocation of memory. If the level of
multiprogramming is reduced resident processes would page fault less frequently and the CPU utilization would
improve. Another way to improve performance
would be to get more physical memory or a faster paging drum.
Ejercicio 2
Suponga un sistema operativo con un administrador de memoria paginada cuyo tamaño de página es de 8KB. Se conoce que
el sistema operativo funciona sobre un procesador cuyo tamaño de palabra es de 64 bits.
A) Calcule el tamaño máximo que puede llegar a alcanzar la tabla de página de un proceso, suponiendo que cada entrada de
la tabla de páginas ocupa 128 bits.
B) Calcule cuántas páginas puede llegar a ocupar como máximo la tabla de páginas.
C) Dado un proceso en ejecución que requiere 7 Mbytes, calcule cuántas entradas de la tabla de páginas están siendo
empleadas por dicho proceso en el sistema descrito anteriormente.
Apartado a)
Nuestra tabla de páginas tendrá tantas entradas como páginas tenga, por lo que tiene 2^51 entradas. Si sabemos que cada
entrada ocupa 128 bits (16 B =2^4 B) el tamaño de la tabla de páginas será 2^51 * 2^4 = 2^55 B
Apartado b)
Sabiendo el tamaño de la tabla de páginas y del tamaño de página, podemos saber cuántas páginas hay.
2^55 B / 2^13 B = 2^42 páginas = 4 Tera Páginas
Apartado c)
Si el proceso ocupa 7*2^20 B y cada página de la tabla de páginas ocupa 8 KB (2^13 B) tendremos : 7*2^20 B / 2^13 B = 7 *
2^7 entradas de la tabla de páginas están siendo ocupadas.
FIFO Encuentre el primer segmento lo suficientemente grande como para acomodar el segmento entrante. Si
la reubicación no es posible y ningún segmento es lo suficientemente grande, seleccione una combinación de
segmentos cuyas memorias sean contiguas, que estén "más cercanas al primero de la lista" y que puedan
acomodar el nuevo segmento. Si es posible la reubicación, reorganice la memoria de modo que los primeros
N segmentos lo suficientemente grandes para el segmento entrante estén contiguos en la memoria. Agregue
cualquier espacio sobrante a la lista de espacios libres en ambos casos.
LRU Seleccione el segmento que no se haya utilizado durante el período de tiempo más largo y que sea lo
suficientemente grande, agregando cualquier espacio restante a la lista de espacios libres. Si ningún
segmento es lo suficientemente grande, seleccione una combinación de los segmentos "más antiguos" que
estén contiguos en la memoria (si la reubicación no está disponible) y que sean lo suficientemente grandes.
Si está disponible la reubicación, reorganice los N segmentos más antiguos para que sean contiguos en la
memoria y reemplace aquellos con el nuevo segmento.
Estrategias/algoritmos de reemplazo de página