You are on page 1of 34

MECANISMOS DE

OPTIMIZACIÓN DE
MEMORIA

Eduardo Sierra Avilés Sistemas Operativos I


19570288 | José Lizandro López García 22 de Marzo del 2022
MECANISMOS
La paginación es un esquema de memoria de gestión de memoria, esta acción permite que
un proceso se almacene en una memoria de forma no contigua.

El proceso de almacenamiento de forma no contigua suele resolver el problema de


fragmentación externa.
Su implementación consiste en que los espacios de memoria físicos y lógicos se dividen en los mismos
bloques de tamaño fijo, ya que los bloques de memoria física de tamaño fijo se denominan marcos y los
bloques de memoria lógica se denominan páginas.

En caso de que se necesite ejecutar un proceso, las páginas de proceso de espacio de memoria lógica se
cargan en los marcos del espacio de direcciones de la memoria física.

Una vez que tenemos la dirección generada por la CPU para acceder al marco se divide en dos partes que
son el número de página y el desplazamiento de página.
MUESTRA

Representación
MUESTRA

En esta ilustración se demuestra el uso de


páginas y marcos.

En esta representación alguno de los Un registro base común de direcciones no

marcos se encuentran en uso o libres. basta en esta ocasión.

En este caso, el proceso A, almacenado en En su lugar, el sistema operativo mantiene

el disco, está formado por 4 páginas, ya una tabla de páginas por cada proceso, ya

que al cargar el proceso, el sistema que estas muestran la ubicación del marco

operativo encuentra 4 marcos libres y por cada página del proceso.

carga 4 páginas del proceso A en dichos Dentro de cada programa, cada dirección
marcos. lógica está formada por un número de página

El proceso B formado de 3 páginas y el y desplazamiento dentro de la página.

proceso C formado por 4 páginas, se


cargan a continuación.

En el proceso, el proceso B se suspende y deja la memoria principal, para después,


todos los procesos de la memoria principal se bloquean, el sistema operativo necesita
traer un nuevo proceso, el proceso D que está formado por 5 páginas.

Suponemos que no hay suficientes marcos contiguos sin utilizar para ubicar un
proceso ¿Qué evitaría que el sistema operativo cargará el proceso D? La respuesta
es no, porque una vez que se puede utilizar el concepto de dirección lógica.
MUESTRA

Un punto importante es que en


una partición simple, una
dirección lógica es la ubicación de
la palabra relativa al comienzo del Al presentarse como una
programa, el procesador la traduce dirección lógica (número de
en una dirección física. página y desplazamiento), el

Con la paginación, la traducción procesador utilizará las tablas de

de las direcciones lógicas a físicas páginas para producir una

la realiza también el hardware del dirección física (número de

procesador, por tanto, el marco y desplazamiento).

procesador debe conocer como


acceder a la tabla de páginas de
un proceso actual.

En esta representación, las 5 páginas del proceso D se cargan en los marcos 4, 5, 6, 11 y 12.
MUESTRA

En esta representación, se
muestran tablas de páginas en
este momento.

Ya que una tabla de páginas De forma adicional, el sistema


contiene una entrada por cada operativo mantiene una única lista
página de proceso, de forma que de marcos libres de todos los
la tabla se indexe fácilmente por el marcos de la memoria que se
número de página (iniciando encuentran actualmente no
desde la página 0). ocupados y disponibles para las
páginas.
Cada entrada de la tabla de página
contiene un número de marco en
la memoria principal, si existe, que
contiene la página En esta representación se ilustra una paginación simple, es similar al patrocinamiento fijo, la diferencia
correspondiente. que marca es la paginación ya que las particiones son muy pequeñas, ya que un programa podría ocupar
una partición y dichas particiones no necesitan ser contiguas.

Para realizar este esquema de paginación conveniente, el tamaño de la página como el tamaño del
marco debe ser una potencia de 2, con el uso de un tamaño de página de potencia de 2, es sencillo
demostrar que la dirección relativa, que se define con referencia al origen del programa y la dirección
lógica, expresada como un número de página y un desplazamiento, es lo mismo.
MUESTRA

Las consecuencias de utilizar un tamaño de página de


una potencia como de 2 son dobles.

En esta ilustración se utiliza una dirección de 16 bits Considerando primero que el esquema de
donde el tamaño de la página es de 1K = 1024 bytes. direccionamiento lógico es transparente al

La dirección relativa es 1502 en formato binario programador, al ensamblador y al montador.

(0000010111011110) con una página de tamaño de 1K, Ya que cada dirección lógica (numero de pagina y
necesita un campo de desplazamiento de 10 bits, desplazamiento) de un programa es idéntica a su
dejando 6 bits para el número de página. dirección relativa.

Comúnmente, un programa puede estar compuesto Después, considerar que es relativamente sencillo
por un máximo de26 = 𝟔𝟒 páginas de 1K byte cada implementar una función que ejecute el hardware para
una. llevar a cabo dinámicamente la traducción de

Esta dirección corresponde a un desplazamiento de direcciones en tiempo de ejecución.

478 (0111011110) en la página 1 (000001) que forma el Considerando que una dirección de n+m bits, donde los
mismo número de 16 bits (0000010111011110). n bits de la izquierda corresponden al número de la
página y los m bits de la derecha corresponden al
desplazamiento.
MUESTRA

Considerando que n=6 y m=10, se necesita llevar a cabo los pasos


siguientes para la traducción de direcciones:

❖ Extraer el número de pagina como n de bits de la izquierda de la


dirección lógica.

❖ Utilizar el numero de pagina como un índice a tabla de páginas del


proceso para encontrar el número de marco, k.

❖ La dirección física inicial del marco es k × 2𝑚 y la dirección física del


byte, comúnmente es número más el desplazamiento.

Comúnmente, esta dirección física no necesita calcularse, es fácilmente


construida concatenando el número de marco al desplazamiento.
MUESTRA

Se parte la dirección lógica 1502 en formato


binario (0000010111011110) que corresponde a la
página 1, desplazamiento 478.

Suponemos que si esta página reside en el marco


de la memoria principal 6 = 000110 (binario), por
tanto, la dirección física corresponde al marco
número 6, desplazamiento 478 (0001100111011110).
MUESTRA

De forma general, con la paginación simple, la memoria principal se divide en diversos marcos pequeños de
igual tamaño.

Cada proceso se divide en páginas de igual tamaño, los procesos más pequeños requieren menos páginas, los
procesos mayores requieren más.

Cuando un proceso se trae a la memoria, todas las páginas se cargan en los marcos disponibles y establece una
tabla de páginas.

Dicha técnica resuelve diversos problemas inherentes en el particionamiento.


La segmentación es un esquema de administración de memoria, es compatible con la vista del usuario de
la memoria.

El proceso se divide en segmentos de tamaño variable y se carga en el espacio de direcciones de la


memoria lógica.

El espacio de las direcciones lógicas es la colección de segmentos de tamaño variable, ya que cada
segmento tiene su nombre y longitud.

Para la ejecución, los segmentos del espacio de la memoria lógica se cargan en el espacio de la memoria
física.
Dentro de este proceso, un programa de usuario puede subdividir utilizando la segmentación, en la cual el
programa y sus datos asociados se dividen en un número de segmentos.

No requiere que todos los programas sean de la misma longitud, aunque existe una longitud máxima de
segmento.

En la paginación, una dirección lógica utilizaría una segmentación que está compuesta por dos partes, que es el
número de segmento y desplazamiento.
Al considerar el uso de segmentos de distinto tamaño, la Ya que la segmentación elimina la fragmentación interna

segmentación es similar al particionamiento dinámico. pero al igual que el particionamiento dinámico, sufre de la
fragmentación externa.
Al estar ausente un esquema de overlays o el uso de la
memoria virtual, se necesitaría que todos los segmentos Considerando que la paginación es invisible al

de un programa se cargarán en la memoria para su programador, la segmentación es visible

ejecución. proporcionándose como una utilidad para organizar


programas y datos.
La diferencia que marca con el particionamiento dinámico
con la segmentación, es que un programa podría ocupar Comúnmente, el programador o compilador asignará

más de una partición, dichas particiones no necesitan programas y datos a diferentes segmentos.

contiguas. Considerando los propósitos, los programas o datos se


pueden dividir posteriormente en múltiples segmentos.
La mayor desventaja que sucede en la segmentación es que el programador debe
ser consciente de la limitación de tamaño del segmento máximo.
Utilizar segmentos tiene consecuencias, una de ellas es que no existe una relación simple en entre direcciones
lógicas y direcciones físicas, de forma análoga a la paginación, un esquema de segmentación sencillo haría un
uso de la tabla de segmentos por cada proceso y una lista de bloques libre de memoria principal.

Considerando que cada entrada de la tabla de segmentos tendría que proporcionar la dirección inicial de la
memoria principal del correspondiente segmento.

La entrada debería proporcionar la longitud del segmento para asegurar que no se utilizan direcciones no
válidas, ya que cuando un proceso entra en el estado ejecutando, la dirección de la tabla de segmentos se
puede cargar en un registro especial utilizado por el hardware de gestión de la memoria.
MUESTRA

En esta caso es n=4 y m=12, por tanto, el tamaño del


segmento máximo es 212 = 4096.

Se necesitan llevar a cabo los siguientes pasos para la


traducción de direcciones:

❖ Extraer el número de segmento como n de los bits

Considerando una dirección de 𝒏 + 𝒎 de la izquierda de la dirección lógica.

bits, donde los n bits de izquierda ❖ Utilizar el número de segmento como un índice de
corresponden al número del segmento tabla de segmentos de proceso para encontrar la
y los m bits de derecha corresponden dirección inicial del segmento.
al desplazamiento.
❖ Comparar el desplazamiento, expresado como m
bits de la derecha y la longitud del segmento, ya
que si el desplazamiento es mayor o igual que la
longitud, la dirección no es válida.

❖ La dirección física es deseada es la suma de la


dirección física inicial y el desplazamiento.
MUESTRA

En esta representación, se parte la dirección lógica 0001001011110000, que corresponde al segmento número 1,
desplazamiento 752.

Suponemos que este segmento reside en la memoria principal, comenzando en la dirección física principal inicial
0010000000100000, por tanto, la dirección física es 0010000000100000 + 001011110000 = 001000110001000.
Comúnmente, una segmentación simple es un proceso que divide en un conjunto de
segmentos que no tienen que ser del mismo tamaño.

Ya que cuando un proceso trae a memoria, todos los segmentos se cargan en regiones de
memoria disponibles creando una tabla de segmentos.
Después de comprender, la paginación y la segmentación, ahora conoceremos lo que es la
administración de la memoria virtual desde el sistema operativo de Windows 10, que realiza
estas acciones que se exponen en esta presentación.
Al considerar los componentes que forman parte
de nuestro PC, la memoria es una de ellas, ya que En caso de que la memoria no posea
es una de las partes importantes de la suficiente cantidad de espacio, provocaría
computadora. bloqueos o ralentizaciones en el software que

Este componente se utiliza para cargar las ejecutamos.

instrucciones que ejecuta el procesador de forma La solución a estos problemas es adquirir y


temporal con otros elementos. instalar más RAM pero con un alto costo,
Sin embargo, uno de los inconvenientes de la sumándole al mudarse a cualquier versión
memoria es que es limitada, ya que si un equipo no superior después de Windows 7, un equipo
tiene suficiente cantidad de espacio, no funcionaría más reciente o ambas situaciones.
como desearíamos.
Ahora consideremos que una memoria virtual es una técnica utilizada por los sistemas operativos
para acceder a una mayor cantidad de memoria físicamente disponible, recurriendo así a soluciones
de almacenamiento alternativo cuando se agota la memoria RAM instalada.
Debemos considerar que los ordenadores utilizan la memoria RAM para almacenar los archivos y datos que
necesitan el sistema operativo como el software que se está ejecutando donde su elevado rendimiento
garantiza un funcionamiento óptimo pero tarde o temprano se termina de llenarse.

Es donde el sistema Windows recurre necesariamente a la memoria virtual, ya que para crearlo, se crear un
archivo en la unidad de almacenamiento que tengamos asignada sea un disco tradicional (D:) o un SSD (C:)
donde el sistema operativo genera un archivo llamado pagefile.sys donde se almacenan los datos que no
caben en la memoria RAM y son necesarios para el funcionamiento de la PC.
MUESTRA

Representación Gráfica
MUESTRA

Rendimiento de la memoria
Comúnmente cuando se trabaja con
aplicaciones mayormente exigentes (como los Como punto final, debemos considerar que
videojuegos) o tener varias aplicaciones entre más RAM tengamos en el equipo es
funcionando al mismo tiempo, poco a poco el mucho mejor, notando así la diferencia, ya que
sistema se ralentiza, especialmente si no hay cuando más exigente sea el software que
espacio de sobra en la memoria RAM. utilizamos.

Hay ocasiones donde Windows recurre al En cuanto al costo este es bajo pero
archivo de la paginación donde la memoria últimamente se ha ido elevando, considerando
RAM se ha visto desbordada, evitando así que en la mayoría de escenarios ha sido
cuelgues y inestabilidad pero a cambio del necesario recurrir a las soluciones de memoria
rendimiento que desciende de forma virtual.
considerable.
Después de conocer y profundizar sobre la memoria virtual de Windows, ahora
procedemos como se activa y configura la memoria virtual en nuestro equipo.
MUESTRA

Ingresamos a Configuración, clic en Sistema.


MUESTRA

En la sección Sistema, clic en Acerca de, clic en Configuración avanzada del sistema.
MUESTRA

En la Configuración avanzada del sistema (Propiedades del sistema), clic en En las Opciones de rendimiento (Configuración), clic en la pestaña
Configuración de Rendimiento. Opciones avanzadas, clic en Cambiar para la Memoria virtual.
MUESTRA

Al desmarcar la casilla de administrar


automáticamente y dar clic en el
botón de tamaño personalizado.

Cuando hacemos esto, nos marca cuál


es el tamaño inicial y tamaño
máximo que le asignaremos a la
memoria virtual.

Para asignarle le daremos clic en


Aceptar en estos casos.

En Cambiar (Memoria virtual), se desmarca la casilla, clic en Tamaño


personalizado para elegir el tamaño que deseamos.
CONCLUSIÓN

Después de analizar estos conceptos, podemos comprender que la memoria es el centro de la


información donde se procesa y se transmite a través de mecanismos que aseguran su
almacenamiento en el sistema operativo.

Más allá de las diversas cuestiones sobre los diferentes tipos de memoria, la memoria virtual permite
ampliar la capacidad en ejecutar programas de forma simultánea pero en algunas situaciones, el equipo
se ralentiza cada vez más.

Para comprender más sobre la memoria virtual, este nos ha permitido simular la memoria RAM
actuando como un mecanismo que se ha encargado del sistema operativo.
BIBLIOGRAFÍA

LIBROS

❖ Stallings, W. (2005). Sistemas Operativos, Aspectos internos y principios de diseño. (5ta ed.). Pearson
Educación.

SITIOS WEB [EN ESPAÑOL]

❖ Cabacas, T. (20 de diciembre del 2016). Qué es la memoria virtual de Windows y cómo configurarla bien. Muy
Computer. https://www.muycomputer.com/2016/12/20/la-memoria-virtual-windows-configurarla-bien/.

❖ Gadget-Info. (11 de marzo del 2019). Diferencia entre paginación y segmentación en OS. https://es.gadget-
info.com/difference-between-paging.

❖ Iglesias, A. (1 de noviembre del 2019). ¿Qué es la memoria virtual y por qué es importante? About Español.
https://www.aboutespanol.com/que-es-la-memoria-virtual-y-por-que-es-importante-841348.

❖ Onieva, D. (23 de febrero del 2022). Cómo se hace | Mejora el funcionamiento de Windows gracias a la
memoria virtual. Soft Zone. https://www.softzone.es/windows/como-se-hace/memoria-virtual-windows/.

You might also like