Indice
1.
Introducción
2. Aspectos Generales
3.
Intercambio
4. Fragmentación
5.
Paginación
6. Segmentación
7.
Segmentación paginada
8. Conclusiones
9. Bibliografía
La memoria es uno de
los principales recursos de
la
computadora, la cual debe de administrarse con mucho cuidado.
Aunque actualmente la mayoría de los sistemas de
cómputo cuentan con una alta capacidad de memoria, de
igual manera las aplicaciones actuales tienen también
altos requerimientos de memoria, lo que sigue generando escasez
de memoria en los sistemas multitarea y/o multiusuario.
La parte del sistema operativo
que administra la memoria se
llama administrador de
memoria y su labor consiste en llevar un registro de las
partes de memoria que se estén utilizando y aquellas que
no, con el fin de asignar espacio en memoria a los procesos
cuando éstos la necesiten y liberándola cuando
terminen, así como administrar el intercambio entre la
memoria principal y el disco en los casos en los que la memoria
principal no le pueda dar capacidad a todos los procesos que
tienen necesidad de ella.
Los sistemas de administración de memoria se pueden
clasificar en dos tipos: los que desplazan los procesos de la
memoria principal al disco y viceversa durante la
ejecución y los que no.
El propósito principal de una computadora es
el de ejecutar programas, estos
programas, junto con la información que accesan deben de estar en
la memoria principal (al menos parcialmente) durante la
ejecución.
Para optimizar el uso del CPU y de la
memoria, el sistema operativo
debe de tener varios procesos a la vez en la memoria principal,
para lo cual dispone de varias opciones de administración
tanto del procesador como
de la memoria. La selección
de uno de ellos depende principalmente del diseño
del hardware para
el sistema. A continuación se observarán los puntos
correspondientes a la
administración de la memoria.
2. Aspectos generales
Memoria real
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.
Memoria virtual
El termino memoria
virtual se asocia a dos conceptos que normalmente a parecen
unidos:
- El uso de almacenamiento secundario para ofrecer al
conjunto de las aplicaciones la ilusión de tener mas
memoria RAM
de la que realmente hay en el sistema. Esta ilusión de
existe tanto a nivel del sistema, es decir, teniendo en
ejecución mas aplicaciones de las que realmente caben en
la memoria principal, sin que por ello cada aplicación
individual pueda usar mas memoria de la que realmente hay o
incluso de forma mas general, ofreciendo a cada
aplicación mas memoria de la que existe
físicamente en la maquina. - Ofrecer a las aplicaciones la ilusión de que
están solas en el sistema, y que por lo tanto, pueden
usar el espacio de direcciones completo. Esta técnica
facilita enormemente la generación de código, puesto que el compilador no tiene
porque preocuparse sobre dónde residirá la
aplicación cuando se ejecute.
Espacio De Direcciones
Los espacios de direcciones involucrados en el manejo de la
memoria son de tres tipos:
- Direcciones físicas: son aquellas que
referencian alguna posicion en la memoria física. - Direcciones lógicas : son las direcciones
utilizadas por los procesos. Sufren una serie de
transformaciones , realizadas por el procesador (la MMU), antes
de convertirse en direcciones físicas. - Direcciones lineales: direcciones lineales se
obtienen a partir de direcciones logicas tras haber aplicado
una transformación dependiente de la arquitectura.
Los programas de usuario siempre tratan con direcciones
virtuales ; nunca ven las direcciones fisicas reales..
Unidad De Manejo De Memoria
La unidad de manejo de memoria (MMU) es parte del procesador. Sus
funciones
son:
- Convertir las direcciones lógicas emitidas por
los procesos en direcciones físicas. - Comprobar que la conversión se puede realizar.
La dirección lógica podría no tener un
dirección física asociada. Por ejemplo, la pagina
correspondiente a una dirección se puede haber
trasladado a una zona de almacenamiento secundario
temporalmente. - Comprobar que el proceso que
intenta acceder a una cierta direccion de memoria tiene
permisos para ello. - La MMU se Inicializa para cada proceso del sistema.
Esto permite que cada procesop pueda usar el rango completo de
direcciones lógicas (memoria virtual), ya que las
conversiones de estas direcciones serán distintas para
cada proceso. - En todos los procesos se configura la MMU para que la
zona del núcleo solo se pueda acceder en modo
privilegiado del procesador. - La configuración correspondiente al espacio de
memoria del núcleo es idéntica en todos los
procesos.
El objetivo del
intercambio es dar cabida a la ejecución de mas
aplicaciones de las que pueden residir simultáneamente en
la memoria del sistema:
Consiste en trasladar el código y los datos de un
proceso completo de memoria al sistema de almacenamiento
secundario , para cargar otro previamente almacenado, no permite
a un proceso utilizar mas memoria RAM de la que
realmente existe en el sistema. Esta técnica puede ser
ineficiente ya que se tiene que hacer el intercambio completo del
proceso, aunque éste solo vaya a ejecutar una
pequeña porción del código.
Durante el intercambio un proceso puede ser sacado temporalmente
de memoria y llevado a un lugar especial del disco y
posteriormente vuelto a memoria y continuada su
ejecución..
El lugar de almacenamiento temporal suele ser un espacio
suficientemente grande como para acomodar copias de las imágenes
de meoria de todos los usuarios.
Asignacion Contigua
La memoria principal normalmente se divide en dos
particiones:
- Sistema operativo residente, normalmente en la parte
baja de memoria con los vectores de
interrupción. - Procesos de usuario en la parte alta.
Asignación de partición simple:
Puede utilizarse un esquema de registro de relocalización
y limite para proteger un proceso de usuario de otro y de cambios
del código y datos del sistema operativo .
El registro de relocalización contiene la dirección
contiene la dirección física mas pequeña; el
registro limite contiene el rango de las direcciones
lógicas cada dirección lógica debe ser menor
al registro limite
Asignación de particiones múltiples:
Bloques de distintos tamaños están distribuidos en
memoria , cuando llega un proceso se le asigna un hueco
suficientemente grande para acomodarle.
El sistema operativo debe tener información
sobre:
- Particiones asignadas
- Particiones libres (huecos)
Asignación de partición
dinámica
El proceso de compactación es una instancia particular del
problema de asignación de memoria dinámica, el cual es el cómo
satisfacer una necesidad de tamaño n con una lista de
huecos libres. Existen muchas soluciones
para el problema. El conjunto de huecos es analizado para
determinar cuál hueco es el más indicado para
asignarse. Las estrategias
más comunes para asignar algún hueco de la tabla
son:
- Primer ajuste: Consiste en asignar el primer hueco
con capacidad suficiente. La búsqueda puede iniciar ya
sea al inicio o al final del conjunto de huecos o en donde
terminó la última búsqueda. La
búsqueda termina al encontrar un hueco lo
suficientemente grande. - Mejor ajuste: Busca asignar el espacio más
pequeño de los espacios con capacidad suficiente. La
búsqueda se debe de realizar en toda la tabla, a menos
que la tabla esté ordenada por tamaño. Esta
estrategia
produce el menor desperdicio de memoria posible. - Peor ajuste: Asigna el hueco más grande. Una
vez más, se debe de buscar en toda la tabla de huecos a
menos que esté organizada por tamaño. Esta
estrategia produce los huecos de sobra más grandes, los
cuales pudieran ser de más uso si llegan procesos de
tamaño mediano que quepan en ellos.
Se ha demostrado mediante simulacros que tanto el primer
y el mejor ajuste son mejores que el peor ajuste en cuanto a
minimizar tanto el tiempo del
almacenamiento. Ni el primer o el mejor ajuste es claramente el
mejor en términos de uso de espacio, pero por lo general
el primer ajuste es más rápido.
Problema: La fragmentación.
La fragmentación es la memoria que queda
desperdiciada al usar los métodos de
gestión
de memoria que se vieron en los métodos anteriores. Tanto
el primer ajuste, como el mejor y el peor producen
fragmentación externa.
La fragmentación es generada cuando durante el reemplazo
de procesos quedan huecos entre dos o más procesos de
manera no contigua y cada hueco no es capaz de soportar
ningún proceso de la lista de espera.
La fragmentación puede ser:
- Fragmentación Externa: existe el espacio total
de memoria para satisfacer un requerimiento, pero no es
contigua. - Fragmentación Interna: la memoria asignada
puede ser ligeramente mayor que la requerida; esta referencia
es interna a la partición, pero no se
utiliza.
La fragmentación externa se puede reducir
mediante la compactación para colocar toda la memoria
libre en un solo gran bloque, pero est a solo es posible si la
relocalización es dinámica y se hace en tiempo de
ejecución.
Es una técnica de manejo de memoria, en la cual
el espacio de memoria se divide en secciones físicas de
igual tamaño, denominadas marcos de página. Los
programas se dividen en unidades lógicas, denominadas
páginas, que tienen el mismo tamaño que los marcos
de páginas. De esta forma, se puede cargar una
página de información en cualquier marco de
página.
Las páginas sirven como unidad de almacenamiento de
información y de transferencia entre memoria principal y
memoria auxiliar o secundaria. Cada marco se identifica por la
dirección de marco, que esta en la posición
física de la primera palabra en el marco de
página.
Las páginas de un programa
necesitan estar contiguamente en memoria, aunque el programador
lo observe de esta forma. Los mecanismos de paginación
permiten la correspondencia correcta entre las direcciones
virtuales (dadas por los programas) y las direcciones reales de
la memoria que se reverencien.
Cada pagina consiste en z palabras contiguas; un espacio de
direcciones N de un programa consiste de n paginas
(0,1,2,3…n-1) (n*z direcciones virtuales) y el espacio de
memoria consiste de m marcos de paginas
(0,z,2z,…,(m-1)z)(m*z posiciones). Una dirección
virtual a es equivalente a una dirección dada como una
dupla (p, d), en la cual p es el número de la
página y d el número de la palabra dentro de la
página, de acuerdo con la relación:
a=p*z+d (0<=d<z)
p=(a/z) (parte entera de la division)
d=a mod z (resto de divisor a/z)
En las maquinas que usan aritmética binaria, el
calculo de (p, d) es trivial, si z es potencia de 2.
Por ejemplo, si el campo de direcciones de la instrucción
es de m bits (m>6), los cuatro bits mas significativos indican
el numero de la pagina y los m-4 bits restantes, el
desplazamiento.
Para tener el control de las
páginas, debe mantenerse una tabla en memoria que se
denomina tabla de Mapas de Pagina
(PMT) para cada uno de los procesos.
Hasta ahora, los métodos que hemos visto de la
administración de la memoria principal, nos han dejado con
un problema: fragmentación, (huecos en la memoria que no
pueden usarse debido a lo pequeño de su espacio) lo que
nos provoca un desperdicio de memoria principal.
Una posible solución para la fragmentación externa
es permitir que espacio de direcciones lógicas lleve a
cabo un proceso en direcciones no contiguas, así
permitiendo al proceso ubicarse en cualquier espacio de memoria
física que esté disponible, aunque esté
dividida. Una forma de implementar esta solución es a
través del uso de un esquema de paginación. La
paginación evita el considerable problema de ajustar los
pedazos de memoria de tamaños variables que
han sufrido los esquemas de manejo de memoria anteriores. Dado a
sus ventajas sobre los métodos previos, la
paginación, 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
páginas. Las unidades correspondientes en la memoria
física se llaman marcos para página o frames. Las
páginas y los frames tienen siempre el mismo
tamaño.
Tablas de páginas
Cada página tiene un número que se utiliza como
índice en la tabla de páginas, lo que da por
resultado el número del marco correspondiente a esa
página virtual. Si el bit presente / ausente es 0, se
provoca un señalamiento (trap) hacia el sistema operativo.
Si el bit es 1, el número de marco que aparece en la tabla
de páginas 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 dirección virtual
de entrada. Juntos forman una dirección física de
15 bits. El registro de salida se coloca entonces en el bus de la
memoria como la dirección en la memoria física.
En teoría,
la asociación de las direcciones virtuales con las
físicas se efectúa según lo descrito. El
número de página virtual se divide en un
número de página virtual (los bits superiores)y un
ajuste (los bits inferiores). El número de página
virtual se utiliza como un índice en la tabla de
páginas para encontrar la entrada de esa página
virtual. El número de marco (si existe) se determina a
partir de la tabla de páginas. El número de marco
se asocia al extremo superior del ajuste y reemplaza al
número de página virtual para formar una
dirección física que se puede enviar a la
memoria.
La finalidad de la tabla de páginas es asociar las
páginas virtuales con los marcos. En términos
matemáticos, la tabla de páginas es una función,
cuyo argumento es el número de página virtual y
como resultado el número del marco físico. Mediante
el resultado de esta función, se puede reemplazar el campo
de la página virtual de una dirección virtual por
un campo de marco, lo que produce una dirección en la
memoria física. Sin embargo hay que enfrentar dos aspectos
fundamentales:
- La tabla de páginas puede ser demasiado
grande. - La asociación debe ser
rápida.
El primer punto proviene del hecho de que las computadoras
modernas utilizan direcciones virtuales de al menos 32 bits. Por
ejemplo, si el tamaño de página es de 4K, un hueco
de direcciones de 32 bits tiene un millón de
páginas; en el caso de un hueco de direcciones de 64 bits,
se tendría más información de la que uno
quisiera contemplar.
El segundo punto es consecuencia del hecho de que la
asociación virtual – física debe hacerse en
cada referencia a la memoria. Una instrucción común
tiene una palabra de instrucción y también un
operando de memoria. Entonces es necesario hacer una, dos o
más referencias a la tabla de páginas por cada
instrucción.
Características de la
paginación:
- El espacio de direcciones lógico de un proceso
puede ser no contiguo. - Se divide la memoria física en bloques de
tamaño fijo llamados marcos (frames). - Se divide la memoria en bloques de tamaño
llamados paginas. - Se mantiene información en los marcos
libres. - Para correr un programa de n paginas de
tamaño, se necesitan encontrara n marcos y cargar el
programa. - Se establece una tabla de paginas para trasladar las
direcciones lógicas a físicas. - Se produce fragmentación interna.
Ventajas de la paginación
- Es posible comenzar a ejecutar un programa, cargando
solo una parte del mismo en memoria, y el resto se cargara bajo
la solicitud. - No es necesario que las paginas estén
contiguas en memoria, por lo que no se necesitan procesos de
compactación cuando existen marcos de paginas libres
dispersos en la memoria. - Es fácil controlar todas las páginas,
ya que tienen el mismo tamaño. - El mecanismo de traducción 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 restricción de
programar para un tamaño físico de memoria, con
lo que s e aumenta su productividad.
Se puede programar en función de una memoria mucho
más grande a la existente. - Al no necesitarse cargar un programa completo en
memoria para su ejecución, se puede aumentar el numero
de programas multiprogramándose. - Se elimina el problema de fragmentación
externa.
Desventajas de la paginación
- El costo de hardware y software se
incrementa, por la nueva información que debe manejarse
y el mecanismo de traducción de direcciones necesario.
Se consume mucho mas recursos de memoria, tiempo en el CPU para
su implantación. - Se deben reservar áreas de memoria para las
PMT de los procesos. Al no ser fija el tamaño de estas,
se crea un problema semejante al de los programas (como asignar
un tamaño óptimo sin desperdicio de memoria, u
"ovearhead" del procesador). - Aparece el problema de fragmentación interna.
Así, si se requieren 5K para un programa, pero las
paginas son de 4K, deberán asignárseles 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 paginas, pero no podrá ser utilizados. Debe
asignarse un tamaño promedio a las páginas,
evitando que si son muy pequeñas, se necesiten TABLAS
BMT y PMT muy grandes, y si son muy grandes, se incremente el
grado de fragmentación interna.
Traducción de Direcciones
La dirección generada por la CPU se divide en:
- Numero de pagina (p): utilizado como indice en la
tabla de pagins que contiene la dirección base de cada
pagina en la memoria fisica. - Offset de la pagina (d): combinado con la
dirección base dfine la direccion fisica que será
enviada a la unidad de memoria.
Ejemplo de paginación:
Es un esquema de manejo de memoria mediante el cual la
estructura del
programa refleja su división lógica;
llevándose a cabo una agrupación lógica de
la información en bloques de tamaño variable
denominados segmentos. Cada uno de ellos tienen
información lógica del programa: subrutina,
arreglo, etc. Luego, cada espacio de direcciones de programa
consiste de una colección de segmentos, que generalmente
reflejan la división lógica del programa.
La segmentación permite alcanzar los
siguientes objetivos:
- 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: ejm. Stack,
donde cada estructura tiene su propio tamaño y este
puede variar. - Protección: se puede proteger los
módulos del segmento contra accesos no
autorizados. - Comparición: dos o más procesos pueden
ser un mismo segmento, bajo reglas de protección; aunque
no sean propietarios de los mismos. - Enlace dinámico entre segmentos: puede
evitarse realizar todo el proceso de enlace antes de comenzar a
ejecutar un programa. Los enlaces se establecerán solo
cuando sea necesario.
Ventajas de la segmentación
El esquema de segmentación ofrece las siguientes
ventajas:
- El programador puede conocer las unidades
lógicas de su programa, dándoles un tratamiento
particular. - Es posible compilar módulos 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 módulos se
hace más fácil la modificación de los
mismos. Cambios dentro de un modulo no afecta al resto de los
módulos. - Es fácil el compartir segmentos.
- Es posible que los segmentos crezcan
dinámicamente según las necesidades del programa
en ejecución. - Existe la posibilidad de definir segmentos que aun no
existan. Así, no se asignara memoria, sino a partir del
momento que sea necesario hacer usos del segmento. Un ejemplo
de esto, serian los arreglos cuya dimensión no se conoce
hasta tanto no se comienza a ejecutar el programa. En algunos
casos, incluso podría retardar la asignación de
memoria hasta el momento en el cual se referencia el arreglo u
otra estructura de dato por primera vez.
Desventajas de la segmentación
- Hay un incremento en los costos de
hardware y de software para llevar a cabo la
implantación, así como un mayor consumo de
recursos: memoria, tiempo de CPU, etc. - Debido a que los segmentos tienen un tamaño
variable se pueden presentar problemas de
fragmentación externas, lo que puede ameritar un
plan de
reubicación de segmentos en memoria
principal. - Se complica el manejo de memoria virtual, ya que los
discos almacenan la información en bloques de
tamaños fijos, mientras los segmentos son de
tamaño variable. Esto hace necesaria la existencia de
mecanismos más costosos que los existentes para
paginación. - Al permitir que los segmentos varíen de
tamaño, puede ser necesarios planes de
reubicación 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 traído fácilmente de
nuevo, ya que será necesario encontrar nuevamente un
área de memoria libre ajustada a su
tamaño. - La comparticion de segmentos permite ahorrar memoria,
pero requiere de mecanismos adicionales da hardware y
software.
Estas desventajas tratan de ser minimizadas, bajo la
técnica conocida como Segmentación
paginada.
Paginación y segmentación son técnicas
diferentes, cada una de las cuales busca brindar las ventajas
enunciadas anteriormente.
Para la segmentación se necesita que estén cargadas
en memoria, áreas de tamaños variables. Si se
requiere cargar un segmento en memoria; que antes estuvo en ella
y fue removido a memoria secundaria; se necesita encontrar una
región de la memoria lo suficientemente grande para
contenerlo, lo cual no es siempre factible; en cambio
"recargar" una pagina implica solo encontrar un merco de pagina
disponible.
A nivel de paginación, si quiere referenciar en forma
cíclicas n paginas, estas deberán ser cargadas una
a una generándose varias interrupciones por fallas de
paginas; bajo segmentación, esta pagina podría
conformar un solo segmento, ocurriendo una sola
interrupción, por falla de segmento. No obstante, si bajo
segmentación, se desea acceder un área muy
pequeña dentro de un segmento muy grande, este
deberá cargarse completamente en memoria,
desperdiciándose memoria; bajo paginación solo se
cargara la página que contiene los ítems
referenciados.
Puede hacerse una combinación de segmentación y
paginación para obtener las ventajas de ambas. En lugar de
tratar un segmento como una unidad contigua, este puede dividirse
en páginas. Cada segmento puede ser descrito por su propia
tabla de páginas.
Los segmentos son usualmente múltiplos de páginas
en tamaño, y no es necesario que todas las páginas
se encuentren en memoria principal a la vez; además las
páginas de un mismo segmento, aunque se encuentren
contiguas en memoria virtual; no necesitan estarlo en memoria
real.
Las direcciones tienen tres componentes: (s, p,d), donde la
primera indica el numero del segmento, la segunda el numero de la
pagina dentro del segmento y la tercera el desplazamiento dentro
de la pagina. Se deberán usar varias tablas:
- SMT (tabla de mapas de segmentos): una para cada
proceso. En cada entrada de la SMT se almacena la
información descrita bajo segmentación pura, pero
en el campo de dirección se indicara la dirección
de la PMT (tabla de mapas de páginas) que describe a las
diferentes páginas de cada segmento. - PMT (tabla de mapas de páginas): una por
segmento; cada entrada de la PMT describe una página de
un segmento; en la forma que se presento la pagina
pura. - TBM (tabla de bloques de memoria): para controlar
asignación de páginas por parte del sistema
operativo. - JT (tabla de Jobs): que contiene las direcciones de
comienzo de cada una de las SMT de los procesos que se ejecutan
en memoria.
En el caso, de que un segmento sea de tamaño
inferior o igual al de una pagina, no se necesita tener la
correspondiente PMT, actuándose en igual forma que bajo
segmentación pura; puede arreglarse un bit adicional (S) a
cada entrada de la SMT, que indicara si el segmento esta paginado
o no.
Ventajas de la segmentación paginada
El esquema de segmentación paginada tiene todas las
ventajas de la segmentación y la
paginación:
- Debido a que los espacios de memorias son
segmentados, se garantiza la facilidad de implantar la
comparticion y enlace. - Como los espacios de memoria son paginados, se
simplifican las estrategias de almacenamiento. - Se elimina el problema de la fragmentación
externa y la necesidad de compactación.
Desventajas de la segmentación
paginada
- Las tres componentes de la dirección y el
proceso de formación de direcciones hace que se
incremente el costo de su implantación. El costo es
mayor que en el caso de de segmentación pura o
paginación pura. - Se hace necesario mantener un número mayor de
tablas en memoria, lo que implica un mayor costo de
almacenamiento.
Sigue existiendo el problema de fragmentación
interna de todas- o casi- todas las páginas finales de
cada uno de los segmentos. Bajo paginación pura se
desperdician solo la última página asignada,
mientras que bajo segmentación – paginada el
desperdicio puede ocurrir en todos los segmentos
asignados.
Para concluir se entiende 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. - La memoria virtual es aquella que le ofrece a las
aplicaciones la ilusión de que están solas en el
sistema y que pueden usar el espacio de direcciones
completo. - Las direcciones de memoria son de tres tipo:
físicas, lógicas y lineales. - El objetivo del intercambio es dar cabida a la
ejecución de mas aplicaciones de las que pueden residir
simultáneamente en la memoria del sistema. - Las asignación consiste en determinar cual
espacio vacío en la memoria principal es el mas indicado
para ser asignado a un proceso. - Las estrategias mas comunes para asignar espacios
vacíos (huecos) son: primer ajuste, mejor ajuste, peor
ajuste. - La fragmentación es la memoria que queda
desperdiciada al usar los métodos de gestión de
memoria tal como la asignación. - La fragmentación puede ser interna o
externa. - La paginación es una técnica de
gestión de memoria en la cual el espacio de memoria se
divide en secciones físicas de igual tamaño
llamadas marcos de pagina, las cuales sirven como unidad de
almacenamiento de información. - La segmentación es un esquema de manejo de
memoria mediante el cual la estructura del programa refleja su
división lógica; llevándose a cabo una
agrupación lógica de la información en
bloques de tamaño variable denominados
segmentos.
Deitel Sistemas
Operativos
Stallings William . Sistemas Operativos .. Editorial Prentice
Hall
Tanenbaum Andrew S. Sistemas Operativos Modernos .Prentice
Hall
Autor:
T.S.U Danielle Romero
Estudiante de Ingeniería en Sistemas
Instituto Universitario Politécnico Santiago
Mariño
Barcelona, Edo. Anzoategui Venezuela
Mayo de 2003