Você está na página 1de 5

1

1
Los sistemas operativos han venido evolucionando desde

Windows 10: Memoria los años 60, pasando por un modelo de memoria que permitía
solo ejecutar un programa a la vez como lo era el DOS (Disk
Operating System, Sistema Operativo en Disco); luego la
Real y Virtual memoria se relaciona con el disco, accediendo a este para
extraer el programa y cargarlo en la memoria, si el usuario
Juan Fernando Romero Ortega - 1151367, Cristian
finaliza el programa, este se guardaba en el disco con el estado
Leonardo Peñaranda Mora - 1151489
en que finalizó; esto si permitía la multitarea aunque en la
memoria solo existiera un programa al tiempo. Este último
RESUMEN sistema presentaba desventajas entre las cuales puede
La administración de la memoria es una cualidad clave para el sobresalir el tiempo en acceso al disco, al solo estar un
funcionamiento del sistema operativo, conociendo los programa al tiempo, siempre era necesario ingresar al disco
componentes más importantes acerca de la memoria real y
virtual se puede obtener una idea clara de cómo en este caso cuando el usuario ejecutara otro.
Windows 10 gestiona el espacio de su memoria principal para
ejecutar los procesos tanto del sistema como del usuario. El La gran popularización de los equipos personales fue una
espacio de direcciones, el archivo de paginación y los algoritmos motivación para aquellas empresas que los fabricaban y
de reemplazo son temas a tratar en este artículo. ambicionaban con crear equipos informáticos de gran
 
rendimiento y potencia. En la actualidad los sistemas
Palabras Clave— ​ Memoria Principal, Memoria Virtual,
Espacio de Direcciones, Algoritmo de Reemplazo. operativos de Windows además de la memoria real también
manejan el concepto de memoria virtual usando una zona
auxiliar en la unidad de almacenamiento como una extensión
ABSTRACT de la memoria principal, existe la multitarea y ahora si la
memoria real puede albergar varios programas, es decir,
The memory management is a key quality for the operation of programas concurrentes que compiten por el procesador.
the operating system, knowing the most important components
about the real and virtual memory you can get a clear idea of
how in this case Windows 10 manages the space of its main II. MEMORIA PRINCIPAL
memory to execute the processes of both the system and the user.
The address space, the paging file and the replacement Está distribuida por marcos de página de un tamaño
algorithms are topics to be addressed in this article. asociado a la arquitectura de la máquina, siendo 4kb y 8kb
para 32bits y 64bits respectivamente. [1]. En estas divisiones
Key Wor​ ds Main Memory, Virtual Memory, Address Space,
Replacement Algorithm. el sistema operativo inserta procesos que necesiten memoria
principal para ser ejecutados, función específica del
I. I​NTRODUCCIÓN administrador de memoria, del cual se hablará más adelante.
Los marcos de página que dividen la memoria son
Las computadoras con las que interactuamos a diario (de
identificados con una dirección única, en estos espacios se
escritorio y portátiles) nacieron con el objetivo de convertirse
almacena trozos de programas con sus instrucciones
en una herramienta práctica pero compleja de gran utilidad
correspondientes y su dirección única es llamada dirección de
para nuestras vidas. Son varios los dispositivos que la
memoria física. [4].
componen y entre los más conocidos podemos encontrar al
Procesador, Unidad de almacenamiento (HDD y/o SSD)
Al contar con divisiones de memoria el administrador
Tarjeta gráfica, dispositivos de Entrada/Salida, la memoria
necesita saber cuáles de estos marcos se encuentran libres y
RAM entre otras; esta última es también llamada memoria
ocupados: cada proceso tiene asociado un Conjunto de trabajo
principal o memoria real y es administrada por el
privado y uno compartido, para saber el uso de memoria física
administrador de memoria del sistema operativo que, en gran
asignada a las tareas de ese proceso y la que pertenece a las
medida es uno de los responsables del buen rendimiento de
actividades que comparte con otro, respectivamente. Para el
nuestro equipo pues gracias a él podemos ejecutar de manera
caso de Windows 10 cuando se inicia una aplicación donde
simultánea varios programas o aplicaciones: Multimedia, Mail
guardemos información, el programa ejecutable (.exe) de ese
y un navegador Web, es decir podemos soportar la multitarea.
programa se guarda en el conjunto de trabajo compartido, pero
la información que guardemos en él pasa al conjunto de
trabajo privado. Todos los procesos del sistema, aquellos
1
Primer Autor: ​juanfernadoro@ufps.edu.co​, estudiante de Ingeniería de llamados “Demonios” implementan sólo el conjunto
Sistemas, Universidad Francisco de Paula Santander. compartido. [5]
Segundo Autor: ​cristianleonardopm@ufps.edu.co estudiante de Ingeniería
de Sistemas, Universidad Francisco de Paula Santander.
2

sistema puede llegar a solicitar de nuevo, esto es más efectivo


III. ADMINISTRADOR DE MEMORIA que acceder al disco por los procesos. Además cuando el
Al encender nuestro equipo la memoria real empieza a sistema solicita una página el administrador de memoria busca
recibir procesos necesarios por la máquina que deben ser primero en la memoria de espera, y puede readaptar una
ejecutados por el sistema operativo, este último debe poner en página si se encuentra allí; Sea así o no, la pagina vuelve al
funcionamiento una gestión del espacio en memoria -por conjunto de trabajo. La memoria de espera prioriza los
medio del administrador de memoria- para la correcta procesos de 0 a 7, con el fin de que si un proceso solicita más
operación de nuestras aplicaciones y demás procesos del memoria, libera la memoria del proceso en espera con menos
sistema, que además soporte la multitarea. El administrador de prioridad, para asignarla al proceso solicitante.
memoria debe realizar su trabajo de manera eficaz, pues debe
estar al tanto de aquellos espacios en memoria que se E. Memoria Libre:
encuentren ocupados y los que estén libres, además cuando
Es la memoria libre para la utilización del administrador de
asignarle y retirarle memoria a un proceso. [2].
memoria. En este concepto también abarca la lista de páginas
cero, que son páginas libres para el uso del administrador de
memoria.
IV. REPRESENTACIÓN DE LA MEMORIA FÍSICA WINDOWS 10
El sistema operativo Windows 10 reserva espacios de Con tantos procesos que deben ser cargados en memoria, el
memoria para diferentes usos del sistema y del usuario [5]: administrador de esta puede encontrarse con que la suma de la
memoria que solicitan los procesos sea más grande que la
propia memoria física. Es tarea del administrador de memoria
cargar solo aquellos trozos de procesos necesarios para una
actividad específica, y así se van insertando cada vez que se
necesite otro. Solo aquellos procesos del hardware son
cargados complementamente, pues ya tienen un espacio fijo.
Esta repartición de memoria se le llama Demand Paging. [5]

V. Memoria Virtual

En muchas ocasiones la memoria real puede albergar tantos


procesos de usuario que es imposible para el sistema operativo
Figura 1. Monitor de recursos Windows 10 [Elaboración
encontrar espacio para agregar más, en dado caso el sistema
propia]
operativo guarda trozos de programas en disco llamado
memoria virtual que no es más que un espacio auxiliar que
A. Reserva de Hardware: contiene una zona de intercambio (Swapping Área), así mismo
Para todos los controladores o drivers del hardware que todo proceso contenido en la memoria virtual está identificado
siempre habitan en la memoria principal, el administrador de por un espacio de direcciones virtuales [3].
memoria no tiene acceso a ella.
VI. Espacio de Direcciones
B. En uso:
Espacio de memoria utilizada por las tareas que hacen parte
Por defecto, las aplicaciones basada en Microsoft Windows
del proceso del sistema operativo, el núcleo de este y las
x64 tienen un espacio de direcciones en modo usuario de
aplicaciones de usuario.
varios terabytes.
C. Modificada:
Todas las páginas de los procesos que no ha vuelto a usar el Límites de la memoria física en windows 10 con una
sistema o el usuario. Estas son guardas en el disco para cuando arquitectura de x32 y x64 bits:
el sistema o el usuario llegara a necesitarlas.

D. En espera:
Es la caché de la memoria principal, aquí el administrador
de memoria guarda todos los procesos que se ejecutaron y
finalizaron de manera correcta, pero que el usuario o el
3

VirtualAllocEx, para reservar la página en su espacio


de direcciones.
● Committed: Los espacios en memoria se han
asignado a partir del tamaño total de la RAM y los
archivos de paginación del disco.La pagina en este
estado es accesible y el acceso a esta es controlado
por una de las constantes de protección de la
memoria. El sistema inicializa y carga en la memoria
Figura 2. Límites memoria física windows 10 [10]
física cada página en el estado Committed cuando
ocurre el primer intento de leer o escribir en esta
Sin embargo, la aplicación puede solicitar al sistema que se le
página. Cuando el proceso termina, el sistema libera
asigne toda la memoria a esta, siempre y cuando el espacio
el almacenamiento ocupado para las páginas en este
que la aplicación necesita para funcionar este por debajo de
estado. 
los 2GB. Esta característica es beneficiosa para las
aplicaciones de 64 bits siempre y cuando las siguientes
condiciones se cumplan. VIII. TRADUCTOR DE DIRECCIONES

● Un espacio de direcciones de 2GB es suficiente para Cuando el sistema va a ejecutar un programa o proceso que
la aplicación se encuentra en memoria virtual, se toma la dirección virtual
● El código tiene varias advertencias de truncamiento de este y se traduce a una dirección física, actualmente se
implementan hardware capaz de realizar tablas de páginas
● Los punteros y enteros son mezclados libremente
anidadas para mantener un paralelo o una relación entre las
● El código tiene polimorfismo usando tipos de datos ubicación virtual y real, la traducción de las direcciones es
de 32 bits realizada por Translation Look-aside Buffer (TLB) por medio
de la Memory Management Unit (MMU). [3]
Todos los punteros siguen siendo de 64 bits, pero el sistema
garantiza que cada asignación sea por debajo del límite de
2GB, de modo que si se trunca el puntero a 32 bits no se van a
perder datos importantes que afecten el funcionamiento del
programa. Los punteros que son truncados a 32 bits se pueden
extender mediante la extensión de signo o cero.[9]

VII. ESTADOS DE PÁGINA  


Figura 3. Espacio de direcciones físicas y virtuales [3] 
Las páginas en el espacio de direcciones virtuales de un
proceso puede estar en uno de los siguientes estados:

● Free: En este estado la página se encuentra próxima a


ser reservada y/o usada, Intentar leer o escribir en una
página con este estado generará una excepción de
violación de acceso.Un proceso puede hacer uso de la
función VirtualFree o VirtualFreeEx para liberar
páginas de su espacio de direcciones que están en el
estado Reserved o commited.
● Reserved: La página ha sido reservada, en este estado
ya ningún otro proceso puede usar esta página hasta
que sea liberada. Cuando el proceso que reservó la
página intenta leer o escribir en esta, pasa  
automáticamente al estado committed, Esto se podrá  
hacer después de usar la función VirtualAlloc or Figure 4. Address Translation in Traditional Address
Space [3]
4

principal para cargar la página que necesita el programa. El


algoritmo de reemplazo se encarga de elegir una víctima, la
IX. TABLA DE PAGINACIÓN cual expulsara de la memoria real para que pueda entrar una
página de la zona de intercambio, la cual está siendo solicitada
Si la traducción de la dirección virtual corresponde con la para usar, este desalojo lo hace teniendo en cuenta los
dirección física esta se envía al administrador de memoria y se atributos de las paginas que estan actualmente referenciadas
accede a una tabla de relaciones o de paginación que contiene en la memoria principal.
el mismo numero de paginas como hay en la memoria virtual,
Los algoritmos de reemplazo de página más conocidos
identificando cada entrada o página por su dirección virtual,
utilizan la frecuencia o la recencia como factor principal de
siendo esta un mapeo para saber qué procesos están y cuáles
desalojo de una página de memoria real, como es el caso del
no en la memoria física. En esta tabla de relaciones por medio
algoritmo NFU (Not Frequently Used) que elige la víctima
su unidad de administración de memoria (MMU) se busca la que tenga el menor valor del contador de página referenciada,
dirección traducida, en caso de no hallarla se produce un fallo el cual se incrementa en uno cada cierto tiempo; y el algoritmo
de página por medio del MMU al sistema operativo para que LRU (Least Recent Used) que selecciona como víctima a la
este último agregue el proceso a la memoria física, recurriendo página menos frecuentemente usada, es decir, saca de
a un algoritmo de reemplazo en caso de no hallar espacio en la memoria principal a la que tiene el tiempo de referencia más
memoria real.[3] antiguo; hace uso del bit de referencia de la entrada en una
tabla de páginas para esta cumplir su función de desalojo y
El administrador de memoria virtual (VMM) se encarga de reemplazo.
generar páginas en la zona de intercambio, hasta este
momento las páginas tienen la ubicacion del proceso en el Windows NT usa el algoritmo del reloj (LRU) para sistemas
disco duro; y cuando se le asigna memoria real también se con mono-procesador y usa el algoritmo aleatorio
crea una entrada en la tabla de paginación para informar al (random-page) para sistemas con multi-procesador. Windows
sistema el espacio donde se encuentra cada uno de los 10 usa el mismo algoritmo.
procesos en memoria real.
Existen otros algoritmos de reemplazo que respetan el
principio de localidad, como el algoritmo de reemplazo
First-in Not Referenced First-out Page Replacement, el cual
tiene unas políticas establecidas como:

A. La pagina que es puesta en memoria se le asigna un


bit de antigüedad y un bit de referencia.
B. El bit de antigüedad llevará registro del tiempo que
lleva la página en memoria principal.
C. El valor del bit de antigüedad está entre el Total de
marcos de páginas en memoria y el doble de esta
cantidad.
D. Por cada pagina que es admitida en memoria
principal, el bit de antigüedad de las páginas ya
existentes en memoria se decrementa en 1.
E. Cuando ocurre un hit page el bit de referencia se
prende (valor 1) y el bit de antigüedad se devuelve al
 
máximo establecido.
Figura 5. Recorrido de un proceso en memoria[3]
F. Cuando el bit de antigüedad llega a cero, el bit de
referencia se apaga (valor 0) pero continuará la
X. ALGORITMOS DE REEMPLAZO
página en memoria principal y el bit de antigüedad se
seguirá decrementando en 1.
Uno de los componentes principales del sistema operativo
G. Cuando ocurre un fallo de página y no hay marcos de
que tiene incidencia en el rendimiento del mismo es, el
página disponible en memoria, se procede a
algoritmo de reemplazo, el cual entra en juego cuando un
seleccionar una víctima teniendo en cuenta los
programa referencia datos o instrucciones que no están
valores actuales del bit de referencia y de antigüedad,
cargadas en memoria (lo que produce un fallo de página) y a
para así hacer el reemplazo de página.
su vez no se tiene un marco de página disponible en memoria
H. El candidato ideal para ser seleccionado como
5

víctima será el que tenga el menor valor numérico en [8] Microsoft. (n.d.). Page State (Windows). Retrieved June 19, 2018,
from
su antigüedad y que tenga el bit de referencia en 0; Si https://msdn.microsoft.com/en-us/library/windows/desktop/aa366794(
todas las paginas tiene el bit de referencia en 1 se v=vs.85).aspx
procede a sacar el más antiguo en memoria. [9] Microsoft. (n.d.). Virtual Address Space (Windows). Retrieved June
19, 2018, from
https://msdn.microsoft.com/en-us/library/windows/desktop/aa384271(
Este algoritmo funciona mejor para programas que usan v=vs.85).aspx
instrucciones basadas en la localidad de referencia. Al hacerlo, [10] Microsoft. (n.d.). Memory Limits for Windows and Windows Server
las páginas que tienen una alta probabilidad de ser Releases (Windows). Retrieved June 20, 2018, from
https://msdn.microsoft.com/en-us/library/windows/desktop/aa366778(
referenciadas nuevamente no se intercambiarán de manera v=vs.85).aspx.
apresurada. Pero para los programas que no tienen un número
significativo de instrucciones que sigan el principio de
localidad, este algoritmo funciona como la política FIFO.[7]

XI. CONCLUSIONES
La administración de la memoria es un factor primordial
para el buen funcionamiento de todo el sistema, ya que ayuda
a mejorar el rendimiento y la seguridad del mismo.
Gracias a la memoria virtual los programas no tienen la
necesidad de cargarse en su totalidad en la memoria principal,
sino simplemente se cargan las paginas que este necesite en un
momento determinado, estando las no utilizadas en la zona de
intercambio del disco.

XII. REFERENCIAS
[1] Ravenbrook Limited, «Memory Management Reference,» 2018. [En
línea]. Available:
http://www.memorymanagement.org/glossary/index.html#glossary
[Último acceso: 19 Julio 2018].

[2] Tanenbaum, A. S. (2009). Sistema Operativos Modernos. Computer


Science and Communications Dictionary.
http://doi.org/10.1007/1-4020-0613-6_2346

[3] Meghanathan, N. (2012). Virtualization of virtual memory address


space. Proceedings of the Second International Conference on
Computational Science, Engineering and Information Technology -
CCSEIT ’12, 732–737. http://doi.org/10.1145/2393216.2393338

[4] Castaño, F. J. S. (2013). Gestión de procesos en los sistemas


operativos, 1, 72. Retrieved from
http://openaccess.uoc.edu/webapps/o2/bitstream/10609/8179/1/fserran
ocaTFC0611.pdf
[5] Sushovon Sinha. (2015). Physical and Virtual Memory in Windows 10
[En Linea ]
https://answers.microsoft.com/en-us/windows/forum/windows_10-per
formance/physical-and-virtual-memory-in-windows-10/e36fb5bc-9ac8
-49af-951c-e7d39b979938

[6] Tsai, H.-B., & Lei, C.-L. (2017.). A Page Replacement Algorithm
Based on Frequency Derived From Reference History.
https://doi.org/10.1145/3019612.3019737
[7] Patil, A., Prakash, M., & Nimkar, A. (2011). First-In Not Referenced
First-Out Page Replacement Algorithm. Retrieved from
http://delivery.acm.org.bdbiblioteca.ufps.edu.co:2048/10.1145/199000
0/1980116/p443-patil.pdf?ip=200.93.148.73&id=1980116&acc=ACTI
VE
SERVICE&key=4D9619BEF5D5941F.04186943547C145F.4D4702B
0C3E38B35.4D4702B0C3E38B35&__acm__=1529489349_a8d9346
d194cf6d49cf6445d89d016d8#URLTOKEN#

Você também pode gostar