1.
La
Memoria
Administración de la memoria:
Organización de memoria es la forma como está organizada
la memoria dentro de un sistema operativo y como le doy el máximo de
rendimiento, posee dos clases de alojamientos.
1.
Alojamiento continuo:
partición fija, partición variable
2.
Alojamiento disperso:
paginación, segmentación, paginación +segmentación
Estrategias de administración de la memoria
virtual:
1.
Fetch: demanda,
anticipado, que traer de memoria secundaria a memoria primaria
2.
Colocación: al traer
de memoria real a un segmento es para saber o decidir dónde colocarlo analizar
si el espacio es suficiente o que proceso debo hacer para que este pueda ser
guardado.
3.
Reemplazo: cambio de
espacios de memoria, utilización y ubicación de la misma en el disco.
Primero debo decidir que debo mover del disco
a la memoria, luego donde lo coloco y si no hay espacio decidir que saco para
ingresar el nuevo proceso.
La memoria está catalogada en dos partes
memoria real y memoria virtual
Memoria real: esquemas donde el requerimiento
es continuo
Memoria virtual: alojamiento es disperso,
dividir procesos en porciones pequeñas donde puedo ir cargándolo a media que se
necesiten, la evolución partió de memoria continua y evoluciono hacia memoria
virtual o disperso.
Hay una jerarquía de memoria donde se
muestras propia Velocidad, Tamaño,
costo, el tamaño está asociado a su tamaño, son más lentos cuando son grandes y
mucho más rápido cuando son pequeños.
2. Alojamiento en la Memoria
3.1 Alojamiento
Contiguo
Se refiere a la capacidad de almacenar o brindar un
alojamiento a un proceso lo utilizo cuando debo mover el proceso completo a
memoria, este quiere decir pasar por completo d su localización dentro de la
memoria.
3.2 Alojamiento Disperso
Se refiriere
a la capacidad de brindar un alojamiento a un proceso fraccionado en diferentes
partes de la memoria y se utiliza por partes asignándole una parte de la
memoria para que se realice el proceso.
Que
diferencia al alojamiento continuo del alojamiento disperso; en el
almacenamiento contiguo el proceso debe ser cargado en su totalidad, mientras
que en el disperso solo utilizo fragmentos del proceso y al ser almacenado este
que en diferentes lugares de la memoria.
Encontramos
dos clases de memoria una real y otra memoria virtual, en la memoria real la
cual permite que un proceso sea cargado de forma contigua o en su totalidad
En la memoria virtual se podría decir que el
proceso se divide en varias partes y que ellas se le asignarían un tamaño de
memoria según fuese su necesidad
Dentro
de la evolución del control de la memoria los primeros se hicieron con procesos
guardados en su totalidad, de los cuales se evoluciono al fragmentado es decir
a trabajar procesos por partes también conocido como tipo disperso, este
permite dividir o fraccionar el proceso y utilizarlo en pequeñas partes de la
memoria
Las
memorias pueden variar según su uso o según sea el propósito de su diseño, lo
cual nos lleva a ciertos parámetros como lo son velocidad, tamaño y costo,
cuando son muy grandes su velocidad es menor un ejemplo propicio seria la memoria
cache.
La
memoria es una frontera donde se puede utilizar directamente con la CPU y otros
que solo pueden ser utilizados por medio de un controlador que será quien
permita o autorice en qué momento se puede usar.
Los
procesos tienen definidas las etapas hacia su ejecución como lo son la
compilación, encadenamiento, carga.
En
la compilación se produce el cargue del programa hacia la memoria; en el
encadenamiento se produce la etiqueta del proceso para la identificación dentro
del sistema, en el cargue las etiquetas son revalidadas lo cual permite su
desplazamiento hacia el sistema.
Hay
etiquetas o direcciones simbólicas las cuales están en la etapa de compilación,
en la etapa de encadenamiento esas direcciones se convierten en direcciones físicas
es decir en reales las cuales seran identificadas por el sistema y permitirán
el transito del proceso por el sistema, ratificando que las direcciones
relativas pasan hacer direcciones físicas al ser cargadas al sistema
adecuadamente.
Se
hace necesario tener un registro de las direcciones que utiliza la memoria y la
asignación hacia un proceso, la dirección debe ser identificada y de esta forma
sea dado el permiso para avanzar dentro de la memoria, esta se llama
relocalizables que permite identificar la dirección MMU (Memoria Management
Unit) el cual permite sumar el registro de localización con la dirección lógica
utilizada por la CPU lo que nos enseña que el computador siempre ve direcciones
lógicas.
3.
Particiones
fijas
Existen
dos procesos o técnicas que nos permiten utilizar la memoria de forma
eficiente, Overlays y Swapping
La
técnica Overlays: utilizada cuando el programa que quiero cargar solo puede
utilizar una parte de la memoria según lo requiera no necesita aporte del
sistema operativo.
La
técnica Swapping: esta técnica se utiliza cuando no hay suficiente memoria para
el proceso es decir debe ser cargado de forma completa, estos son movidos
temporalmente hacia la memoria principal o a un disco. La desventaja es que se
debe mover todo el proceso y esto genera demora en dicha actividad.
Posee
dos movimientos tales como de memoria a disco o de disco a memoria; cuando se
dirige de memoria a disco se llama swapping out, cuando se dirige de disco a
memoria se denomina swapping in. El objetivo principal es mantener en disco la última
parte del proceso la cual fue alterada por el proceso de mover de un lado a
otro las cuales son detectadas por el sistema operativo, si no concuerdan se
producirá un error y no realizara el
swapping out.
Las
particiones pueden estar dadas en particiones fijas, cada partición y su tamaño
puede ser organizada desde la
instalación del sistema operativo o lo puedo realizar en el momento que lo
necesite, cada porción permite correr un proceso y cada partición permite
independencia entre un proceso y otro que se ubica en otra partición.
Los
procesos tienen un orden y para ello puedo designarles un espacio o un hueco
dentro de la memoria, para ello utilizo
las colas donde se colocan los procesos en una fila y seran utilizados según se
vayan liberando, para ello debo saber escoger la partición más apropiada para
mi trabajo, debo organizar cada proceso con el fin de asignarle una partición
adecuada, puedo tener una sola cola, o tener una cola para cada partición.
4.
Manejo
de la Memoria
Cuando
al realizar una partición y el proceso más pequeño que la participación realizada,
se estaría desperdiciando parte de la memoria que no sería utilizable en otro
proceso, esto se conoce como fragmentación interna.
Si
este proceso sucede donde un proceso quiere o desea ingresar pero las
particiones no pueden contenerlo a esto se le llama fragmentación externa.
5.
Particiones
variables
Permite
que las particiones sean dinámicas a la secuencia de ingreso o salida de la memoria, asignándoles la
memoria que ellos necesitan, por ello es muy necesario organizar adecuadamente
las participaciones.
Al
ingresar diferentes procesos dentro de las particiones quedaran huecos los
cuales deben ser monitoreados por el sistema operativo, analizara dichos huecos
para diversos objetivos uno de ellos colocar un proceso que quiero llevar a la
memoria.
6.
Estrategias
de colocación
Son
el proceso de análisis de los huecos y colocar un proceso donde el quepa de la
mejor forma y no haya pérdida de memoria.
Este
posee tres tipos el Firs Fit, Best Fit y el Worst Fit.
En
el Firs Fit: también llamado “primer ajuste”, colocando el proceso donde quepa.
En este yo busco que la CPU se ejecute de forma rápida y así ocupar más al
procesador no hay orden a los huecos.
En
el Best Fit: también llamado “mejor ajuste”, colocando el proceso donde quede
mejor. En este proceso yo busco utilizar adecuadamente la memoria buscando
siempre la automatización y se usen al máximo los huecos de menor a mayor.
En
el Worst Fit: también llamado “peor ajuste”, coloco el proceso en el hueco más
grande. En este proceso organizo los huecos de mayoría menor.
7.
Compactación
Es
una técnica que me permite utilizar y mover los huecos y de esta forma
compactarlos en uno, movilizando los procesos de forma física dejando los
huecos de forma contigua, al estar en el proceso de compactación no se puede
efectuar ninguna otra función en el sistema operativo.
Cada
sistema operativo debe estar diseñado para reconocer los huecos y realizar la
compactación con el objetivo de utilizar mejor la capacidad de la memoria.
Se
conoce con el nombre de aglutinamiento al proceso donde el sistema operativo es
capaz de analizar y concluir que dos huecos están de forma contigua y así
utilizarlos como uno solo, si el sistema operativo no es capaz de realizar este
proceso se dice que no tiene la función de aglutinamiento.
8.
Protección
de Memoria
El
sistema operativo debe restringir que un proceso no utilice información de otro
proceso, a menos que ellos tengan conexión entre sí.
Se
utiliza un registro base y un registro limite todas las direcciones son
confrontadas contra esos registros y así localizan su lugar donde esta
almacenada.
Se
realiza un chequeo comparando la dirección base con la dirección limite y si
cumple con las dos puede acceder a la memoria, si son contrarias reportara un
intruso o ingreso no permitido en ese momento se detiene el sistema operativo
abortado el programa.
No hay comentarios.:
Publicar un comentario