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.
·         En uso: Memoria total que está en uso.






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

Entradas populares de este blog