0% encontró este documento útil (0 votos)
22 vistas1 página

Administracion de Memoria

Cargado por

yanna Rodríguez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
22 vistas1 página

Administracion de Memoria

Cargado por

yanna Rodríguez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 1

ADMINISTRACION DE MEMORIA

La administración de memoria es un
componente esencial en los sistemas
operativos modernos que se encarga de
gestionar y optimizar el uso de la memoria del
sistema. Su objetivo principal es asignar de
manera eficiente y equitativa los recursos de
memoria entre los procesos que se ejecutan en
la computadora.

Aquí hay algunos conceptos clave relacionados con la


administración de memoria:

Administración básica de memoria

La administración básica de memoria se ref iere a los


principios f undamentales y las técnicas esenciales utilizadas
para gestionar la memoria en un sistema computacional.

Aquí hay algunos aspectos clave de la administración básica


de memoria:

Asignación de memoria:

La asignación de memoria implica reservar espacio en la


memoria para programas en ejecución y datos. Esto se
hace típicamente utilizando dos enf oques principales:
asignación estática y asignación dinámica. En la asignación
estática, la memoria se asigna en tiempo de compilación y
permanece f ija durante toda la vida del programa. En la
asignación dinámica, la memoria se asigna y libera según
sea necesario durante la ejecución del programa.

Libertad de asignación de memoria:

Después de asignar memoria dinámicamente, es


importante liberar la memoria cuando ya no se necesite
para evitar f ugas de memoria. La liberación de memoria se
realiza típicamente mediante el uso de instrucciones
específ icas en el código del programa, como f ree() en
lenguajes como C o C++.

Gestión de la f ragmentación:

La f ragmentación de la memoria ocurre cuando la


memoria libre se divide en bloques más pequeños pero
insuf icientes para satisf acer las solicitudes de asignación de
memoria. Puede ocurrir f ragmentación interna (dentro de
bloques asignados) o f ragmentación externa (entre
bloques asignados y libres). La gestión ef icaz de la
f ragmentación implica técnicas como la compactación (en
el caso de f ragmentación externa) o el uso de algoritmos de
asignación de memoria más ef icientes.

Protección de memoria:

Los sistemas operativos implementan mecanismos de


protección de memoria para evitar que un programa acceda
a áreas de memoria que no le pertenecen. Esto se logra
utilizando técnicas como la segmentación de memoria y la
asignación de permisos de acceso a las regiones de
memoria.

Swapping y paginación:

Estas son técnicas utilizadas para gestionar la memoria


virtual en sistemas con limitaciones de memoria f ísica.
Swapping implica mover bloques enteros de memoria entre
la RAM y el almacenamiento secundario, mientras que la
paginación divide la memoria en bloques más pequeños
(páginas) y los mueve entre la RAM y el almacenamiento
secundario según sea necesario.

Mono programación sin intercambio ni paginación

La "mono programación sin intercambio ni paginación" se


ref iere a un enf oque de administración de memoria en
sistemas operativos donde solo se ejecuta un programa a la
vez y no se utilizan técnicas de intercambio (swapping) ni
paginación para manejar la memoria virtual.

En este modelo de administración de memoria:

Solo un programa se ejecuta a la vez:

Esto signif ica que el sistema operativo carga un solo


programa en la memoria principal (RAM) y le asigna todos
los recursos disponibles mientras se ejecuta. Los otros
programas en espera deben esperar hasta que el programa
actual termine su ejecución antes de ser cargados en la
memoria.

No hay intercambio (swapping):

El intercambio implica mover bloques enteros de memoria


entre la RAM y el almacenamiento secundario (como el
disco duro) para liberar espacio en la memoria RAM. En un
sistema de mono programación sin intercambio, no se
realiza esta actividad ya que solo hay un programa en
ejecución y no hay necesidad de compartir recursos de
memoria con otros programas.

No hay paginación:

La paginación es una técnica de administración de memoria


virtual que divide la memoria en bloques de tamaño f ijo
(páginas) y los mueve entre la RAM y el almacenamiento
secundario según sea necesario. En un sistema de mono
programación sin paginación, no se utiliza esta técnica ya
que no hay necesidad de gestionar múltiples procesos y su
memoria virtual asociada.

Multiprogramación con particiones f ijas Memoria Virtual

La multiprogramación con particiones f ijas y memoria


virtual es una técnica utilizada en sistemas operativos para
permitir la ejecución de múltiples programas
simultáneamente, incluso cuando la cantidad total de
memoria disponible es menor que la suma de los
requerimientos de memoria de todos los programas

Aquí hay una explicación de cómo f unciona:

Particiones f ijas:

En este enf oque, la memoria principal se divide en


particiones de tamaño f ijo. Cada partición se reserva para
ejecutar un solo programa. Estas particiones pueden ser del
mismo tamaño o de tamaños dif erentes, dependiendo de la
conf iguración del sistema.

Memoria virtual:

La memoria virtual es una técnica que permite que los


programas utilicen más memoria de la que está f ísicamente
disponible en la RAM. Se logra mediante el uso de
almacenamiento secundario, como un disco duro, para
almacenar parte del contenido de la memoria RAM cuando
no se está utilizando activamente.

Paginación o segmentación:

En la implementación de memoria virtual, se pueden


utilizar técnicas como la paginación o la segmentación para
dividir la memoria en unidades más pequeñas (páginas o
segmentos) que se pueden cargar y descargar según sea
necesario desde el almacenamiento secundario.

T abla de páginas o tablas de segmentos

Para gestionar la memoria virtual, el sistema operativo


mantiene una estructura de datos, como una tabla de
páginas o tablas de segmentos, que mapea las direcciones
de memoria virtuales a las direcciones de memoria f ísicas.
Esto permite al sistema operativo realizar la traducción
entre las direcciones de memoria virtuales utilizadas por los
programas y las direcciones de memoria f ísicas donde se
almacenan realmente los datos.

Intercambio de páginas:

Cuando un programa necesita acceder a una página de


memoria que no está actualmente en la RAM, el sistema
operativo puede intercambiar una página menos utilizada
desde la RAM al almacenamiento secundario y cargar la
nueva página requerida desde el almacenamiento
secundario a la RAM.

Administración de memoria f ísica:

Se ref iere a la gestión de la memoria RAM (Random Access


Memory) disponible en el sistema. Esto implica asignar y
liberar bloques de memoria para los programas en
ejecución, así como manejar la f ragmentación de la
memoria para asegurar un uso ef iciente de los recursos.

Administración de memoria virtual:

Es una técnica que utiliza el almacenamiento secundario


(como el disco duro) como una extensión de la memoria
RAM. Permite que los programas utilicen más memoria de
la que está f ísicamente disponible, moviendo datos entre la
memoria RAM y el almacenamiento secundario según sea
necesario.

Paginación:

Es una técnica de administración de memoria virtual que


divide la memoria en bloques de tamaño f ijo llamados
"páginas". Permite un manejo más ef iciente de la memoria
al asignar y liberar páginas de memoria según sea
necesario.

Segmentación:

Es otra técnica de administración de memoria virtual que


divide la memoria en segmentos de dif erentes tamaños
según las necesidades de los programas. Cada segmento
puede contener un tipo específ ico de datos, como el código
de programa, los datos globales, la pila, etc.

Memoria compartida:

Es una técnica que permite que varios procesos accedan y


compartan una región de memoria común. Esto es útil para
la comunicación entre procesos y la sincronización de
datos.

Algoritmos de asignación de memoria:

Incluyen algoritmos como "f irst f it", "best f it" y "worst f it",
que determinan cómo asignar bloques de memoria a
procesos según su tamaño y disponibilidad.

También podría gustarte