Sunteți pe pagina 1din 16

HILOS Y PROCESOS

ALGORITMOS DE PLANIFICACIÓN
Algunos datos útiles sobre los algoritmos de PLANIFICACIÓN:

¿Cuáles son los diferentes principios que deben considerarse al seleccionar un


algoritmo de planificación?
Respuesta: El objetivo / principal que debe tenerse en cuenta al seleccionar una política de programación es
el siguiente:
1. Equidad : todos los procesos deben tratarse de la misma manera. Ningún proceso debería sufrir un
aplazamiento indefinido.
2. Maximice el rendimiento : alcance el rendimiento máximo. Se debe mantener el mayor número posible de
procesos por unidad de tiempo.
3. Previsibilidad : un trabajo determinado debe ejecutarse en aproximadamente la misma cantidad de tiempo
predecible y al mismo costo, independientemente de la carga en el sistema.
4. Uso máximo de recursos : los recursos del sistema deben mantenerse ocupados. El aplazamiento
indefinido debe evitarse imponiendo prioridades.
5. Tiempo controlado : debe haber control sobre los diferentes tiempos
○ Tiempo de respuesta
○ Tiempo de respuesta
○ Tiempo de espera

El objetivo debe ser minimizar los tiempos mencionados anteriormente.

FCFS
SJF
INTERBLOQUEO

Algoritmo del banquero


MEMORIA VIRTUAL
Convertir de memoria virtual a memoria física

Question: Explain the following allocation algorithms.


1. First Fit
2. Best fit
3. Worst fit
4. Buddy's system
5. Next fit
1. Primer ajuste
En el primer enfoque de ajuste es asignar la primera partición libre o agujero lo suficientemente grande como para
acomodar el proceso. Termina después de encontrar la primera partición libre adecuada.

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.

Solución de los ejercicios de paginación y segmentación


El tamaño de página es de 8KB = 2^13 B --> 13 bits para la zona de offset.
El tamaño de palabra del procesador es de 64 bits.
Conocido el offset y el tamaño de la palabra podemos obtener los bits que ocupan la zona de nº página (64 bits - 13bits).
DIRECCIÓN LÓGICA
┌─────────────────────┬────────────────┐
│ nº página (51 bits) │ offset(13 bits)│
└─────────────────────┴────────────────┘

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

S-ar putea să vă placă și