Gestión de Memoria

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 3

Gestión de memoria

 Un sistema operativo debe ser capaz de gestionar la memoria del sistema


eficazmente. Los procesos que se ejecutan necesitan que se les asigne una zona
de memoria para su ejecución, que se le proteja esa zona de otros accesos o
poderla compartir si fuera necesario. Una vez que terminen debe liberar dicha
memoria.

 Si bien los procesos competían por el uso de la CPU, en el caso de la memoria la


comparten.
Monotarea vs Multitarea

 En los sistemas monotarea, se van ejecutando los procesos de uno en


uno, cuando termina uno entra otro. Solo hay que tener en cuenta que
en la memoria hay una zona reservada para el sistema operativo y otra
para el proceso que se encuentre en ejecución.

 Sistemas multitarea pueden ejecutar múltiples procesos a la vez, por lo


que es necesario dividir la memoria creando diferentes particiones que
se asignarán a cada uno de ellos.

Protección

 El sistema operativo debe proteger la zona de memoria asignada a cada


proceso.

 Es necesario para evitar que un proceso acceda a una zona de memoria


reservada a otro proceso o al sistema operativo.

 Para implementar la protección se pueden emplear diferentes técnicas, como


puede ser el uso de los registros base y registros límite, que contienen la
dirección inicial y final respectivamente.
Protección

 El sistema operativo debe proteger la zona de memoria asignada a cada proceso.


 Es necesario para evitar que un proceso acceda a una zona de memoria reservada a otro proceso o
al sistema operativo.
 Para implementar la protección se pueden emplear diferentes técnicas, como puede ser el uso de los
registros base y registros límite, que contienen la dirección inicial y final respectivamente.
Intercambio

 Un sistema puede ejecutar múltiples procesos ocupando estos más espacio del disponible en la
memoria principal.
 Para poder llevar a cabo esto, almacena en la memoria secundaria el exceso de procesos.
 A la acción de trasvase de procesos entre la memoria principal y la secundaria se le denomina
intercambio o swapping.
 A la memoria de intercambio se le conoce como swap.

Particiones de memoria

 Existen diferentes formas de dividir la memoria para crear particiones para cada uno de los procesos.
 La primera y más sencilla →Particiones estáticas: se divide el espacio de memoria en un número
determinado de bloques de tamaño fijo.
 Ventajas: sencillez
 Inconvenientes: Fragmentación.

ACTIVIDAD
Averigua que es la fragmentación interna y la fragmentación externa, pon ejemplos de cada tipo.

Particiones de memoria

 Otro método es la creación de particiones dinámicas.


 Se crean bloques a demanda del tamaño exacto necesario del proceso.
 Se evita la fragmentación interna.
 No evita la fragmentación externa. Para ello se puede hacer regularmente un proceso de
compactación, pero es un proceso computacionalmente caro.

Particiones de memoria

 Otro método es el de paginación. Este método divide el espacio físico de la memoria en bloques de
tamaño fijo a los que llama marcos de página o frames.
 El proceso se divide en bloques lógicos del mismo tamaño que se denominan páginas.
 Con una tabla se identifica la correspondencia entre las páginas y los marcos de página en los que se
encuentran alojadas.
 Una dirección lógica vendrá dada por un número de página y un desplazamiento dentro de la página.
Para convertirla en una dirección física se consulta la tabla y se accede al marco de página
referenciado. El desplazamiento es el mismo al ser bloques del mismo tamaño.

Particiones de memoria

 El último método es el de la segmentación.


 Un método parecido al anterior, pero que los segmentos pueden ser de diferente tamaño,
reduciendo así la fragmentación.
 La principal desventaja es su complejidad.
 También existe el método paginación segmentada, que ofrece las ventajas de ambas
técnicas.

Memoria Virtual

 Permite ejecutar programas que no están totalmente cargados en memoria.


 Permite cargar varios procesos cuyos tamaños excedan el tamaño total de la memoria física
del sistema informático.
 Únicamente se carga en memoria la parte del proceso que se está ejecutando, el resto
reside en la memoria secundaria.
 Para poder implementar la memoria virtual, el sistema operativo debe implementar
Paginación, Segmentación o Paginación segmentada.

Proceso de memoria Virtual

1. Un proceso se está ejecutando y referencia una página. Al consultar la tabla de páginas, se


produce una excepción porque la página referenciada, no está carga en un marco de página. Se produce un
FALLO DE PÁGINA.

2. El proceso se queda bloqueado. Gestión de procesos.

3. El Sistema Operativo acude a la memoria secundaria a buscar la página referenciada y la guarda en un


marco de página pudiéndose dar dos situaciones:

1. Si hay un marco libre, la guarda y actualiza la tabla de páginas.

2. Si no hay un marco libre tiene que aplicar un algoritmo de reemplazo, mover el contenido del marco
seleccionado a la M.S., guardar la página en el marco que ha quedado libre y actualizar la tabla de páginas.

4. El proceso vuelve al estado listo para competir por la CPU.

Proceso de Memoria Virtual

 Este proceso se le denominada paginación bajo demanda.


 Es un proceso parecido al Intercambio visto anteriormente.
 Si el S.O. está más tiempo llevando a cabo excepciones de paginación en lugar de ejecutar procesos,
se dice que está hiperpaginando o thrasing. Es un estado que se debe evitar.

Algoritmos de reemplazo

 Algoritmo óptimo.
 FIFO.
 NRU.
 Algoritmos de segunda oportunidad.
 LRU

También podría gustarte