Gestión de memoria y memoria en virtual en
diferentes sistemas operativos
Mauricio Javier Flores, Karen Danelia
Sierra, Dilcia Yessenia Sánchez y Marvin
Yovany Cortez
20131001416 mfloresirias@gmail.com
20131002909 karendanelia2@yahoo.com
2012107960sdilcia_2010@yahoo.es
20031009370
mayoco84@gmail.com
Resumen El propósito de esta investigación científica es dar a
conocer lo que es la Gestión de memoria que es la parte más importante del
sistema operativo es la que se encarga de la tarea de subdividir la memoria
para referirse a sitios y varios procesos también se encarga de administrar los
recursos de la computadora, lleva un registro de las partes de la memoria que
se estén utilizando en ese momento y las que no para así tener una idea clara y
a la vez tener un control y asignar espacio en memoria. Se presenta los
requerimientos de memoria que se deben de considerar en cada sistema operativo.
La memoria virtual o secundaria se
encuentra situada en el disco duro y permite multiprogramación útil y da soporte
a los distintos programadores para pasar distintas y dificultosas restricciones
de la memoria Principal y para acceder a estos datos se vuelve un poco más
lenta la computadora, tener en claro cuáles son los soportes de la memoria
virtual en la cual se encuentra el hardware que debe de existir para la
paginación y segmentación, los bits de modificaciones en una tabla de páginas.
La Gestión de memoria en Windows este
sistema operativo hace uso de lo que es la paginación una página tiene de 4 KB
a 64kb, estas páginas se pueden llegar a encontrar en tres estados los cuales
son:
Disponible, reservada y asignada.
En Windows 2000 cada uno de los procesos
que realiza el usuario cuenta con una cantidad determinada de 32 bits
aproximadamente lo que permite un máximo de 4 G bytes de memoria esto es
conocido como un mapa de direcciones virtuales. El segundo punto es la
paginación en Windows 2000 al crearse un proceso al inicio se puede cargar en
cualquier parte de la memoria que está disponible para el usuario (2
GBytes)
En la memoria tenemos los niveles que
componen regularmente la jerarquía de la memoria.
La gestión de memoria en MAC OS (sistema
operativo de Macintosh) se ve mejorada en dos versiones y podemos decir que
este sistema se puede dividir en dos familias: Mac Os clásico y Mac Os X.
Mac contiene un estado de memoria virtual
que no se puede apagar además Mac clasifica el uso de la memoria en libre, el
sistema, activa, inactiva, y en uso.
Apple
para la gestión de memoria en Mac Os X comprende la memoria RAM, la memoria
virtual y los archivos de intercambio del disco duro de Mac.El tamaño memoria virtual la cantidad de memora virtual es para todos los procesos, este sistema de memoria virtual en Os X suele escribir páginas de memoria al almacén de respaldo el cual es un repositorio apoyado en disco que comprende una copia de las páginas de memoria. La paginación perjudica el rendimiento, porque obliga al sistema a estar demasiado tiempo leyendo y escribiendo en el disco.
En la gestión de memoria en Linux como es conocido por todos los usuarios de sistemas operativos comunes, la memoria RAM es el recurso más importante y por tanto debe de ser administrado con el mayor de los cuidados, la cantidad de megas que se utiliza con cada proceso que se ejecuta.
La memoria virtual del sistema actúa utilizando direccionamiento de memoria virtual desde la principal.La memoria virtual realiza tareas como: Espacio de direcciones grande, la protección, la protección de memoria se utiliza en Linux ara asignar un fichero sobre el espacio de direcciones de un proceso, la asignación equitativa de memoria física, memoria virtual compartida.
La memoria virtual de un proceso en Linux contiene el código ejecutable y otros datos de fuentes diversas, el primer paso se encarga de cargar a imagen del programa, el segundo lugar los procesos pueden reservar espacios de memoria para que sea más eficiente la tarea a que este realizando, e tercer lugar los procesos en Linux usan bibliotecas de código común
Linux como sistema operativo cuenta con un mecanismo para tratar bloques de página contiguos a bloques de marcos de página contiguos esta tarea se conoce como sistema de colegas (BuddySystem).
La paginación por demanda utiliza todo lo que se pueda en cache de los datos existen 3 niveles los cuales son: Directorio de páginas, Directorio intermedio de páginas y finalizando con la Tabla de páginas.
Caches Hardware, técnica utilizada para cargar solo páginas virtuales en memoria conforme van siendo accedidas a esto se le conoce como Paginación por Demanda.
Abstract The purpose of this scientific research is to make known what Memory Management is the most important part of the operating system is the one that is in charge of the task of subdividing the memory to refer to sites and several processes is also responsible for administering the resources of the computer, keeps a record of the parts of memory that are being used at the time and those that do not stop so have a clear idea while having a control and allocate space in memory. It presents the memory requirements that must be considered in each operating system.
The virtual or
secondary memory is located on the hard disk and allows multiprogramming useful
and supports the different programmers to pass different and difficult restrictions
of the main memory and to access this data becomes a bit slower computer, take
in Clear which are the supports of the virtual memory in which is the hardware
that must exist for the pagination and segmentation, the modification bits in a
page table.
Memory Management in Windows This operating system
makes use of what is the page one has from 4 KB to 64 KB, these pages can be
found in three states which are:Available, booked and assigned.
In Windows 2000 each of the processes that the user has a certain amount of 32 bits that allows a maximum of 4 G bytes of memory this is known as a virtual address map. The second point is the pagination in Windows 2000 when creating a process at startup can be loaded into any part of the memory that is available to the user (2 GBytes).
In memory, we have
the levels that regularly make up the hierarchy of memory.
Memory management
in Mac OS (Macintosh operating system) is improved in two versions and we can
say that this system can be divided into two families: Classic Mac Os and Mac
Os X.
Mac contains a
virtual memory state that can´t be turned off further Mac sorts the use of
memory into free, system, active, inactive, and in use.
Apple for memory
management in Mac Os X comprises the RAM, virtual memory and files of the Mac's
hard disk.
The virtual memory
size of the amount of virtual memory is for all processes, this system of
virtual memory in Os X usually write pages of memory to the backup store which
is a disk-based repository comprising a copy of the pages of memory.
Paging hurts
performance, because it forces the system to spend too much time reading and
writing to disk.
In memory
management in Linux as is known by all users of common operating systems, RAM
is the most important resource and therefore must be managed with the utmost
care, the amount of megas that is used with each Process running.
The virtual memory
of the system acts using virtual memory addressing from the main memory.
Virtual memory performs tasks such as: Large address space, protection, memory
protection is used in Linux to allocate a file on the address space of a
process, equitable allocation of physical memory, shared virtual memory.
The virtual memory
of a process in Linux contains the executable code and other data of diverse sources,
the first step is in charge of loading to image of the program, the second
place the processes can reserve spaces of memory to be more efficient the task
to which This third, third-party processes in Linux use common code libraries.
Linux as an operating
system has a mechanism for dealing with page blocks contiguous to blocks of
contiguous page frames. This task is known as the Buddy System.
The demand paging
uses everything that can be cached of the data there are 3 levels which are:
Page Directory, Intermediate Page Directory and ending with the Page Table.
Caches Hardware,
technique used to load only virtual pages in memory as they are accessed this
is known as paging on demand.
Palabras Clave:
Paginación, Compresión, Rendimiento, Sistema, Gestión, memoria, memoria
virtual.
GESTIÓN MEMORIA Y MEMORIA VIRTUAL EN WINDOWS
Cómo se administra la memoria física y
virtual en Windows al ejecutarse varios procesos.
El sistema operativo Windows hace uso de
lo que se conoce como la paginación con el objetivo de hacer la administración
de la memoria. En Windows Una página tiene cuatro Kb hasta los sesenta y cuatro
kB. Se realiza un intercambio en la memoria física por la virtual cuando se
llega a tener una gran cantidad de procesos en ejecución y todos al mismo
tiempo.
El tamaño máximo para almacenar procesos
es de dos Gb (2 Gb más para el sistema) y en este espacio se dividen páginas de
tamaño fijo.
El trabajo se realiza de página a página y
no de bytes a bytes, que es donde se encuentran todos los datos de los
procesos. Luego, cuando toda la memoria esté paginada, tanto la virtual como la
física. las páginas se pueden llegar a encontrar en tres estados.
1) Disponible:
cuando las páginas de la memoria no están siendo usadas actualmente.
2) Reservada:
cuando el gestor de memoria virtual separa un grupo de páginas seguidas para un
proceso, pero no se toma en cuenta la cuota de la memoria del proceso hasta que
se carga.
3) Asignada:
son las páginas para las cuales el gestor de memoria virtual mantiene un grupo
de espacio que están separados en su archivo de paginación. La diferencia que
hay entre la memoria confirmada y la memoria reservada es que la memoria
confirmada permite a hilos o procesos, el poder declarar un tamaño de memoria
que se puede asignar de manera inmediata en caso de ser necesaria; y la memoria
reservada, lo que hace es minimizar el tamaño de espacio en el disco, aparte
para cuando un proceso particular dejando ese espacio en disco para cuando se
ocupe cargar otros procesos.
Cuando se carga por primera vez un proceso
en la memoria a esta memoria principal se le asigna una cantidad de marcos de
páginas. Cuando está el espacio suficiente para cargar los procesos entra en
acción el gestor de memoria virtual y carga los procesos en sus respectivas
páginas y se agrega una nueva página a la memoria.
En caso de que ya no quede más espacio en
la memoria el gestor de memoria virtual libera las páginas más antiguas luego
hace un intercambio (swap) y las mueve al disco duro y de esta manera quedaría
espacio libre en memoria principal para nuevos procesos. y estas páginas se
llegan a almacenar en archivos “.sys” y se dice que está en la raíz de una
partición. (En este aspecto es mejor el sistema operativo Linux).
Aunque los procesos que se están cargando actualmente
no excedan el tamaño de la memoria principal siempre es usada la memoria
virtual. La Memoria principal es un recurso limitado y costoso a diferencia de
la memoria secundaria (Disco Duro), es por eso que, para fines más prácticos,
la memoria virtual es ilimitada ya que el objetivo de esta es el cambio de
memoria, y se cuenta con bastante tamaño de almacenamiento rápido en disco
duro.
La gestión de memoria en este sistema
operativo es la de memoria virtual con paginación (que es la que se encarga del
intercambio de información entre nuestra memoria principal y la memoria
secundaria o disco duro).
Al cargar Un proceso en Windows debemos de
ser conscientes de que sólo se puede acceder a los 2 GB de la parte más baja
del espacio del direccionamiento, teniendo muy en cuenta además que los 64KB
más altos y más bajos no se pueden usar.
Todos los controladores de dispositivos
que están en los 2Gb del sistema están siendo totalmente protegidos de
cualquier software malicioso, de cualquier acceso que pueda llegar a corromper
los controladores.
El objetivo principal y lo que se busca es
el poder contar con la capacidad suficiente para la memoria, y que contenga una
gran velocidad y de esa manera que sirva para poder efectuar y llevar a cabo la
demanda de rendimiento y que sea lo menos costoso posible, que no sea un gasto
demasiado excesivo.
En la memoria tenemos los niveles que
componen regularmente la jerarquía de la memoria y son los siguientes:
Nivel 0: en este se tienen los registros
Nivel 1: es donde actúa la memoria Caché
Nivel 2: Aquí trabaja la memoria principal o memoria RAM
Nivel 3: por último, tenemos al disco duro o memoria secundaria que
es la que trabaja con el mecanismo de memoria Virtual
Núcleo VM manager y
working-sets
En este sistema operativo se presupone un
hardware para hacer uso de la gestión de memoria. Los procesos que se
cargan tienen direcciones de 32 bits y en una máquina el tamaño es de 4
kilobytes. En Windows también se proporcionan las características de la gestión
de memoria las cuales son protección y compartición haciendo uso de la memoria
virtual junto con la paginación a dos niveles.
En el sistema operativo está denominado un
núcleo llamado VM manager para proporcionar la gestión de memoria. Se pueden
mencionar una serie de características: Paginación por demanda con clustering
(el cual es un algoritmo de agrupamiento). Cuando ocurra un fallo
de página se deberá cargar la página que generó el fallo y un grupo de varias
páginas adyacentes.
Otra de las características es la asignación de página
local la cual aplica la política llamada FIFO entre páginas cargadas de
procesos. También está el Tamaño de working-set ajustable dinámicamente.
El núcleo VM manager lo que hace es
ajustar los tamaños de los working-sets de cada proceso en relación de sus
cuotas de memoria, comportamientos y de sus respectivas necesidades globales de
memoria. el VM manager recupera marcos de memoria de los working-sets de cada
uno de los procesos, siempre y cuando se respete el tamaño mínimo Cuando se da
la necesidad de más memoria. También Un proceso puede aumentar su working-set a
medida que comete fallos de página si hay marcos libres.
¿Cómo es en Windows 2000?
El gestor de memoria virtual controla cómo
se coloca la memoria y también de cómo se lleva a cabo la paginación En Windows
2000.
Mapa de Direcciones Virtuales: Cada uno de los procesos que realiza el
usuario cuenta con una cantidad determinada de espacio de direcciones de 32
bits, lo que permite un máximo de 4G bytes de memoria. Pero de este total, hay
una parte que está reservada para el sistema operativo y el resto es lo que
tiene el usuario (2 Gbytes) de espacio de direcciones virtual disponible. De
esta manera vemos que la manera en que Windows gestiona su memoria es igual en
todos los que se han mencionado hasta ahora.
El segundo punto a tratar es:
Paginación en Windows 2000. Al momento de crearse un proceso al
inicio, este se puede cargar en cualquier parte de la memoria que está
disponible para el usuario (2 GBytes).
GESTIÓN DE MEMORIA EN MAC
La gestión de memoria en el sistema operativo Mac OS (Sistema Operativo de Macintosh) de Apple, se
ve mejorada en sus versiones, podemos decir que este sistema se puede dividir
en dos familias: Mac OS Clásico y el Mac OS X.
El Mac Os Clásico se consideró que presentaba una
gestión de memoria condicionada ya que carecía de memoria protegida y podría
tener problemas entre extensiones del sistema operativo. Ciertas extensiones
podrían no trabajar bien en grupo o solo podrían trabajar cuando se cargaran en
un orden en específico.
Mac OS X tiene un nuevo sistema de gestión de
memoria que es muy eficaz, establece memoria automáticamente y acomoda sus
contenidos según sea la situación, permite realizar más programas a la vez y
quita la probabilidad de que un programa haga fallar a otro.
Apple para la gestión de
memoria en Mac Os X comprende la memoria RAM, la memoria virtual y los archivos
de intercambio del disco duro de Mac. Y clasifica el uso de la memoria en:
·
Libre:
La memoria que no se está utilizando.
·
Sistema:
La memoria que se utiliza por parte del sistema operativo.
·
Activa:
la memoria que se ha utilizado recientemente.
· Inactiva: Memoria que se aparta a aplicaciones que se han cerrado o que
no se están utilizando en el momento pero que pueden estar disponibles
nuevamente.
Tamaño memoria virtual: Es la cantidad de memoria
virtual para todos los procesos.
Paginación (entradas): Cantidad de información
que se traslada entre la RAM y el disco duro. Y el número que aparece entre
paréntesis indica la actividad de paginación reciente.
Paginación (salidas): Cantidad de información que
se escribe en el disco duro cuando la RAM está llena.
Espacio de intercambio usado: Cantidad de
información que se ha transcrito al archivo de intercambio del disco.
Para conseguir información del uso de memoria de
los diferentes procesos en ejecución, se utiliza el Monitor de actividad. En él
se puede seleccionar que procesos se quiere detallar información, lo cual es
muy provechoso para conocer qué gestión de la memoria realizan los procesos
tanto del sistema como los procesos que están en ejecución entre otros.
La gestión de la RAM
tenía un patrón, las aplicaciones pedían memoria al sistema y se daba en
función de las necesidades y posibilidades. Cuando terminaba el uso de la
aplicación, la memoria se regresaba al sistema. Ahora aparece la compresión de
memoria la cual ayuda al rendimiento del Mac, que permite retrasar el uso de la
memoria virtual, comprimiendo los datos ocupados pero que en el momento no están
siendo utilizados, este fue gran cambio que surgió con OS X.
MEMORIA VIRTUAL EN MAC
Mac Os X contiene un
sistema de memoria virtual incorporado que no se puede apagar, ósea que siempre
está encendido, este sistema concede hasta 4 gigabytes de espacio direccionable
por proceso de 32 bits. También otorga aproximadamente 18 exabytes de
espacio direccionable para procesos de 64 bits. Al igual los equipos que poseen
4 o más gigabytes de memoria RAM disponible, muy pocas veces el sistema otorga
esa cantidad de RAM a un proceso. Para conceder a los procesos de acceso a la
totalidad de su espacio de direcciones de 4 gigabytes o 18 Exabyte, Os X usa el
disco duro para almacenar los datos que no están siendo usados en el momento.
Cuando se está llenando la memoria, secciones de memoria que no se están
utilizando se escriben en disco para hacer espacio para los datos que se
necesiten. La parte del disco que guarda los datos no utilizados se le llama
almacén de respaldo, porque facilita el almacenamiento de copia de seguridad
para la memoria principal.
El sistema de memoria
virtual en Os X, suele escribir páginas de memoria al almacén de respaldo. El
almacén de respaldo es un repositorio apoyado en disco que comprende una
copia de las páginas de memoria que se utilizan en determinado proceso. El
traslado de datos desde la memoria física al almacén de respaldo se llama
paginación a cabo ó “intercambiando” y el traslado de datos desde el almacén de
respaldo de nuevo a la memoria física se llama paginación en ó “intercambio
en”.
El tamaño de una página
es de 4 Kilobytes, ese tamaño determina cuántos kilobyte lee el sistema desde
el disco cuando ocurre un fallo de página. Basura de disco puede pasar cuando
el sistema emplea una cantidad de los errores de página y páginas de lectura y
escritura, en vez de ejecutar código de un programa.
La paginación perjudica
al rendimiento, porque obliga al sistema a estar demasiado tiempo leyendo
y escribiendo en el disco. La lectura de una página en el almacén de respaldo
se apropia de gran cantidad de tiempo y es más lento que la lectura directa de
la memoria RAM. Cuando el sistema tenga que escribir en el disco antes de poder
leer otra página del disco, el efecto en el rendimiento podría ser peor.
GESTIÓN DE MEMORIA EN LINUX
Como es conocido por todos los usuarios de
sistemas operativos comunes, en el cual Linux no es la excepción, la memoria
RAM es el recurso más importante y por tanto debe de ser administrado con el
mayor de los cuidados, la cantidad de megas que se está utilizando con cada uno
de los procesos que se está ejecutando. - Linux así como otros sistemas
operativos hace uso de la memoria física para así tener cache de los
dispositivos i/o, memoria compartida y buffers de intercambio.
Con esto podemos decir entonces que la
memoria física, el tamaño combinado del programa, datos y pilas en determinado
momento puede exceder la cantidad de espacio físico con la cual contemos y que
disponemos, por esto mismo el sistema operativo(Linux) se encarga de guardar
aquellas partes del programa que son concurrentes en la memoria central y
el resto del disco, Es allí donde actúa la memoria Virtual del sistema,
utilizando direccionamiento de memoria virtual desde la memoria principal,
podemos destacar que la memoria virtual puede hacer más cosas que solo ampliar
la memoria del ordenador tales como ser:
·
Espacio
de direcciones grande
El sistema operativo hace que el sistema
parezca tener una cantidad de memoria grande y como ya es de nuestro
conocimiento la memoria virtual puede llegar a ser muchas veces mayor que la
memoria con la que cuenta físicamente el sistema.
·
Protección
Cada proceso que se está ejecutando cuenta
con su propio espacio de direcciones virtuales, el mismo se encuentra aislado
totalmente de otros procesos de tal manera que un proceso no puede interferir
con otro. Además, el mecanismo de memoria virtual ofrecido por el hardware
permite proteger determinadas áreas de memoria contra operaciones de escritura,
esto nos ayuda a proteger el código y todos los datos de ser sobre-escrito por
aplicaciones maliciosas.
·
Proyección
de Memoria (MemoryMapping)
Se utilizan en Linux para asignar un
fichero sobre el espacio de direcciones de un proceso, el cual, en la
proyección de memoria, el contenido del fichero se “engancha” de forma directa
sobre el espacio de dirección virtual del proceso.
·
Asignación
equitativa de Memoria Física
En este punto el subsistema de gestión de
la memoria nos permite que cada uno de los procesos del sistema se ejecute con
una cantidad de memoria justa de toda la memoria física disponible, de esta
forma toda y cada uno de los procesos dispone de los recursos que necesitan.
·
Memoria
virtual compartida
Aunque la memoria virtual permite nos da
la facilidad que cada uno de los procesos tenga un espacio de memoria asignado
por separado (Virtual), aunque a pesar de ello se vuelve necesario que varios
procesos compartan una misma memoria.
(Http://sopa.dis.ulpgc.es/ii-dso/leclinux/mm/paginacion/LEC11_PAGINACION.pdf,
s.f.)
MEMORIA VIRTUAL EN LINUX
La memoria virtual de un proceso de Linux
contiene el código ejecutable y otros datos de diversas fuentes, un proceso de
memoria se estructura de la siguiente manera.
·
El primer
paso se encarga de cargar la imagen del programa, la cual contiene la
información necesaria para poder cargar el código ejecutable y sus datos
asociados con el programa en la memoria virtual del proceso
·
En
segundo lugar, los procesos pueden reservar memoria(virtual) para usarla
durante sus procesos
·
En
tercer lugar, los procesos en Linux usan comúnmente bibliotecas de código
común, ej.: rutinas de manejo de ficheros, por lo cual cabe mencionar que sería
ilógico que cada uno de los procesos tenga su propia copia de biblioteca, así
pues, este sistema operativo utiliza bibliotecas compartidas en la cual varió
procesos pueden acceder al mismo tiempo
Cabe mencionar además que un proceso no
utilizara todo el código que se encuentre en su memoria virtual dentro de un
periodo de tiempo estipulado, lo cual implica que la memoria virtual del
proceso puede que tenga código que solo se usa en contadas ocasiones, como
cuando arrancamos un programa o para el procesamiento de un evento en especial,
en este caso podría ser que solo se usen unas pocas rutinas de las bibliotecas
compartidas
Linux como sistema operativo cuenta con un
mecanismo para tratar bloques de página contiguos correspondientes a
bloques de marcos de páginas contiguos, para realizar esta tarea Linux utiliza
lo que se conoce como sistema de colegas(Buddysystem) mediante el cual el
núcleo mantiene listas de grupos de marcos de páginas todos ellos contiguos y
de tamaño fijo.-Es de suma importancia entender que el sistema no funcionaría
de manera eficiente, si multiplicamos el gasto que la memoria tenga por el
número de procesos en el sistema. Y para solventar este problema Linux utiliza
la técnica llamada PAGINACIÓN POR DEMANDA (DemandPaging), en caso que la
memoria no esté siendo utilizados por las aplicaciones, es decir que los
procesos no estén utilizando toda la memoria, el sistema operativo hace
utilización de todo lo que pueda en caché de los datos, a esto se le conoce
como PAGINACIÓN POR DEMANDA, así cuando las aplicaciones necesiten más memoria
estas caches se irán haciendo más pequeñas.
Mencionaremos 3 niveles:
·
Directorio de páginas: un proceso activo tiene sólo un
directorio de páginas, donde cada entrada en el mismo, señala a una página del
directorio intermedio de páginas. Para un proceso activo, el directorio debe
estar en la memoria principal.
·
Directorio intermedio de páginas: es el que puede ocupar
varias páginas y donde cada entrada al directorio señala a una página de la
tabla de páginas.
·
Tabla de páginas: ésta también puede ocupar varias páginas y
en cada entrada se hace referencia a una página virtual del proceso. El sistema
de gestión de memoria es muy complejo respecto a memoria virtual, Linux hace
uso de una estructura de tabla de páginas con tres niveles. Para utilizarlas,
las direcciones virtuales en Linux se ven como un conjunto de 4 campos.
Contiene datos que son
utilizados por los manejadores de dispositivos de bloques. Estos buffers son de
tamaño fijo (por ejemplo 512 bytes) y contiene bloques de información que ha
sido leída de un dispositivo de bloques o que va a ser escrita. Los
dispositivos de bloque son exclusivamente accedidos a través del buffer Cache.
Cachés El código de liberación de páginas recombina páginas en bloques de mayor
tamaño siempre que es posible.
Siempre que se libera un
bloque de páginas, se comprueba si está libre el bloque adyacente de igual
tamaño. Si es así, se combina con el bloque de páginas recién liberado para
formar un bloque nuevo de tamaño doble. LIBERACIÓN DE PÁGINAS Buffer Caché Este
se utiliza para acelerar el acceso a imágenes y datos en disco. Se utiliza para
guardar el contenido lógico de un fichero de página en página y se accede vía
el fichero y el desplazamiento dentro del fichero. Conforme las páginas se leen
en memoria, se almacenan en la page caché. (https://prezi.com/q4si_ahvdz7l/administracion-de-memoria-de-linux/,
s.f.)
Cabe destacar que el caché de página o
Page Cache es el cache que normalmente es implementado en el propio procesador
y que para esto no requiere leer la tabla de páginas de manera directa, sino
que más bien va paulatinamente va guardando las traducciones conforme va
necesitando cada una de ellas, en cambio en el caché de intercambio(Dirty) se
guarda solo las páginas que han sido modificadas., y mientras no vuelvan a
ser modificadas después de haber sido guardadas en el fichero de Swap la
siguiente vez que necesiten ser descartadas en(Swap out) no será necesario
copiarlas nuevamente al fichero de intercambio pues allí se encontrarán.
Caches Hardware, esta técnica es utilizada
para cargar solo páginas virtuales en memoria conforme van siendo accedidas, se
le conoce además como Paginación por Demanda, Linux como sistema Operativo
utiliza la paginación por demanda para cargar imágenes ejecutables en la
memoria virtual de un proceso. Siempre que se está ejecutando un proceso Linux
abre el fichero que lo contiene y su contenido se Adhiere a la memoria virtual
del proceso, esto lo hace modificando las estructuras de datos en el cual se
describe el mapa de memoria del proceso, a lo cual se le conoce como Asociación
de Memoria.
CONCLUSIONES
Windows:
Cuando toda la memoria esté paginada, tanto la virtual como la física. Las
páginas se pueden llegar a encontrar en tres estados. Disponible, Reservada, Asignada.
En la memoria se tienen los niveles que componen regularmente la jerarquía de
la memoria. Nivel 0, nivel 1, nivel 2, nivel 3.
El disco duro o memoria
secundaria que es la que trabaja con el mecanismo de memoria Virtual
IOS:
En cuanto a la gestión de memoria de Mac, con el surgimiento de MAC OS había un
buen manejo de la memoria, permitía que se pudiera trabajar con varios
programas a las vez sin interferir el funcionamiento de otros, aquí también
surgió la compresión de memoria que reducía los datos ocupados pero que no
estuviese siendo utilizados innecesariamente ayudando a mejorar el rendimiento
al sistema operativo. También permite retrasar el uso de la memoria virtual, la
cual viene incorporada en el sistema y
siempre está encendida.
En general se concluye
que el manejo de la memoria, tanto física como virtual, constituye un punto de suma importancia para en el buen funcionamiento de un sistema
operativo, no solo para la ejecución de un programa o proceso, sino también
para hacer el aprovechamiento óptimo del hardware con el que contamos cada uno
de los usuarios.
AGRADECIMIENTOS
Agradecemos a Juan M.
Morera Pascual. Ya que Gracias a su
libro “conceptos de sistemas operativos” se pudo realizar la investigación
sobre la gestión de memoria y memoria virtual en Windows.
Agradecemos a Iñigo Aramendi Inchauspe, por medio de su blog Crónicas de un
informático aportamos imágenes para ejemplificar la gestión de memoria en Mac.
Agradecimientos
especiales a los autores de los diferentes libros y documentales en formato
digital por enriquecer y ampliar nuestros conocimientos, enfocados en un tema
que muchos ignoramos la importancia del mismo, sin darnos cuenta que el
conocimiento hacia el mismo, nos trae mejores resultados del rendimiento tanto de
nuestro software así como de nuestro Hardware.
Referencias
(Juan
M. Morera Pascual, 2002)
(Perez,
2014)
(Granados,
2015)
(Cantú,
2014)
(SANTAMARÍA, 2014)
(Aramendi, 2013)
(Inc, 2013)
(http://sopa.dis.ulpgc.es/ii-dso/leclinux/mm/paginacion/LEC11_PAGINACION.pdf,
s.f.)
(https://prezi.com/q4si_ahvdz7l/administracion-de-memoria-de-linux/,
s.f.)
Comentarios
Publicar un comentario