Anda di halaman 1dari 4

Guía de Sistemas Operativos 1

Administración de memoria

1. Entender para qué sirve la memoria real


La memoria real o principal es en donde son ejecutados los programas y procesos de una computadora
y es el espacio real que existe en memoria para que se ejecuten los procesos.

2. Identificar los diferentes tipos de memoria, así como la jerarquía que existe en base a los criterios:
costo, tamaño de la memoria y velocidad de acceso a la memoria

3. Aprender y diferenciar las tres estrategias de administración de memoria:


a. De Lectura o fetch (criterios para saber cuándo llevar los programas a la memoria)
i. Paginación anticipada: El sistema operativo aplica funciones probabilísticas para colocar
en memoria datos de programa que el usuario podría ocupar. El sistema operativo verifica
el comportamiento del usuario, ahorrando tiempo en el acceso, pero desperdiciando
espacio.
ii. Paginación por demanda: La siguiente parte del programa o de los datos se transfiere al
almacenamiento principal cuando un programa en ejecución hace referencia a ella. Es
decir, el usuario solicita la información, hasta ese momento el sistema operativo lo carga en
memoria.

b. De Colocación (criterios para saber dónde colocar los programas en la memoria)


i. Primer ajuste: Un trabajo nuevo es colocado en el primer agujero disponible con tamaño
suficiente para alojarlo.
ii. Mejor ajuste: Un trabajo nuevo es colocado en el agujero en el cual quepa de forma más
ajustada (deje dejarse el menor espacio sin usar).
iii. Peor ajuste: Consiste en colocar un programa en el agujero en el que quepa de la peor
manera, es decir en el más grande posible (El agujero restante es también grande para
poder alojar a un nuevo programa relativamente grande).
c. De Reemplazo (criterios para saber cuál programa reemplazar para colocar otro)
i. FIFO: Se selecciona la página que más tiempo lleva cargada en memoria principal. Se
implementa con una FIFO por orden de carga, es decir, a medida que se cargan en
memoria principal las páginas son añadidas a la cola.
El inconveniente de este criterio es que las páginas más usadas son las que más tiempo
deberían permanecer en memoria, y son las más atacadas. No se debe suponer que, si las
páginas “dejarán de ser necesarias”, implica que “ya no sean necesarias”. Además, se
produce la anomalía de Belady, efecto que consiste en la posibilidad de tener más fallos de
página al aumentar el número de marcos en la memoria física:

ii. LFU: Se selecciona a la página que haya sido accedida con menor frecuencia. Se
implementa mediante un contador. Básicamente, por cada acceso se incrementa el
contador de uso de la página. La página víctima será aquella con menor contador. Cuando
una página es expulsada a disco su contador pasa a ser cero. Es inviable en la práctica,
pues supone mantener contadores de tamaños muy grande, uno por cada página en
memoria, y por cada acceso a memoria podría ser necesario ejecutar una rutina que
actualice la lista.

iii. LRU: Es justamente el criterio contrario al MRU. En LRU elegimos la página que más
tiempo lleve sin ser accedida. Se implementa mediante una FIFO que mantiene el orden de
acceso a las páginas. Es decir, cada vez que se accede a una página, en caso de estar ya
en la FIFO, se retira de la cola y se añade al final.
4. Entender las diferentes Técnicas de asignación de memoria y saber cómo quedan en la memoria
los programas
a. Asignación contigua: En un modelo de memoria con asignación contigua, todo el espacio lógico de un
proceso (Código, Datos, Pila) ha de estar ubicado de forma contigua en memoria principal, es decir en
direcciones físicas consecutivas.
b. Asignación no contigua (memoria virtual): En la “asignación no contigua” un programa se divide en
varios bloques o “segmentos” que pueden almacenarse en direcciones que no tienen que ser
necesariamente adyacentes, por lo que es más compleja pero más eficiente que la asignación continua.

5. Técnica de monoprogramación
a. Por qué se llama así: Porque los primeros ordenadores no disponían por completo del hardware y
utilizaban su memoria a su antojo, no exitista sistema operativo, ni gestor de la memoria y en este
modelo la utilización de la memoria era ineficaz y de obligaba, además, a un conocimiento profundo del
hardware utilizado.
b. Cómo se realiza la protección de memoria: Se establece una dirección frontera que limita la zona
donde está cargado el sistema operativo (si es mayor igual se acepta/manda a memoria principal, si no lo
rechaza).
c. Qué significa traducción y carga absoluta: Traducción= compilador Carga absoluta= direcciones
fijas hacia la parte de la memoria donde se cargan los programas.

6. Técnica de multiprogramación de particiones fijas con traducción y carga absoluta


a. Cuántas particiones puede haber: Las particiones son de tamaño fijo, cualesquiera.
b. Cuántos programas se pueden ejecutar por partición: Solo puede haber un proceso a la vez.
c. Por qué existe una fila de procesos para cada partición: La CPU se cambia rápidamente entre los
procesos creando la ilusión desimultaneidad.
d. Qué criterio podría Ud. Seguir para definir el tamaño de las particiones:

7. Técnica de multiprogramación de particiones fijas con traducción y carga relocalizable


a. Qué significa la “traducción y carga relocalizable”: Traducción: compilador Carga relocalizable:
direcciones no fijas hacia la parte de la memoria donde se cargan los programas.
b. Por qué sólo existe una fila para todas las particiones: La CPU atiende a cada uno de los procesos
que son formados conforme van llegando a la memoria.
c. Mencione dos ventajas de esta técnica respecto de la anterior (6)
8. Técnica de multiprogramación de partición variable
a. Por qué sólo existe una fila para todas las particiones: Porque el CPU atiende a cada uno de los
procesos que son formados conforme van llegando a la memoria.
b. De qué tamaño son las particiones: Particiones de tamaño variable.
c. Cuántas particiones podría haber: Esta técnica se usa para producir programas relocalizables que
puedan ser ejecutados en cualquier partición disponible de tamaño suficiente para aceptarlos.
d. Cuando terminan de ejecutarse los procesos, dejan “huecos” o espacios libres
(fragmentación) en la memoria. Estos espacios se pueden controlar a través de una tabla de
espacios libres
e. Diferenciar entre combinación y Compactación o desfragmentación
f. A continuación, un ejemplo donde se aplican los conceptos de esta técnica:

Se tiene una memoria de 200K y el SO ocupa 40K, por lo tanto quedan 160K para el
usuario.
Se manejan particiones variables y se van a ejecutar los siguientes procesos:
A=25K, B=20K, C=10K, D=10K, E=25K, F=30K, G=40K
Luego terminan de ejecutarse A, C, D y F
a. Preparar una gráfica de cómo queda la memoria después de terminar los procesos
citados
b. Hacer dos tablas, una de los procesos en memoria y otra de los espacios libres en
memoria
SO En esta gráfica, sólo quedan en memoria los procesos B, E y G
40
A Como el El SO ocupa 40K, el proceso A se carga en la
65 posición 40, el B a partir de la 65, el C a partir de la 85 y así
B=20
C B 85 sucesivamente se van cargando los programas
D 95
E=25 105 En esta gráfica ya no aparecen los programas que terminan
130
F
160 Por lo tanto las tablas muestran lo siguiente:
G=40

Procesos en Memoria Espacios Libres


Proceso Inicio Tamaño Inicio Tamaño
B 65 20 40 25
E 105 25 85 10
G 160 40 95 10
130 30

c. Ahora en los espacios libres que quedaron, se colocarán los siguientes procesos:
X=15, Y=25 y Z=30, bajo los criterios primer ajuste, mejor ajuste y peor ajuste. Antes de
colocar los procesos, aplique el concepto “combinación”

Tamaño Primer Ajuste Mejor ajuste Peor ajuste


Espacio
libre
25 X / 10 Y/0 Y/0
20 X/5
30 Y/5 Z/0 X / 15

NO CABE Z Z

Se aplica la combinación a los espacios que inician en 85 de 10 y 95 de 10, quedando el


espacio libre de 20, como se muestra en la tabla.
Luego se colocan los procesos por primer ajuste. En este caso el programa Z ya no se
puede colocar, pues sólo quedan espacios de 10, 20 y 5.
En el mejor ajuste, logran colocarse todos los procesos
Bajo el peor ajuste, el Z ya no logra colocarse por no quedar un espacio libre de
suficiente tamaño.
Ahora resuelva el siguiente problema basándose en el ejemplo anterior:

Se tiene una memoria de 190K y el SO ocupa 30K, por lo tanto quedan 160K para el
usuario.
Se manejan particiones variables y se van a ejecutar los siguientes procesos:
A=30K, B=20K, C=10K, D=15K, E=20K, F=30K, G=35K
Luego terminan de ejecutarse A, C, D y G
d. Preparar una gráfica de cómo queda la memoria después de terminar los procesos
citados
e. Hacer una tabla de los procesos en memoria
f. Hacer una tabla de los espacios libres en memoria

Procesos en Memoria Espacios Libres


Proceso Inicio Tamaño Inicio Tamaño
B 60 20 30 30
E 105 20 80 10
F 125 30 90 15
155 35

g. Ahora en los espacios libres que quedaron, se colocarán los siguientes procesos:
X=20, Y=30 y Z=25, bajo los criterios primer ajuste, mejor ajuste y peor ajuste. Antes de
colocar los procesos, aplique el concepto “combinación”

Tamaño Primer Ajuste Mejor ajuste Peor ajuste


Espacio
libre
30 X/10 Z/5 X/10
25 Z/0 x/5
35 Y/5 Y/5 Z/10

NO CABE Y

Anda mungkin juga menyukai