Está en la página 1de 6

INF-103.

SISTEMAS OPERATIVOS I

UNIDAD V: GESTION DE MEMORIA

1. Defina Gestión de memoria


Es el proceso que asigna memoria a los programas que lo solicitan ejecutar. Estas acciones de
gestión de memoria son llevadas a cabo por el Sistema Operativo.

2. Cuál es la importancia de la gestión de memoria.


En cada sistema es importante que se ejecuten los programas sin problema alguno, para ello
existe la gestión de memoria; de manera que puede repartir los procesos de forma eficiente por
la memoria de cuantos procesos sean posibles.

3. Cuáles son las características y las funciones de la gestión de memoria.

Protección
La protección de memoria es un método para controlar el uso de memoria en una computadora,
y es parte esencial de prácticamente todos los sistemas operativos modernos. El principal
propósito de la protección de memoria es evitar que un proceso en un sistema operativo acceda
a la memoria que no le ha sido asignada.

Memoria compartida
Aunque la memoria utilizada por diferentes procesos suele estar protegida, algunos procesos
puede que sí tengan que compartir información y, para ello, han de acceder la misma sección
de memoria. La memoria compartida es una de las técnicas más rápidas para posibilitar la
comunicación entre procesos.

Organización lógica
Permiten que los programas se escriban como módulos compilables y ejecutables por separado.

Organización física
La memoria suele dividirse en un almacenamiento primario de alta velocidad y uno secundario
de menor velocidad. La gestión de memoria del sistema operativo se ocupa de trasladar la
información entre estos dos niveles de memoria

Funciones
• Atender las solicitudes de memoria de los procesos (asignaciones y liberaciones) •
Protección de la memoria

La protección de la memoria es necesaria para garantizar que pueda ejecutarse cualquier


proceso y también para establecer límites de su uso. Pero, si se ejecutan varios programas de
manera simultánea, todos deben estar escritos en la RAM.
4. ¿Cuáles son los requisitos que debe intentar satisfacer la gestión de memoria y defina
cada uno de ellos?

• Reubicación: El sistema operativo debe conocer la ubicación de la información de


control del proceso y de la pila de ejecución, así como el punto de partida para comenzar
la ejecución del programa para dicho proceso.
• Organización Física: Una memoria secundaria de gran capacidad puede permitir un
almacenamiento a largo plazo de programas y datos, al tiempo que una memoria principal
pequeña mantiene los programas y datos de uso actual.
• Protección: Cada proceso debe protegerse contra interferencias no deseadas de otros
procesos, tanto accidentales como intencionadas.
• Organización Lógica: De forma casi invariable, la memoria principal de un sistema
informático se organiza como un espacio de direcciones lineal o unidimensional que
consta de una secuencia de bytes o palabras.
• Compartición: Cualquier mecanismo de protección que se implemente debe tener la
flexibilidad de permitir el acceso de varios procesos a la misma zona de memoria
principal.

5. ¿Por qué es deseable la capacidad de reubicación?

Al permitir ubicar el proceso en un área distinta de memoria, el sistema operativo puede utilizar
ese espacio que se libera

6. ¿Por qué no es posible implantar la protección de memoria en tiempo de


compilación?

La protección de memoria es realizada por el procesador (hardware) y no el sistema operativo


(software).

7. ¿Cuáles son algunas de las razones para permitir a dos o más procesos tener acceso a
una región de memoria en particular?

Cualquier mecanismo de protección que se implemente debe tener la flexibilidad de permitir


el acceso de varios procesos a la misma zona de la memoria principal. Es decir, permitir a cada
proceso que acceda a la misma copia del programa, en lugar de tener cada uno de su propia
copia aparte.

8. ¿Cuáles son las técnicas para carga de Programas en Memoria Principal?

Partición fija
El esquema más sencillo de gestión de la memoria disponible es dividirla en regiones con
límites fijos. Pueden ser particiones del mismo tamaño o de distinto tamaño.
Principales Desventajas
• Un programa puede ser demasiado grande para caber en la partición.
• El programador debe diseñar el programa con superposiciones.
• Cuando se necesita un módulo que no está presente, el programa de usuario debe cargar
dicho módulo en la partición del programa.
• El uso de memoria principal es muy ineficiente.
• Se malgasta el espacio interno de una partición cuando el bloque de datos cargado sea
más pequeño que la partición, se denomina fragmentación interna.
• Los trabajos pequeños no hacen un uso eficiente del espacio de las particiones.
• El número de particiones especificadas en el momento de la generación del sistema
limita el número de procesos activos (no suspendidos) del sistema.
• En un entorno en el que los requisitos básicos de almacenamiento de todos los procesos
se conocen de antemano, puede ser una técnica razonable, pero, en la mayoría de los
casos, ineficiente.

Partición dinámica o variable


Consiste en particiones de memoria de tamaño variable, es decir, a cada proceso se le asigna
la cantidad de memoria que necesita. Deben utilizarse algunos algoritmos para la ubicación de
procesos en las particiones.

Características
• Las particiones son variables variables en número y longitud.
• Cuando se trae un proceso a memoria principal, se le asigna exactamente tanta memoria
como necesita y no más.

Ventaja
• No hay desperdicio, pues la partición tiene exactamente el tamaño necesario.

Desventajas
• Este método comienza bien, pero, finalmente, desemboca en una situación en la que hay
un gran número de huecos pequeños en memoria.
• Conforme pasa el tiempo, la memoria comienza a estar más fragmentada y su
rendimiento decae.
• Este fenómeno se denomina fragmentación externa y se refiere al hecho de que la
memoria externa a todas las particiones se fragmenta cada vez más, a diferencia de la
fragmentación interna, que se comentó anteriormente.

Paginación simple
Tanto las particiones de tamaño fijo como las de tamaño variable hacen un uso ineficiente de
la memoria; las primeras generan fragmentación interna, mientras que las segundas originan
fragmentación externa.
Supóngase, no obstante, que la memoria principal se encuentra particionada en trozos iguales
de tamaño fijo relativamente pequeños y que cada proceso está dividido también en pequeños
trozos de tamaño fijo y del mismo tamaño que los de memoria. En tal caso, los trozos del
proceso, conocidos como páginas, pueden asignarse a los trozos libres de memoria, conocidos
como marcos o marcos de página.

Se puede comprobar que la paginación simple, tal y como se describe, es similar a la partición
estática. Las diferencias están en que, con paginación, las particiones son algo más pequeñas,
un programa puede ocupar más de una partición y éstas no tienen por qué estar contiguas.

Mediante la paginación simple, la memoria principal se divide en pequeños marcos del mismo
tamaño. Cada proceso se divide en páginas del tamaño del marco; los procesos pequeños
necesitaran pocas páginas, mientras que los procesos grandes necesitarán más. Cuando se
introduce un proceso en memoria, se cargan todas sus páginas en los marcos libres y se rellena
su tabla de páginas. Esta técnica resuelve la mayoría de los problemas inherentes a la partición.

Segmentación simple
En este caso, el programa y sus datos asociados se dividen en un conjunto de segmentos. No
es necesario que todos los segmentos de todos los programas tengan la misma longitud, aunque
existe una longitud máxima de segmento. Como en la paginación, una dirección lógica
segmentada consta de dos partes, en este caso un número de segmento y un desplazamiento.

Como consecuencia del empleo de segmentos de distinto tamaño, la segmentación resulta


similar a la partición dinámica. En ausencia de un esquema de superposición o del uso de
memoria virtual, sería necesario cargar en memoria todos los segmentos de un programa para
su ejecución. La diferencia, en comparación con la partición dinámica, radica en que, con
segmentación, un programa puede ocupar más de una partición y éstas no tienen por qué estar
contiguas.

La segmentación elimina la fragmentación interna, pero, como la partición dinámica, sufre de


fragmentación externa. Sin embargo, debido a que los procesos se dividen en un conjunto de
partes más pequeñas, la fragmentación externa será menor.

9. ¿Cuáles son las ventajas de usar particiones de distinto tamaño?


• Instalar varios sistemas operativos.
• Salvaguardar tus datos en caso de fallos del sistema.
• Rendimiento mejorado.
• Mejor mantenimiento.
• Mayor facilidad en la organización.
• Sencillo de implementar
• Pocas sobrecargas en el sistema
10. ¿Cuál es la diferencia entre la fragmentación interna y la externa?

• Fragmentación Interna: se produce cuando la memoria se divide en particiones de


tamaño fijo. Si un bloque de datos es asignado a una o más particiones, puede haber un
espacio desaprovechado en la última partición.
• Fragmentación Externa: se produce cuando la memoria se divide en particiones de
tamaño variable correspondientes a los bloques de datos asignados de la memoria
(huecos entre las partes ocupadas de la memoria).

11. ¿Cuáles son las diferencias entre direcciones lógicas, relativas y físicas

La diferencia fundamental entre la dirección lógica y la dirección física es que la dirección


lógica es generada por la CPU durante la ejecución de un programa mientras que la dirección
física se refiere a una ubicación en la unidad de memoria.

Dirección Lógica Dirección Física


¿Qué es? La dirección virtual generada por la La dirección física es una ubicación en
CPU una unidad de memoria.

Espacio de El conjunto de todas las direcciones El conjunto de todas las direcciones


Dirección lógicas generadas por la CPU en físicas asignadas a las direcciones
referencia a un programa se lógicas correspondientes se denomina
denomina Espacio de direcciones Dirección física.
lógicas.

Visibilidad El usuario puede ver la dirección El usuario nunca puede ver la dirección
lógica de un programa. física del programa.

Acceso El usuario usa la dirección lógica para El usuario no puede acceder


acceder a la dirección física. directamente a la dirección física

Generación La dirección lógica es generada por la La dirección física es calculada por


CPU MMU.

Direcciones Relativas: dirección calculada como un desplazamiento a partir de una dirección


de base.

12. Hable de las estrategias de colocación en memoria principal.


• Estrategia del mejor ajuste: Un proceso que entre en el sistema se colocará en el hueco
de memoria principal en el que deje la menor cantidad de espacio sin utilizar.
• Estrategia del primer ajuste: Un proceso que entre en el sistema se colocará en el primer
hueco disponible que sea lo bastante grande para contenerlo. Permite decidir
rápidamente donde se colocará un proceso.
• Estrategia del peor ajuste: Al colocar el proceso en el hueco más grande el hueco restante
es, a menudo, también grande pudiendo contener un nuevo proceso relativamente
grande.

13. ¿Cuál es la diferencia entre una página y un marco de página?

Página: es el almacenamiento virtual, un bloque de longitud fija que dispone de una dirección
virtual y que se transfiere como una unidad entre la memoria principal y la memoria
secundaria.

Marco de Página: bloque de memoria principal contiguo y de longitud fija que se usa para
contener una página.

14. ¿Cuál es la diferencia entre página y segmento?

Página: es el almacenamiento virtual, un bloque de longitud fija que dispone de una dirección
virtual y que se transfiere como una unidad entre la memoria principal y la memoria
secundaria.

Segmento: en la memoria virtual, un bloque que tiene una dirección virtual. Los bloques de
un programa pueden ser de longitud desigual y pueden ser incluso de longitud variable
dinámicamente.

15. ¿Cuál es la diferencia entre paginación simple y paginación con memoria virtual?

La paginación es la transferencia de páginas entre la memoria principal y la memoria


secundaria, en la paginación simple todo es transparente al programador, elimina la
fragmentación externa y aprovecha la memoria principal de forma eficiente y en la paginación
con memoria se crea un dirección virtual que se emplea como índice de las tablas para buscar
las direcciones de la memoria principal.

16. Explique la hiperpaginación.

En sistemas operativos, se denomina hiperpaginación (en inglés, thrashing) a la situación en la


que se utiliza una creciente cantidad de recursos para hacer una cantidad de trabajo cada vez
menor.

También podría gustarte