Está en la página 1de 17

UNIVERSIDAD DEL VALLE

FACULTAD DE INFORMATICA Y ELECTRÓNICA


CARRERA DE INGENIERIA DE SISTEMAS INFORMÁTICOS

GESTION DE MEMORIA

ESTUDIANTE: AMIRA BELÉN CRUZ FLORES


CARRERA: INGENIERIA DE SISTEMAS INFORMÁTICOS
MATERIA: SISTEMAS OPERATIVOS
TEMA: SISTEMA DE ARCHIVOS NTFS
DOCENTE: SHIRLEY SALAZAR MONTOYA

P á g i n a 1 | 17
RESUMEN

Esta documento lleva el contenido de que es una gestión de memoria(en


que estado está la memoria, la manipulación de memoria) , y todo lo que debe
de tener necesariamente como ser protección(que evita que el proceso de un
sistema operativo acceda a un espacio de memoria no asignado),
compartición(varios procesos en una sola unidad de memoria, organización o
partición lógica (memoria asignada de un solo tamaño en específico sea la
adecuada o no para el proceso) y física(memoria selección exactamente para
un proceso).

Tabla de contenido
P á g i n a 2 | 17
RESUMEN......................................................................................................2
(ClubEnsayos, 2015)...............................................................................4
1. INTERCAMBIO O SWAP...................................................................5
2. MONOPROGRAMACION..................................................................6
3. MULTIPROGRAMACION...................................................................6
4. MEMORIA VIRTUAL..........................................................................6
3.1. MULTIPROGRAMACION EN MEMORIAVIRTUAL.........................7
5. MEMORIA REAL................................................................................7
4.1. MULTIPROGRAMACION EN MEMORIA REAL..............................7
6. GESTION DE MEMORIA CONTIGUA...............................................9
7. PROTECCION....................................................................................9
8. COMPARTICIÓN..............................................................................10
9. Organización Lógica.........................................................................10
10. Organización Física..........................................................................11
11. CARGA DE PROGRAMAS EN MEMORIA PRINCIPAL..................12
12. Algoritmos de Reemplazo................................................................12
13. Reubicación......................................................................................13
Bibliografía....................................................................................................15

INTRODUCCION
P á g i n a 3 | 17
Como introducción tenemos que es gestionar y que es memoria.
Ahora bien una memoria es el que lleva las instrucciones en lenguaje
maquina para el almacenamiento de datos. Por otro lado tenemos que es
gestionar, pues es el administra al sistema. La memoria puede ser de corto o
largo plazo, pues tenemos que la gestión de memoria es la administración del
almacenamiento de datos ya sea de largo corto plazo.

P á g i n a 4 | 17
DESARROLLO
(ClubEnsayos, 2015)
En un sistema monoprogramado, la memoria principal se divide en dos
partes: una para el sistema operativo (monitor residente, núcleo) y otra parte
para el programa que se ejecuta en ese instante. En un sistema
multiprogramado, la parte de “usuario” de la memoria debe subdividirse aún
más para hacer sitio a varios procesos. La tarea de subdivisión la lleva a cabo
dinámicamente el sistema operativo y se conoce como gestión de memoria.
La gestión de memoria consiste en la asignación de una memoria física
de capacidad limitada a los diversos procesos que la soliciten con objeto de
activarse y entrar en ejecución.
Asimismo la gestión de memoria tiene que proceder a poner fuera de la
memoria los procesos temporalmente inactivos para dejar espacio a otros.

Sabemos que para que un programa pueda ejeuctarse, pasando a ser un


proceso, necesita cargarse en memoria principal. Esto es así, como ya
sabemos, porque la CPU solo puede ejecutar instrucciones que estén en
memoria principal. Lo mismo pasa con los datos que utilicen estos programas,
deben estar accesibles en memoria principal.
(EDUCATICA!, 2020)
Hoy en día la mayoría de los SSOO con los que trabajamos son SSOO
multitarea y multiusuario, es decir tendremos muchos procesos en ejecución y
posiblemente de distintos usuarios.

Sin embargo, tenemos una única memoria principal en la qu ese deberán


guardar de forma controlada tanto las instrucciones como los datos de todos y
cada uno de los procesos en ejecución, sin que haya problemas de accesos
indebidos. Todo esto lo debe gestionar el sistema operativo, como ya sabemos.

La parte del sistema operativo que se encarga de esta gestión de se


denomina gestor de memoria.

Para poder gestionar la memoria, tarea bastante compleja, se han ido


desarrollando una serie de técnicas que han solucionando los problemas de
gestión de memoria con los que se enfrentaban los sistemas operativos durante
su evolución. Se han utilizando distintos mecanismos para gestionar la memoria
P á g i n a 5 | 17
principal, pudiendo asignar porciones de memoria distintos a los procesos en
ejecución.

Vamos a repasar los principales mecanismos utilizados a lo largo de la


historia y analizaremos las bases de los utilizados hoy en día.

1. INTERCAMBIO O SWAP

El término SWAP ha sido usado para referirnos a los intercambios o


sustituciones. También se puede traducir como ‘espacio de intercambio’.
El swap es el espacio que contiene el disco duro para intercambiar la
memoria física con la memoria virtual. La memoria física guarda los procesos
que frecuentemente se usa en los sistemas operativos. En cambio, la memoria
virtual guarda los programas si es que algún día usaremos. Así podrán estar
listos para el intercambio en la memoria RAM o memoria física cuando lo
necesitemos.
SWAP es el espacio que hay en el disco duro que lo usamos como un
sustituto para una parte de la memoria virtual.

2. MONOPROGRAMACION
(ANGLEFYRE, 2017)
Es el modo de trabajo en el que solamente un programa utiliza el
procesador, siendo además el único existente en la memoria principal, de tal
forma que hasta que éste no termine su trabajo no cederá el control al siguiente
programa que será cargado en memoria, sustituyendo al anterior.

3. MULTIPROGRAMACION

Es una técnica que permite


que dos o más procesos
ocupen la misma unidad de

P á g i n a 6 | 17
memoria principal. Dentro de
la multiprogramación se
encuentra el concepto de
tiempo compartido, en donde
cada usuario tiene acceso a
una única computadora
a través de terminales.
Es una técnica que permite
que dos o más procesos
ocupen la misma unidad de
memoria principal. Dentro de
la multiprogramación se
encuentra el concepto de

P á g i n a 7 | 17
tiempo compartido, en donde
cada usuario tiene acceso a
una única computadora
a través de terminales.
Empezamos con la multiprogramación que es una técnica que permite que dos o más procesos
ocupen la misma unidad de memoria principal. Dentro de la multiprogramación se encuentra el
concepto de tiempo compartido, en donde cada usuario tiene acceso a una única computadora a
través de terminales.
En la actualidad el CPU siempre está ocupado ejecutando procesos consecutivamente esto se
debe gracias al abaratamiento de la RAM se dice esto ya que con el tiempo la RAM se hace mucho
más barata y así se puede conseguir más sin tanta dificultad. El grado de multiprogramación es el
tiempo promedio que el CPU está ocupado.

4. MEMORIA VIRTUAL

Es una técnica de manejo de memoria del computador, la cual usamos


para usar la mayor capacidad posible de una memoria física.

(EDUCATICA!, 2020)
La memoria virtual es una técnica de asginación de memoria que
consiste en tomar una porción de memoria secundaria para almacenar páginas
de memoria que no estén en uso. De esta forma, se amplía la capacidad de
almacenamiento de páginas de memoria en el sistema.
La idea está en mantener en los márcos de página de memoria principal
tan solo las páginas de los procesos en ejecución que estén en uso. Cuando
sea necesario utilizar una página de un proceso que no esté en memoria
principal, el sistema operativo se encarga de cargarlo a memoria principal.
Si no hay marcos de página libres, el sistema operativo se tiene que
encargar de seleccionar una página de memoria para guardarla en esa zona
reservada de memoria secundaria para hacer un hueco en el que se cargará la
nueva página solicitada. Este proceso se denomina intercambio de memoria o
swapping.

P á g i n a 8 | 17
Tanto los sistemas operativos Windows como GNU/Linux utilizan
técnicas de memoria virtual para poder mantener en ejecución un número de
procesos mayor que el que podrían ejectuar si no utilizaran esta técnica.
En Windows la memoria virtual se implementa utilizando un fichero
llamado pagefile.sys que está en el raíz de la undiad C:, por defecto, y es oculto
y de sistema.
En GNU/Linux se utiliza, generalmente, una partición especial llamada
partición de swap. También se podría utilizar un fichero de swap.

3.1. MULTIPROGRAMACION EN MEMORIAVIRTUAL


(blogspot, 2011)
Ya que los programas van siendo más grandes y Robustos se creó la
memoria virtual.
La memoria virtual es una técnica de administración de la memoria
real que permite al sistema operativo brindarle al software de usuario y a sí
mismo un espacio de direcciones mayor que la memoria real o física. Se
usa el swap para ejecutar fragmentos del programa y su espacio debe ser
mayor al programa que se desea ejecutar.
Memoria Virtual = RAM + SWAP

5. MEMORIA REAL
(blogpot, 2013)
La memoria real o principal es en donde son ejecutados los programas y
procesos de una computadora y es el espacio real que existe en memoria para
que se ejecuten los procesos.
Por lo general esta memoria es de mayor costo que la memoria
secundaria, pero el acceso a la información contenida en ella es de mas rápido
acceso.
(angelfire, 2010)
La memoria real o principal es en donde son ejecutados los programas y
procesos de una computadora y es el espacio real que existe en memoria para
que se ejecuten los procesos. Por lo general esta memoria es de mayor costo
que la memoria secundaria, pero el acceso a la información contenida en ella es
de más rápido acceso. Solo la memoria cache es más rápida que la principal,
pero su costo es a su vez mayor.

4.1. MULTIPROGRAMACION EN MEMORIA REAL


(1LIBRARY.CO, s.f.)

P á g i n a 9 | 17
En los 60's, las empresas e instituciones que habían invertido grandes
sumas en la compra de equipo de cómputo se dieron cuenta rápidamente que
los sistemas en lote invertían una gran cantidad de tiempo en operaciones de
entrada y salida, donde la intervención de la unidad central de procesamiento
era prácticamente nula, y se comenzaron a preguntar cómo hacer que se
mantuviera más tiempo ocupada. Fue así como nació el concepto de
multiprogramación, el cual consiste en la idea de poner en la memoria física
más de un proceso al mismo tiempo, de manera que si el que se está
ejecutando en este momento entraba en un periodo de entrada/salida, se podía
tomar otro proceso para que usara la unidad central de procesamiento. De esta
forma, la memoria física se dividía en secciones de tamaño suficiente para
contener a varios programas.

De esta manera, si un sistema gastaba en promedio 60% de su tiempo


en entrada/salida por proceso, se podía aprovechar más el CPU. Anterior a
esto, el

CPU mantenía ese mismo porcentaje ocioso; con la nueva técnica, el


tiempo promedio ocioso disminuye de la siguiente forma:

Llámese al tiempo promedio que el CPU está ocupado “grado de


multiprogramación”. Si el sistema tuviese un sólo proceso siempre, y éste
gastara 60% en entrada/salida, el grado de multiprogramación sería 1 - 60% =
40% = 0.4. Con dos procesos, para que el CPU esté ocioso se necesita que
ambos procesos necesiten estar haciendo entrada/salida, es decir, suponiendo
que son independientes, la probabilidad de que ambos estén en entrada/salida
es el producto de sus probabilidades, es decir, 0.6x0.6 = 0.36. Ahora, el grado
de multiprogramación es 1 - (probabilidad de que ambos procesos estén
haciendo entrada/salida) = 1 - 0.36 = 0.64.

Como se ve, el sistema mejora su uso de CPU en un 24% al aumentar


de uno a dos procesos. Para tres procesos el grado de multiprogramación es 1 -
(0.6) 3 = 0.784, es decir, el sistema está ocupado el 78.4% del tiempo. La
fórmula del grado de multiprogramación, aunque es muy idealista, pudo servir
de guía para planear un posible crecimiento con la compra de memoria real, es
decir, para obtener el punto en que la adición de procesos a RAM ya no
incrementa el uso de CPU. Dentro del esquema de multiprogramación en
memoria real surgieron dos problemas interesantes: la protección y la
relocalización.
P á g i n a 10 | 17
6. GESTION DE MEMORIA CONTIGUA
(techinfo.wiki, 2021)
La asignación de memoria contigua es uno de los métodos de asignación
de memoria más antiguos. Así es como funciona: cuando un proceso necesita
ejecutarse, el proceso solicita memoria. El tamaño del proceso se compara con
la cantidad de memoria principal contigua disponible para ejecutar el proceso.

Si se encuentra suficiente memoria contigua, la memoria se asigna y el


proceso comienza su ejecución. De lo contrario, el proceso se agrega a una
cola de procesos en espera hasta que haya suficiente memoria contigua libre
disponible.

7. PROTECCION
(eduhesc.wordpress.com, 2013)
Cada proceso debe protegerse contra interferencias no deseadas de
otros procesos, tanto accidentales como intencionadas. Así pues, el código de
un proceso no puede hacer referencia a posiciones de memoria de otros
procesos, con fines de lectura o escritura, sin permiso. Hasta cierto punto,
satisfacer las exigencias de reubicación aumenta la dificultad de satisfacción de
las exigencias de protección. Puesto que se desconoce la ubicación de un
programa en memoria principal, es imposible comprobar las direcciones
absolutas durante la compilación para asegurar la protección. Es más, la
mayoría de los lenguajes de programación permiten el cálculo dinámico de
direcciones durante la ejecución, generando, por ejemplo, un índice de un
vector o un puntero a una estructura de datos. Por tanto, todas las referencias a
memoria generadas por un proceso deben comprobarse durante la ejecución
para asegurar que sólo hacen referencia al espacio de memoria destinado a
dicho proceso. Afortunadamente, como se verá, los mecanismos que respaldan
la reubicación también forman parte básica del cumplimiento de las
necesidades de protección.

La imagen del proceso de la figura 6.1 ilustra las necesidades de


protección. Normalmente, un proceso de usuario no puede acceder a ninguna
parte del sistema operativo, tanto programa como datos. De nuevo, el programa
de un proceso no puede en general bifurcar hacia una instrucción de otro
proceso. Además, sin un acuerdo especial, el programa de un proceso no
puede acceder al área de datos de otro proceso. El procesador debe ser capaz
de abandonar tales instrucciones en el momento de la ejecución.

P á g i n a 11 | 17
Nótese que, en los términos del ejemplo, las exigencias de protección de
memoria pueden ser satisfechas por el procesador (hardware) en vez de por el
sistema operativo (software). Esto es debido a que el sistema operativo no
puede anticiparse a todas las referencias a memoria que hará un programa.
Incluso si tal anticipación fuera posible, sería prohibitivo en términos de tiempo
consumido el proteger cada programa por adelantado de posibles violaciones
de referencias a memoria. Así pues, sólo es posible evaluar la tolerancia de una
referencia a memoria (acceso a datos o bifurcación) durante la ejecución de la
instrucción que realiza la referencia. Para llevar esto a cabo, el hardware del
procesador debe poseer dicha capacidad.

8. COMPARTICIÓN
(eduhesc.wordpress.com, 2013)
Cualquier mecanismo de protección que se implemente debe tener la
flexibilidad de permitir el acceso de varios procesos a la misma zona de
memoria principal. Por ejemplo, si una serie de procesos están ejecutando el
mismo programa, resultaría beneficioso permitir a cada proceso que acceda a la
misma copia del programa, en lugar de tener cada uno su propía copia aparte.
Los procesos que cooperan en una tarea pueden necesitar acceso compartido
a la misma estructura de datos. El sistema de gestión de memoria debe, por
tanto, permitir accesos controlados a las áreas compartidas de la memoria, sin
comprometer la protección básica. De nuevo, se verá que los mecanismos
empleados para respaldar la reubicación forman parte básica de las
capacidades de compartición.

9. Organización Lógica
(eduhesc.wordpress.com, 2013)
De forma casi invariable, la memoria principal de un sistema
informático se organiza como un espacio de direcciones lineal o
unidimensional que consta de una secuencia de bytes o palabras. La
memoria secundaria, a nivel físico, se organiza de forma similar. Si bien
esta organización refleja fielmente el hardware de la máquina, no se
corresponde con la forma en la que los programas están construidos
habitualmente. La mayoría de los programas se organizan en módulos,
algunos de los cuales no son modificables (sólo lectura, sólo ejecución) y
otros contienen datos que se pueden modificar. Si el sistema operativo y el
hardware del computador pueden tratar de forma efectiva los programas de
usuario y los datos en forma de módulos de algún tipo, se conseguirá una
serie de ventajas, tales como:

P á g i n a 12 | 17
1. Los módulos pueden escribirse y compilarse independientemente,
mientras que el sistema resuelve durante la ejecución todas las referencias
de un módulo a otro.

2. Con un escaso coste adicional, pueden otorgarse varios grados de


protección (sólo lectura, sólo ejecución) a los distintos módulos.

3. Es posible introducir mecanismos por medio de los cuales los


procesos puedan compartir módulos. La ventaja de ofrecer compartición a
nivel de módulo es que esto se corresponde con la visión del problema que
tiene el usuario y, por tanto, es fácil para el usuario especificar la
compartición que desea.

La herramienta que más fácilmente satisface estas necesidades es la


segmentación, que es una de las técnicas de gestión de memoria
estudiadas en este informe.
una de las técnicas de gestión de memoria estudiadas en este
capítulo.

10. Organización Física


(eduhesc.wordpress.com, 2013)
La memoria del computador se organiza en, al menos, dos niveles:
memoria principal y memoria secundaria. La memoria principal ofrece un
acceso rápido con un coste relativamente alto. Además, la memoria
principal es volátil; esto es, no proporciona almacenamiento permanente. La
memoria secundaria es más lenta y barata que la memoria principal y,
normalmente, no es volátil. De este modo, una memoria secundaria de gran
capacidad puede permitir un almacenamiento a largo plazo de programas y
datos, al tiempo que una memoria principal pequeña mantiene los
programas y datos de uso actual.
En este esquema a dos niveles, la organización del flujo de
información entre la memoria principal y la secundaria tiene un gran interés
en el sistema. La responsabilidad de este flujo podría asignarse al
programador, pero esto es impracticable e indeseable, debido a dos
razones:
1. La memoria principal disponible para un programa y sus datos
puede ser insuficiente. En este caso, el programador debe emplear una
P á g i n a 13 | 17
práctica que se conoce como superposición (overlaying), en la cual el
programa y los datos se organizan de tal forma que puede haber varios
módulos asignados a la misma región de memoria, con un programa
principal responsable del intercambio de los módulos según se necesite.
Incluso con la ayuda de herramientas de compilación, la programación
superpuesta malgasta el tiempo del programador.

2. En un entorno multiprogramado, el programador no conoce


durante la codificación cuánto espacio habrá disponible o dónde estará este
espacio.
Resulta claro entonces que la tarea de mover información entre los
dos niveles de memoria debe ser responsabilidad del sistema. Esta tarea es
la esencia de la gestión de memoria.

11. CARGA DE PROGRAMAS EN MEMORIA PRINCIPAL


(eduhesc.wordpress.com, 2013)
La tarea central de cualquier sistema de gestión de memoria es traer los
programas a memoria principal para su ejecución en el procesador. En casi
todos los sistemas multiprogramados modernos, esta tarea supone un esquema
sofisticado conocido como memoria virtual. La memoria virtual está, a su vez,
basada en el uso de una de dos técnicas básicas; segmentación y/o paginación.
Antes de ver estás técnicas de memoria virtual, se debe preparar el terreno
considerando técnicas más simples que no requieren el uso de memoria virtual.
Una de estas técnicas, la partición, se ha venido usando con distintas variantes
en algunos sistemas operativos ahora obsoletos. Las otras dos técnicas, la
paginación simple y la segmentación simple, no se usan en solitario. No
obstante, el estudio de la memoria virtual resultará más sencillo si se
consideran en primer lugar estas dos técnicas, sin tener en cuenta la memoria
virtual.

12. Algoritmos de Reemplazo


(eduhesc.wordpress.com, 2013)
En un sistema multiprogramado con particiones dinámicas, habrá algún
momento en el que todos los procesos de memoria principal estén en estado
bloqueado y la memoria sea insuficiente, incluso tras la compactación, para un
proceso adicional. Para evitar desperdiciar el tiempo del procesador esperando
a que un proceso activo se desbloquee, el sistema operativo expulsará uno de
los procesos de memoria principal para hacer sitio a un proceso nuevo o un
proceso Listo, pero suspendido. Por lo tanto, el sistema operativo debe elegir
qué proceso reemplazar. Puesto que el tema de los algoritmos de reemplazo se
P á g i n a 14 | 17
cubre con mayor detalle en varios esquemas de memoria virtual, se aplazará la
discusión de estos algoritmos hasta entonces.

13. Reubicación
(eduhesc.wordpress.com, 2013)
Antes de considerar las formas de solucionar los defectos de las técnicas
de partición, se debe aclarar un punto oscuro, que tiene relación con la
ubicación de los procesos en memoria. Cuando se emplea el esquema de
particiones fijas de la figura 6.3a, se puede esperar que un proceso sea
asignado siempre a la misma partición. Es decir, la partición que se selecciona
cuando se carga un nuevo proceso será la misma que se emplee siempre para
devolver ese proceso a memoria, tras haber sido sacado. En este caso, se
puede emplear un cargador sencillo, tal como se describe en el Apéndice 6A:
Cuando el proceso se carga por primera vez, todas las referencias relativas a
memoria en el código se reemplazan por direcciones absolutas de memoria
principal, determinadas por la dirección base del proceso cargado.

En el caso de particiones de igual tamaño y en el caso de una cola única


de procesos para particiones de distinto tamaño, un proceso puede ocupar
diferentes particiones a lo largo de su vida. Cuando al principio se crea la
imagen de un proceso, se cargará en alguna partición de memoria principal.
Posteriormente, el proceso puede ser descargado; cuando, más tarde, vuelva a
ser cargado, podrá asignársele una partición distinta de la anterior. Esto mismo
se cumple con particiones dinámicas. Obsérvese en las figuras 6.4c y 6.4h que
el proceso 2 ocupa dos regiones de memoria distintas en las dos ocasiones en
las que se le trae a memoria. Es más, cuando se usa compactación, los
procesos son desplazados durante su estancia en memoria principal.

P á g i n a 15 | 17
P á g i n a 16 | 17
Bibliografía
1LIBRARY.CO. (s.f.). Obtenido de https://1library.co/article/multiprogramaci
%C3%B3n-en-memoria-real-organizaci%C3%B3n-simple-de-
memoria.ynpv3w1z
angelfire. (26 de 9 de 2010). angelfire. Obtenido de
https://sistemasoperativos.angelfire.com/html/3.2.html
ANGLEFYRE. (5 de 12 de 2017). Obtenido de ANGLEFYRE:
https://www.angelfire.com/my/jimena/so1/guia5.html#:~:text=La
%20monoprogramaci%C3%B3n%20es%20el%20modo,en%20memoria
%2C%20sustituyendo%20al%20anterior.
blogpot. (1 de 7 de 2013). blogspot. Obtenido de
http://sitemasoperativosicurosemestre6.blogspot.com/2013/07/32-memoria-
real.html
blogspot. (8 de 12 de 2011). blogspot. Obtenido de
http://sistemasoperativosfer.blogspot.com/2011/12/capitulo-4.html
ClubEnsayos. (7 de 2 de 2015). ClubEnsayos. Obtenido de
https://www.clubensayos.com/Espa%C3%B1ol/SISTEMAS-OPERATIVOS/2
312018.html
EDUCATICA! (25 de 11 de 2020). EDUCATICA! Obtenido de
https://www.educatica.es/sistemas-operativos/principios-basicos/gestion-de-
memoria/

P á g i n a 17 | 17

También podría gustarte