Вы находитесь на странице: 1из 13

UNIVERSIDAD SAN PEDRO

INGENIERA INFORMTICA Y DE SISTEMAS

PAPER SOBRE GESTION DE MEMORIA

Asignatura:
SISTEMAS OPERATIVOS

Alumnos:
SAAVEDRA BAZN MIGUEL ANGEL

Docente:
DR. ING. JORGE GUTIRREZ GUTIRREZ

Resumen o Abstract
Se considera que conocer y manejar los procesos y lo que es en esencial
la administracin de Datos, es sumamente importante, como Informticos
debemos manejar totalmente esta informacin.
De esta forma se resalta que la operacin principal en la gestin de la
memoria es traer los procesos a la memoria principal para que el
procesador las pueda ejecutar.
Para esto, la gestin de memoria debe satisfacer los requisitos de
reubicacin; como el sistema operativo se encarga de gestionar la
memoria y traer el proceso a la memoria principal a travs de direcciones,
al ser cargado o ejecutado el proceso no adquiere la misma direccin,
por lo tanto es necesario reubicar las direcciones.
Con la ayuda del sistema operativo es fcil adquirirlas para localizar los
procesos presentes en memoria y proteccin; que es un requisito que se
encarga de regular que los procesos presentes en memoria no invadan o
violen el espacio en memoria de otros procesos ya sea de forma
accidental o por error.
La reubicacin dificulta un poco la proteccin, por esto las referencias de
memoria se deben confirmar o comprobar en tiempo de ejecucin para
asegurar que se refiere al espacio de memoria asignado a dicho proceso.

Introduccin
En la memoria fsica de un computador se encuentran el sistema operativo,
las rutinas de enlace dinmico y los programas de usuario. En los sistemas
operativos modernos la gestin de memoria resuelve aspectos como la carga
de programas y su ubicacin. Hay que definir la correspondencia entre las
direcciones lgicas del programa y su ubicacin fsica en memoria.
Adems La presencia simultnea de ms de un programa en memoria, y
tambin la posibilidad de cargar rutinas en tiempo de ejecucin, la comparticin
de espacios de memoria por varios programas, la ejecucin de programas que
no caben completos en memoria, la gestin eficiente del espacio de memoria
libre.
La memoria es uno de los recursos vitales del sistema que debemos
gestionar con precaucin. El modulo del sistema operativo que se encarga de la
gestin de la memoria es el administrador de la memoria. El gestor de memoria
asigna est a un proceso que la solicita y se la retira cuando acaba o cuando el
proceso esta temporalmente inactivo para dejar espacio a otros procesos.
En nuestro modelo de estudio, el mdulo de gestin de memoria es la capa
siguiente a la del procesador. Se ha podido notar que sin memoria los procesos
no pueden existir.
Por otra parte, la unidad de manejo de memoria, se dice que es un dispositivo
de Hardware el cual est formado por un grupo de circuitos integrados,
responsable del manejo de los accesos a la memoria por parte de la Unidad de
Procesamiento Central (CPU).

UNIVERSIDAD SAN PEDRO

1. PARTICIONES
El sistema operativo es capaz de gestionar la coexistencia de varios programas en memoria asignando a
cada uno un espacio contiguo (particin). El particionado puede ser fijo o variable.
Como soporte hardware para proteccin requiere dos registros:

registro lmite inferior (base).


registro lmite superior o registro longitud

Se requiere reubicacin en tiempo de carga. El cargador puede establecer direcciones absolutas


(reubicacin esttica), o establecer direcciones relativas a un registro base (reubicacin dinmica). En
particionado variable se requiere obligatoriamente reubicacin dinmica, como veremos.
1.1. Particionado fijo
La memoria se divide en un conjunto de particiones de tamaos preestablecidos
(Figura 4.2). Este mecanismo se denomina histricamente MFT (multiprogramacin
con un nmero fijo de tareas2).

Memoria con particiones de tamao fijo


En cada particin se ubica un nico programa. Las particiones pueden ser iguales o de diferentes tamaos.
En este ltimo caso se aprovecha mejor la memoria, al poder almacenar un programa en la particin que
mejor se ajuste a su tamao. Dos consecuencias de este mecanismo son las siguientes:
El nmero de programas est limitado (grado fijo de multiprogramacin).
Produce fragmentacin interna en cada particin (trozo de la particin desocupada).
Los programas se encolan para poder ser cargados en memoria. Existen dos alternativas:
(a) Una cola por cada particin. Un programa se encola en la cola que le corresponde por su tamao. Tiene
el inconveniente de que puede dejar fuera a un programa habiendo memoria libre para cargarlo.
(b) Cola nica. Cuando un programa encuentra ocupada la particin que corresponde a su tamao cabe la
posibilidad de asignarle una particin libre de tamao mayor, permitiendo incrementar el grado de
multiprogramacin a costa de introducir fragmentacin interna. El sistema puede utilizar heursticos que
maximicen el grado de multiprogramacin minimizando la fragmentacin, consistentes en alterar la
disciplina de la cola buscando en ella los programas que se adapten mejor a los huecos disponibles, para
minimizar
la fragmentacin interna.
SISTEMAS OPERATIVOS

UNIVERSIDAD SAN PEDRO

Para la gestin del espacio libre es adecuado el mapa de bits.


1.2. Particionado variable
Como ya sabemos, MFT presenta problemas de fragmentacin interna. La alternativa es el particionado
variable de la memoria, que se denomina MVT (multiprogramacin con un nmero variable de tareas).
Ya es conocido que el particionado variable introduce fragmentacin externa al ir quedando huecos entre
particiones a medida que finalizan programas. En estos huecos slo se pueden ubicar programas de menor
tamao que el hueco, que cuando acaben dejarn un hueco an menor, y as sucesivamente (degradacin
de la memoria). La necesidad de compactar implica reubicar dinmicamente el programa, requiriendo el
soporte adecuado para ello.
La carga de programas se gestiona mediante una nica cola. La memoria libre se representa bien con una
lista de huecos, bien mediante un mapa de bits, aunque en este caso es conveniente definir una unidad de
asignacin de memoria mayor que el byte para mantener el tamao del mapa en unas dimensiones
razonables.
La eleccin del hueco donde ubicar el programa puede hacerse siguiendo las diferentes polticas de
asignacin introducidas en el Captulo 1. Como se vio, first-fit y next-fit son las ms adecuadas.
2. PAGINACIN

Es una tcnica de manejo de memoria, en la cual el espacio de memoria se divide en secciones fsicas de
igual tamao, denominadas marcos de pgina. Los programas se dividen en unidades lgicas,
denominadas pginas, que tienen el mismo tamao que los marcos de pginas. De esta forma, se puede
cargar una pgina de informacin en cualquier marco de pgina.

Las pginas sirven como unidad de almacenamiento de informacin y de transferencia entre memoria

SISTEMAS OPERATIVOS

UNIVERSIDAD SAN PEDRO

principal y memoria auxiliar o secundaria. Cada marco se identifica por la direccin de marco, que est en la
posicin fsica de la primera palabra en el marco de pgina.

Las pginas de un programa necesitan estar contiguamente en memoria, aunque el programador lo observe
de esta forma. Los mecanismos de paginacin permiten la correspondencia correcta entre las direcciones
virtuales (dadas por los programas) y las direcciones reales de la memoria que se reverencien.

Cada pgina consiste en z palabras contiguas; un espacio de direcciones N de un programa: consiste de n


paginas (0,1,2,3n-1) (n*z direcciones virtuales) y el espacio de memoria consiste de m marcos de pginas
(0,z,2z,,(m-1)z)(m*z posiciones).

Una direccin virtual a es equivalente a una direccin dada como una dupla (p, d), en la cual p es el nmero
de la pgina y d el nmero de la palabra dentro de la pgina, de acuerdo con la relacin:

a=p*z+d
p=(a/z)

(0<=d<z)
(parte entera de la division)

d=a mod z

(resto de divisor a/z)

En las maquinas que usan aritmtica binaria, el clculo de (p, d) es trivial, si z es potencia de 2. Por
ejemplo, si el campo de direcciones de la instruccin es de m bits (m>6), los cuatro bits ms significativos
indican el nmero de la pgina y los m-4 bits restantes, el desplazamiento.

Para tener el control de las pginas, debe mantenerse una tabla en memoria que se denomina tabla
de Mapas de Pagina (PMT) para cada uno de los procesos.

Hasta ahora, los mtodos que hemos visto de la administracin de la memoria principal, nos han dejado con
un problema: fragmentacin, (huecos en la memoria que no pueden usarse debido a lo pequeo de su
espacio) lo que nos provoca un desperdicio de memoria principal.

Una posible solucin para la fragmentacin externa es permitir que espacio de direcciones lgicas lleve a
cabo un proceso en direcciones no contiguas, as permitiendo al proceso ubicarse en cualquier espacio de
memoria fsica que est disponible, aunque est dividida.

SISTEMAS OPERATIVOS

UNIVERSIDAD SAN PEDRO

Una forma de implementar esta solucin es a travs del uso de un esquema de paginacin. La paginacin
evita el considerable problema de ajustar los pedazos de memoria de tamaos variables que han sufrido los
esquemas de manejo de memoria anteriores. Dado a sus ventajas sobre los mtodos previos, la paginacin,
en sus diversas formas, es usada en muchos sistemas operativos.

Al utilizar la memoria virtual, las direcciones no pasan en forma directa al bus de memoria, sino que van a
una unidad administradora de la memoria (MMU Memory Management Unit). Estas direcciones generadas
por los programas se llaman direcciones virtuales y conforman el hueco de direcciones virtuales. Este hueco
se divide en unidades llamadas pginas. Las unidades correspondientes en la memoria fsica se llaman
marcos para pgina o frames. Las pginas y los frames tienen siempre el mismo tamao.

2.1. Tablas de pginas:

Cada pgina tiene un nmero que se utiliza como ndice en la tabla de pginas, lo que da por resultado el
nmero del marco correspondiente a esa pgina virtual. Si el bit presente / ausente es 0, se provoca un
sealamiento (trap) hacia el sistema operativo.

Si el bit es 1, el nmero de marco que aparece en la tabla de pginas se copia en los bits de mayor orden
del registro de salida, junto con el ajuste (offset) de 12 bits, el cual se copia sin modificaciones de la
direccin virtual de entrada. Juntos forman una direccin fsica de 15 bits.

El registro de salida se coloca entonces en el bus de la memoria como la direccin en la memoria fsica.
En teora, la asociacin de las direcciones virtuales con las fsicas se efecta segn lo descrito. El nmero
de pgina virtual se divide en un nmero de pgina virtual (los bits superiores)y un ajuste (los bits
inferiores). El nmero de pgina virtual se utiliza como un ndice en la tabla de pginas para encontrar la
entrada de esa pgina virtual.

El nmero de marco (si existe) se determina a partir de la tabla de pginas. El nmero de marco se asocia
al extremo superior del ajuste y reemplaza al nmero de pgina virtual para formar una direccin fsica que
se puede enviar a la memoria.

La finalidad de la tabla de pginas es asociar las pginas virtuales con los marcos. En
trminos matemticos, la tabla de pginas es una funcin, cuyo argumento es el nmero de pgina virtual y
como resultado el nmero del marco fsico. Mediante el resultado de esta funcin, se puede reemplazar el
campo de la pgina virtual de una direccin virtual por un campo de marco, lo que produce una direccin en
la memoria fsica. Sin embargo hay que enfrentar dos aspectos fundamentales:

SISTEMAS OPERATIVOS

UNIVERSIDAD SAN PEDRO

a) La tabla de pginas puede ser demasiado grande.


b) La asociacin debe ser rpida.

El primer punto proviene del hecho de que las computadoras modernas utilizan direcciones virtuales de al
menos 32 bits. Por ejemplo, si el tamao de pgina es de 4K, un hueco de direcciones de 32 bits tiene un
milln de pginas; en el caso de un hueco de direcciones de 64 bits, se tendra ms informacin de la que
uno quisiera contemplar.

El segundo punto es consecuencia del hecho de que la asociacin virtual fsica debe hacerse en cada
referencia a la memoria. Una instruccin comn tiene una palabra de instruccin y tambin un operando de
memoria. Entonces es necesario hacer una, dos o ms referencias a la tabla de pginas por cada
instruccin.

2.2. Caractersticas de la paginacin:

El espacio de direcciones lgico de un proceso puede ser no contiguo.

Se divide la memoria fsica en bloques de tamao fijo llamados marcos (frames).

Se divide la memoria en bloques de tamao llamados pginas.

Se mantiene informacin en los marcos libres.

Para correr un programa de n pginas de tamao, se necesitan encontrara n marcos y cargar el


programa.

Se establece una tabla de pginas para trasladar las direcciones lgicas a fsicas.

Se produce fragmentacin interna.

2.3. Ventajas de la paginacin:

Es posible comenzar a ejecutar un programa, cargando solo una parte del mismo en memoria, y el
resto se cargara bajo la solicitud.

SISTEMAS OPERATIVOS

UNIVERSIDAD SAN PEDRO

No es necesario que las paginas estn contiguas en memoria, por lo que no se necesitan procesos
de compactacin cuando existen marcos de pginas libres dispersos en la memoria.

Es fcil controlar todas las pginas, ya que tienen el mismo tamao.

El mecanismo de traduccin de direcciones (DAT) permite separar los conceptos de espacio de


direcciones y espacios de memoria. Todo el mecanismo es transparente al usuario.

Se libera al programador de la restriccin de programar para un tamao fsico de memoria, con lo


que s e aumenta su productividad. Se puede programar en funcin de una memoria mucho ms
grande a la existente.

Al no necesitarse cargar un programa completo en memoria para su ejecucin, se puede aumentar


el nmero de programas multiprogramndose.

Se elimina el problema de fragmentacin externa.

2.4 Desventajas de la paginacin:

El costo de hardware y software se incrementa, por la nueva informacin que debe manejarse y el
mecanismo de traduccin de direcciones necesario. Se consume mucho ms recursos de memoria,
tiempo en el CPU para su implantacin.

Se deben reservar reas de memoria para las PMT de los procesos. Al no ser fija el tamao de
estas, se crea un problema semejante al de los programas (como asignar un tamao ptimo sin
desperdicio de memoria, u "ovearhead" del procesador).

Aparece el problema de fragmentacin interna. As, si se requieren 5K para un programa, pero las
paginas son de 4K, debern asignrseles 2 paginas (8k), con lo que quedan 3K sin utilizar. La suma
de los espacios libres dejados de esta forma puede ser mayor que el de varias pginas, pero no
podr ser utilizados. Debe asignarse un tamao promedio a las pginas, evitando que si son muy
pequeas, se necesiten TABLAS BMT y PMT muy grandes, y si son muy grandes, se incremente el
grado de fragmentacin interna.

SISTEMAS OPERATIVOS

UNIVERSIDAD SAN PEDRO

2.5. Traduccin de Direcciones:

La direccin generada por la CPU se divide en:

Nmero de pgina (p): utilizado como ndice en la tabla de pginas que contiene la direccin base
de cada pgina en la memoria fsica.

Offset de la pgina (d): combinado con la direccin base define la direccin fsica que ser enviada
a la unidad de memoria.

3. SEGMENTACIN

Es un esquema de manejo de memoria mediante el cual la estructura del programa refleja su divisin lgica;
llevndose a cabo una agrupacin lgica de la informacin en bloques de tamao variable denominados
segmentos. Cada uno de ellos tienen informacin lgica del programa: subrutina, arreglo, etc. Luego, cada
espacio de direcciones de programa consiste de una coleccin de segmentos, que generalmente reflejan la
divisin lgica del programa.
3.1. Resultados de la Segmentacin:

SISTEMAS OPERATIVOS

UNIVERSIDAD SAN PEDRO

Modularidad de programas: cada rutina del programa puede ser un bloque sujeto a cambios y
recopilaciones, sin afectar por ello al resto del programa.

Estructuras de datos de largo variable

Proteccin: se puede proteger los mdulos del segmento contra accesos no autorizados.

Comparticin: dos o ms procesos pueden ser un mismo segmento, bajo reglas de proteccin;
aunque no sean propietarios de los mismos.

Enlace dinmico entre segmentos: puede evitarse realizar todo el proceso de enlace antes de
comenzar a ejecutar un programa. Los enlaces se establecern solo cuando sea necesario.

3.2. Ventajas de la segmentacin:

El esquema de segmentacin ofrece las siguientes ventajas:

El programador puede conocer las unidades lgicas de su programa, dndoles un tratamiento


particular.

Es posible compilar mdulos separados como segmentos el enlace entre los segmentos puede
suponer hasta tanto se haga una referencia entre segmentos.

Debido a que es posible separar los mdulos se hace ms fcil la modificacin de los mismos.
Cambios dentro de un mdulo no afecta al resto de los mdulos.

Es fcil el compartir segmentos.

Es posible que los segmentos crezcan dinmicamente segn las necesidades del programa en
ejecucin.

Existe la posibilidad de definir segmentos que an no existan. As, no se asignara memoria, sino a
partir del momento que sea necesario hacer usos del segmento. Un ejemplo de esto, seran los
arreglos cuya dimensin no se conoce hasta tanto no se comienza a ejecutar el programa. En
algunos casos, incluso podra retardar la asignacin de memoria hasta el momento en el cual se
referencia el arreglo u otra estructura de dato por primera vez.

3.3. Desventajas de la segmentacin:

SISTEMAS OPERATIVOS

UNIVERSIDAD SAN PEDRO

Hay un incremento en los costos de hardware y de software para llevar a cabo la implantacin, as
como un mayor consumo de recursos: memoria, tiempo de CPU, etc.

Debido a que los segmentos tienen un tamao variable se pueden presentar problemas de
fragmentacin externas, lo que puede ameritar un plan de reubicacin de segmentos en memoria
principal.

Se complica el manejo de memoria virtual, ya que los discos almacenan la informacin en bloques
de tamaos fijos, mientras los segmentos son de tamao variable. Esto hace necesaria la existencia
de mecanismos ms costosos que los existentes para paginacin.

Al permitir que los segmentos varen de tamao, puede ser necesarios planes de reubicacin a nivel
de los discos, si los segmentos son devueltos a dicho dispositivo; lo que conlleva a nuevos costos.

No se puede garantizar, que al salir un segmento de la memoria, este pueda ser trado fcilmente
de nuevo, ya que ser necesario encontrar nuevamente un rea de memoria libre ajustada a su
tamao.

La comparticin de segmentos permite ahorrar memoria, pero requiere de mecanismos adicionales


da hardware y software.

La implantacin de la segmentacin difiere del caso de la paginacin en un sentido esencial: las


pginas tienen un tamao fijo y los segmentos no. La figura 14 muestra un ejemplo de memoria fsica
que contiene al principio 5 segmentos. Consideremos que el segmento 1 se elimina y su lugar se
ocupa por el segmento 7, que es menor. El rea que queda entre el segmento 7 y el 2 es un hueco.
Luego, el segmento 4 se reemplaza por el segmento 5 y el segmento 3 es reemplazado por el
segmento 6. Despus de que el sistema est en ejecucin durante cierto tiempo, la memoria quedar
dividida en varios bloques, algunos con segmentos y otros con huecos.
Considerando

Segmentacin

Necesita saber el programador si est


utilizando esta tcnica?

No

Cuntos
espacios
direcciones existen?

Muchos

Puede el espacio total de direcciones


exceder el tamao de la memoria
fsica?

Pueden
distinguirse
los
procedimientos y los datos, adems de
protegerse en forma independiente?

No

Pueden adecuarse con facilidad las


tablas con tamaos fluctuantes?

No

Se facilita el uso de procedimientos


compartidos entre los usuarios?

No

SISTEMAS OPERATIVOS

Paginacin

lineales

de

UNIVERSIDAD SAN PEDRO

Para qu se invent esta tcnica?

Para obtener un gran espacio


lineal de direcciones sin tener
que adquirir ms memoria fsica

Para permitir que los programas y


datos fueran separados en
espacios
independientes
de
direcciones y poder proporcionar
la proteccin y uso de objetos
compartidos

Comparacin de paginacin y segmentacin.


Este fenmeno de fragmentacin externa o checkboarding, desperdicia la memoria correspondiente a los
huecos, pero es fcilmente corregido mediante el uso de la compactacin. De esta forma los huecos son
unificados, generando as un hueco de tamao suficiente para albergar algn otro segmento ms.
4. CONCLUSIONES
Son ejecutados los programas y procesos de una computadora y lo importante es el espacio real que existe
en memoria para que se ejecuten los procesos. La asignacin consiste en determinar cul espacio vaco en
la memoria principal es el ms indicado para ser asignado a un proceso.
Adems se concluye que:

En la memoria principal son ejecutados los programas y procesos de una computadora y es el


espacio real que existe en memoria para que se ejecuten los procesos.
Las direcciones de memoria son de tres tipos: fsicas, lgicas y lineales.
El objetivo del intercambio es dar cabida a la ejecucin de ms aplicaciones de las que pueden
residir simultneamente en la memoria del sistema.
La asignacin consiste en determinar cul espacio vaco en la memoria principal es el ms indicado
para ser asignado a un proceso.
Las estrategias ms comunes para asignar espacios vacos (huecos) son: primer ajuste, mejor
ajuste, peor ajuste.
La particin es la memoria que queda desperdiciada al usar los mtodos de gestin de memoria
tales como la asignacin.
La particin puede ser interna o externa.
La paginacin es una tcnica de gestin de memoria en la cual el espacio de memoria se divide en
secciones fsicas de igual tamao llamadas marcos de pgina, las cules sirven como unidad de
almacenamiento de informacin.
La segmentacin es un esquema de manejo de memoria mediante el cual la estructura del
programa refleja su divisin lgica, llevndose a cabo una agrupacin lgica de la informacin en
bloques de tamao variable denominados segmentos.

5. REFERENCIAS

Sistemas Operativos Gestin de memoria (1998-2012 Jos Miguel Santos Alexis Quesada
Francisco Santana Beln Esteban) Universidad el las Palmas.
DEITEL Sistemas Operativos
STALLINGS William . Sistemas Operativos .. Editorial Prentice Hall
TANENBAUM Andrew S. Sistemas Operativos Modernos .Prentice Hall

SISTEMAS OPERATIVOS

10

Вам также может понравиться