Você está na página 1de 16

Captulo 4: Administracin de la memoria

4.1. Administracin de memoria bsica


Los sistemas operativos administran la memoria trayendo y llevando
procesos entre esta y el disco mediante paginacin. Pero hay otros que no
realizan esta funcin. Si la memoria principal es insuficiente, entonces se
produce la paginacin para garantizar suficiente espacio de almacenamiento
para la ejecucin de procesos.
4.1.1. Monoprogramacin sin intercambio, ni paginacin
Esta organizacin facilita la programacin de una aplicacin al dividirla en
dos o ms procesos. Adems, ofrece la capacidad de tener ms de un
proceso a la vez en memoria; as puede ofrecer servicios a varios usuarios a
la vez.
El esquema de multiprogramacin incrementa el aprovechamiento del
CPU, a diferencia de la monoprogramacin. En esta, solo un proceso reside
en memoria a la vez, limitando el uso del procesador a las llamadas que
requiera dicho proceso, desperdiciando un promedio del 80% del tiempo del
procesador. En cambio, la multiprogramacin, al tener varios procesos en la
memoria principal y dividindose el tiempo de uso del procesador, logra
reducir drsticamente el desperdicio del procesador.
4.1.2. Multiprogramacin con particiones fijas
Para poder implementar la multiprogramacin, se puede hacer uso de
particiones fijas o variables en la memoria. En el caso de las particiones
fijas, la memoria se puede organizar dividindose en diversas partes, las
cuales pueden variar en tamao. Esta particin la puede hacer el usuario en
forma manual, al iniciar una sesin con la mquina.
Una vez implementada la particin, hay dos maneras de asignar los procesos
a ella. La primera es mediante el uso de una cola nica (figura a) que asigna
los procesos a los espacios disponibles de la memoria en la medida en que se
vayan desocupando. El tamao del hueco de memoria disponible es usado
para localizar en la cola el primer proceso que quepa en l. Otra forma de
asignacin es buscar en la cola el proceso de tamao mayor que se ajuste al
hueco. Sin embargo, hay que tomar en cuenta que tal mtodo discrimina a

49

los procesos ms pequeos. Este problema podra tener solucin si se asigna


una particin pequea en la memoria en el momento de hacer la particin
inicial, el cual sera exclusivo para procesos pequeos.

Figura 7: Particiones fijas para memoria.


Fuente: Trejo Ramrez (2002: 3).

Figura 8: Particiones fijas para colas.


Fuente: Trejo Ramrez (2002: 3).

Esta idea nos lleva a la implementacin de otro mtodo para particiones


fijas, que es el uso de diferentes colas independientes (figura b) exclusivas
para cierto rango en el tamao de los procesos. De esta manera, al llegar un
proceso, este sera asignado a la cola de tamao ms pequeo que la pueda
aceptar. La desventaja en esta organizacin es que, si una de las colas tiene
una larga lista de procesos en espera, mientras otra cola est vaca, el sector
de memoria asignado para ese tamao de procesos estara desperdicindose.

4.2. Intercambio
Este esquema fue originalmente usado por el sistema operativo IBM OS/360
(llamado MFT), el cual ya no est en uso.

50

El sistema operativo lleva una tabla indicando cules partes de la memoria


estn disponibles y cules estn ocupadas. Inicialmente, toda la memoria
est disponible para los procesos de usuario, y es considerado como un gran
bloque o hueco nico de memoria. Cuando llega un proceso que necesita
memoria, buscamos un hueco lo suficientemente grande para el proceso. Si
encontramos uno, se asigna nicamente el espacio requerido, manteniendo
el resto disponible para futuros procesos que requieran de espacio.

4.2.1. Administracin de memoria con mapas de bits


Este tipo de administracin divide la memoria en unidades de asignacin, las
cuales pueden ser tan pequeas como unas cuantas palabras o tan grandes
como varios kilobytes. A cada unidad de asignacin le corresponde un bit en
el mapa de bits, el cual toma el valor de 0 si la unidad est libre y 1 si est
ocupada (o viceversa). La siguiente figura muestra una parte de la memoria
y su correspondiente mapa de bits.

Figura 9: Administracin de memoria con mapas de bits.


Fuente: Tanenbaum (2003: 199).

Podemos dividir la memoria en pequeas unidades, y registrar en un mapa


de bits las unidades ocupadas y desocupadas. Las unidades pueden ser de
unas pocas palabras cada una, hasta de un par de KB. A mayor tamao de
las unidades, menor espacio ocupa el mapa de bits, pero puede haber mayor
fragmentacin interna. Desventaja: para encontrar hoyo de n unidades, hay
que recorrer el mapa hasta encontrar n ceros seguidos (puede ser caro).

51

4.2.2. Administracin de memoria con listas enlazadas


Otra forma de administrar la memoria es mediante una lista ligada de
segmentos: estado (ocupado o en uso), direccin (de inicio), tamao.
Cuando un proceso termina o se pasa a disco, si quedan dos hoyos juntos,
estos se funden en un solo segmento. Si la lista se mantiene ordenada por
direccin, podemos usar uno de los siguientes algoritmos para escoger un
hoyo donde poner un nuevo proceso.
x
x
x

first-fit: Asignar el primer hoyo que sea suficientemente grande como


para contener al proceso.
best-fit: Asignar el menor hoyo en el que el proceso quepa.
worst-fit: Asignar el mayor hoyo.

Cada vez que se asigna un hoyo a un proceso, a menos que quepa


exactamente, se convierte en un segmento asignado y un hoyo ms
pequeo. Best-fit deja hoyos pequeos y worst-fit deja hoyos grandes (cul
es mejor?). Simulaciones han mostrado que first-fit y best-fit son mejores en
trminos de utilizacin de la memoria. First-fit es ms rpido (no hay que
revisar toda la lista). Se puede pensar en otras variantes.
En la imagen siguiente se muestra la forma de administracin de memoria
mediante una lista ligada.

Figura 10: Administracin de memoria con listas enlazadas.


Fuente: Trejo Ramrez (2002: 6).

52

4.3. Memoria virtual


Qu podemos hacer si un programa es demasiado grande para caber en la
memoria disponible? Una posibilidad es usar superposiciones (overlays),
como en MS-DOS: dividimos el programa en trozos independientes, y los
vamos cargando de a uno, a medida que se necesiten. Por ejemplo,
compilador de dos pasadas: cargar primero el cdigo de la primera pasada,
ejecutarlo, y despus descartarlo para cargar el cdigo de la segunda
pasada. Las rutinas comunes y estructuras de datos compartidas entre las
dos pasadas se mantienen en memoria permanentemente. El problema es
que se agrega complejidad a la solucin.
Mucho mejor sera poder extender la memoria de manera virtual, es decir,
hacer que el proceso tenga la ilusin de que la memoria es mucho ms
grande que la memoria fsica (o que el trozo de memoria fsica que le
corresponde, si tenemos multiprogramacin). El sistema operativo se
encarga de mantener en memoria fsica los trozos (pginas) que el proceso
est usando, y el resto en disco. Ya que el disco es barato, podemos tener
espacios de direccionamiento enormes.
4.3.1. Paginacin
En sistemas operativos de computadoras, los sistemas de paginacin de
memoria dividen los programas en pequeas partes o pginas. Del mismo
modo, la memoria es dividida en trozos del mismo tamao que las pginas,
llamados marcos de pgina. De esta forma, la cantidad de memoria
desperdiciada por un proceso es el final de su ltima pgina, lo que minimiza
la fragmentacin interna y evita la externa.
En un momento cualquiera, la memoria se encuentra ocupada con pginas
de diferentes procesos, mientras que algunos marcos estn disponibles para
su uso. El sistema operativo mantiene una lista de estos ltimos marcos, y
una tabla por cada proceso, donde consta en qu marco se encuentra cada
pgina del proceso. De esta forma, las pginas de un proceso pueden no
estar contiguamente ubicadas en memoria, y pueden intercalarse con las
pginas de otros procesos.

53

4.3.2. Tablas de pginas


En sistemas operativos de computadoras, los sistemas de paginacin de
memoria dividen los programas en pequeas partes o pginas. Del mismo
modo, la memoria es dividida en trozos del mismo tamao que las pginas,
llamados marcos de pgina. De esta forma, la cantidad de memoria
desperdiciada por un proceso es el final de su ltima pgina, lo que minimiza
la fragmentacin interna y evita la externa.
En un momento cualquiera, la memoria se encuentra ocupada con pginas
de diferentes procesos, mientras que algunos marcos estn disponibles para
su uso. El sistema operativo mantiene una lista de estos ltimos marcos, y
una tabla por cada proceso, donde consta en qu marco se encuentra cada
pgina del proceso. De esta forma, las pginas de un proceso pueden no
estar contiguamente ubicadas en memoria, y pueden intercalarse con las
pginas de otros procesos.
En la tabla de pginas de un proceso, se encuentra la ubicacin del marco
que contiene a cada una de sus pginas. Las direcciones lgicas ahora se
forman como un nmero de pgina y de un desplazamiento dentro de esa
pgina (conocido comnmente como offset). El nmero de pgina es usado
como un ndice dentro de la tabla de pginas. Una vez obtenida la direccin
del marco de memoria, se utiliza el desplazamiento para componer la
direccin real o direccin fsica. Este proceso se realiza en una parte del
computador especficamente diseada para esta tarea, es decir, es un
proceso hardware y no software.
Ahora que la memoria lgica puede ser mucho ms grande que la fsica, se
acenta el problema del tamao de la tabla de pginas. Con direcciones de
32 bits, puede alcanzar los 4GB. Con pginas de 4 KB, necesitaramos hasta
1M entradas. Si cada entrada usa 32 bits, entonces la tabla podra pesar 4
MB. Adems, cada proceso tiene su tabla, y esta tabla debe estar siempre
en memoria fsica. Esto representa un problema serio.
Solucin: tablas de varios niveles. El 386 usa dos niveles: una direccin
lgica de 32 bits se divide en (p1, p2, d), de 10, 10 y 12 bits
respectivamente.
p1 es un ndice a una tabla de tablas, metatabla, o tabla de primer nivel, que
contiene 210=1024 entradas de 32 bits, o sea, exactamente una pgina. La
entrada correspondiente a p1 en esta tabla indica el marco donde se
encuentra otra tabla (de segundo nivel), donde hay que buscar indexando
por p2, el marco donde est la pgina que finalmente se necesita. A
continuacin, una representacin de tabla de pginas:
54

Figura 11: Representacin de tabla de pginas.


Fuente: Gmez Jimnez, Enrique.

Por qu se ha resuelto el problema? La clave es que solo es indispensable


mantener en memoria la tabla de primer nivel. Las otras se tratan como
pginas ordinarias, es decir, pueden estar en disco. As, al utilizar la propia
memoria virtual para estas pginas, se mantienen en memoria fsica solo las
ms usadas. Sin embargo, se est agregando un acceso ms a la memoria
para convertir cada direccin lgica a una fsica, pero con un TLB con tasa de
aciertos alta el impacto es mnimo.
Si las direcciones fueran de 64 bits, hay que usar ms niveles. Otra
posibilidad es usar tablas de pgina invertidas, en las que, en vez de
haber una entrada por pgina virtual, hay una entrada por marco en la
memoria fsica. As, si tenemos 32 MB de memoria real y pginas de 4 KB,
una tabla invertida necesita solo 8K entradas (independientemente de si las
direcciones son de 32 o 64 bits). Cada entrada dice a qu pgina virtual de
qu proceso corresponde el marco. Cuando el proceso P accesa la direccin
lgica l, hay que buscar un par (P,l) en esta tabla. La posicin de este par es
el marco que hay que accesar. Problema obvio: la bsqueda en una tabla de
8192 entradas puede costar muchos accesos a memoria.

4.4. Algoritmos para reemplazo de pginas


Con el uso del mtodo de paginacin se puede llegar a saturar la memoria si
se incrementa demasiado el nivel de multiprogramacin. Por ejemplo, si se
corren seis procesos, cada uno con un tamao de diez pginas de las cuales
en realidad solo utiliza cinco, se tiene un mayor uso del CPU y con marcos de
sobra. Pero pudiera suceder que cada uno de esos procesos quiera usar las

55

diez pginas, lo que da como resultado una necesidad de 60 marcos, cuando


solo hay 40 disponibles.
Esto provoca sobre-asignacin. Y, mientras un proceso de usuario se est
ejecutando, ocurre un fallo de pgina. El hardware se bloquea con el sistema
operativo, el cual checa en sus tablas internas y se da cuenta de que es un
fallo de pgina y no un acceso ilegal de memoria. El sistema operativo
determina si la pgina est residiendo en disco, pero tambin determina que
no hay marcos de memoria disponibles en la lista de marcos libres.
Al ocurrir el fallo de pgina, el sistema operativo debe elegir una pgina para
retirarla de la memoria y usar el espacio para la pgina que se necesita para
desbloquear el sistema y que el hardware pueda seguir trabajando. Si la
pgina por eliminar de la memoria fue modificada, se debe volver a escribir
al disco para mantener la informacin actualizada; de lo contrario, si la
pgina no fue modificada no es necesario rescribir la informacin a disco y la
pgina que se carga simplemente se escribe sobre la pgina por borrar en
memoria. La siguiente figura muestra grficamente un intercambio de
pginas entre la memoria principal y el disco (memoria secundaria).

Figura 12: Intercambio de pginas entre la memoria principal y el disco.


Fuente: Trejo Ramrez (2002: 8).

Algoritmo de reemplazo de pginas ptimo


Este algoritmo debe tener el menor ndice de fallos de pgina de todos los
algoritmos. En teora, este algoritmo debe reemplazar la pgina que no va a
ser usada por el periodo ms largo de tiempo.
Desafortunadamente, el algoritmo de reemplazo ptimo es fcil en teora,
pero prcticamente imposible de implementar, dado que requiere conocer a
futuro las necesidades del sistema.

56

Tal algoritmo existe y ha sido llamado OPT o MIN. Pero se usa nicamente
para estudios de comparaciones. Por ejemplo, puede resultar muy til saber
que aunque algn nuevo algoritmo no sea ptimo, est entre el 12,3% del
ptimo y entre el 4,7% en promedio.
Algoritmo de reemplazo de pginas segn el uso no tan reciente
Este algoritmo hace uso de los dos bits de estado que estn asociados a cada
pgina. Estos bits son: R, el cual se activa cuando se hace referencia (lectura
/ escritura) a la pgina asociada; y M, que se activa cuando la pgina
asociada es modificada (escritura). Estos bits deben ser actualizados cada
vez que se haga referencia a la memoria. Por esto es de suma importancia
que sean activados por el hardware. Una vez activado el bit, permanece en
ese estado hasta que el sistema operativo, mediante software, modifica su
estado.
Estos bits pueden ser utilizados para desarrollar un algoritmo de reemplazo
de forma que, cuando inicie el proceso, el sistema operativo asigne un valor
de 0 a ambos bits en todas las pginas; que en cada interrupcin de reloj,
limpie el bit R para distinguir cules pginas tuvieron referencia y cules no.
Cuando ocurre un fallo de pgina, el sistema operativo revisa ambos bits en
todas las pginas, y las clasifica de la siguiente manera:
x
x
x
x

clase
clase
clase
clase

0:
1:
2:
3:

La
La
La
La

pgina
pgina
pgina
pgina

no
no
ha
ha

ha sido referenciada ni modificada.


ha sido referenciada pero ha sido modificada.
sido referenciada pero no ha sido modificada.
sido referenciada y tambin modificada.

Una vez obtenida la clasificacin, elimina una pgina de manera aleatoria de


la primera clase no vaca con el nmero ms pequeo. Esto ocurre porque
para el algoritmo es mejor eliminar una pgina modificada sin referencias en
al menos un intervalo de reloj, que una pgina en blanco de uso frecuente.
A pesar de que este algoritmo no es el ptimo, es fcil de implementar y de
comprender, y con mucha frecuencia es el ms adecuado.
Algoritmo de reemplazo Primero en entrar, primero en salir (FIFO)
El algoritmo ms sencillo para reemplazo de pginas es el FIFO (First In
First Out). Este algoritmo asocia a cada pgina el momento en que esta fue
trada a memoria. Cuando una pgina debe ser reemplazada, se selecciona la
ms antigua.

57

No es estrictamente necesario registrar el momento de entrada de la pgina


a memoria, sino que se puede crear una cola en la que se van agregando las
pginas conforme van llegando a la memoria. Cuando se debe eliminar una
pgina, se selecciona la que est al frente de la lista (o sea, la ms antigua
de la lista). Cuando llega una pgina nueva, se inserta en la parte trasera de
la cola.
Al igual que el algoritmo aleatorio, este algoritmo es fcil de comprender y
de programar. Sin embargo, su desempeo no siempre es del todo bueno. La
pgina reemplazada puede ser un mdulo de inicializacin que fue usado
hace mucho tiempo, y ya no se tiene necesidad de l. Por otro lado, puede
contener una variable de uso muy frecuente que fue inicializada de manera
temprana y est en uso constante. La imagen siguiente muestra este
algoritmo.

Figura 13: Reemplazo de pginas mediante el algoritmo FIFO.


Fuente: Trejo Ramrez (2002: 9).

Algoritmo de reemplazo de pginas de la segunda oportunidad


Este algoritmo es una modificacin del FIFO. El algoritmo hace uso del bit de
referencia de la pgina. Cuando una pgina ha sido seleccionada para
reemplazo, se revisa el bit de referencia. Si tiene valor de 0, se procede a
reemplazar la pgina. Si, por el contrario, el bit de referencia es 1, se le da a
la pgina una segunda oportunidad. La siguiente figura muestra la
funcionalidad de este algoritmo.

Figura 14: Algoritmo de la segunda oportunidad.


Fuente: Trejo Ramrez (2002: 9).

58

Algoritmo de reemplazo de pginas del reloj


Modificando el algoritmo de la segunda oportunidad (que a su vez es una
modificacin de FIFO), obtenemos el algoritmo aumentado de la segunda
oportunidad o algoritmo del reloj. Se utiliza la misma clasificacin del
algoritmo de uso no tan reciente.
Este algoritmo organiza las pginas en una lista circular, como se muestra en
la figura siguiente. Se usa un apuntador (o manecilla) que seala la pgina
ms antigua.

Figura 15: Algoritmo de reloj.


Fuente: Trejo Ramrez (2002: 10).

Algoritmo de reemplazo de pginas la de menor uso reciente (LRU)


El algoritmo LRU es una buena aproximacin al ptimo. Se basa en la
observacin de que las pginas de uso frecuente en las ltimas instrucciones,
se utilizan con cierta probabilidad en las siguientes. De la misma manera, es
probable que las pginas que no hayan sido utilizadas durante mucho tiempo
permanezcan sin uso por bastante tiempo. Implementando el algoritmo con
esta base, al ocurrir un fallo de pgina, se elimina la pgina que no haya sido
utilizada durante el tiempo ms grande. De ah su denominacin: menor
uso reciente (LRU - Least Recent Use).
A diferencia de los algoritmos anteriores, el LRU tiene un mejor rendimiento
en cuanto al tiempo de aprovechamiento del CPU y del uso de la memoria.
Sin embargo, el problema con este algoritmo es que su implementacin es
muy cara, ya que requiere de una asistencia considerable de hardware. Otro
problema es el de determinar un orden para los marcos definido por el
tiempo de menor uso.

59

Para este ltimo hay dos posibles implementaciones:


o Contadores: En el caso ms sencillo, se asocia en cada entrada
tabla-pgina un campo de tiempo-de-uso, y se le agrega al CPU un
reloj lgico o contador. Este reloj es incrementado en cada
referencia de memoria. Siempre que se hace referencia a una
pgina, el contenido del registro del reloj es copiado al campo de
tiempo-de-uso en la tabla de pginas para esa pgina. De esta
forma, siempre se dispone del tiempo de la ltima referencia a
cada pgina. La pgina que se reemplaza es la del menor valor de
tiempo. Este esquema requiere de una bsqueda en toda la tabla
de pginas para encontrar la pgina LRU, y una escritura en
memoria al campo de tiempo-de-uso en la tabla de pginas por
cada acceso a memoria. Los tiempos tambin se deben mantener
cuando las tablas de pginas son alteradas (debido a organizacin
del CPU). Debe considerarse la posibilidad de sobrecarga en el
reloj.
o Pilas: Otra aproximacin para implementar el reemplazo LRU es la
de tener una pila con los nmeros de pginas. Siempre que se
hace referencia a una pgina, se quita de la pila y se pone en la
parte superior. De esta manera, la parte superior de la pila es la
pgina de uso ms reciente, y la de abajo es la LRU, tal como se
muestra en la figura siguiente:

Figura 16: Uso de pilas en el algoritmo LRU.


Fuente: Trejo Ramrez (2002: 11).

60

4.5. Modelacin de algoritmos de reemplazo de pginas


Cuando un proceso accesa una pgina invlida, hay que ir a buscar su
contenido a disco y ponerlo en algn marco. El punto es determinar en qu
marco, si no hay ninguno libre. Una posibilidad en tal caso es pasar a disco
un proceso, con lo cual los marcos que ocupaba quedan libres.
Lo usual es usar algn algoritmo de reemplazo de pginas para
seleccionar un marco vctima (por ejemplo, al azar). Para poder usar el
marco vctima, primero hay que sacar la pgina contenida en ese marco
(pasarla a disco). Sin embargo, si la pgina original no haba sido
modificada, la copia en disco es idntica, as que se puede descartar esta
operacin de escritura. El sistema operativo puede saber si una pgina ha
sido modificada examinando un bit asociado a la pgina (el dirty bit o bit de
modificacin) que el hardware se encarga de poner en 1 cada vez que se
escribe en ella.
O sea, cada falta de pgina produce una o dos transferencias de pginas
entre la memoria y el disco.
En sntesis:
x

Previene la sobreasignacin de memoria modificando la rutina de


fallo de pginas para incluir el reemplazo de pginas.

Se usa el bit de modificado (suciedad) para reducir la sobrecarga


por transferencias de pginas (solo las pginas modificadas se
escriben a disco).

El reemplazo de pginas completa la separacin entre la memoria


lgica y la memoria fsica (se puede proporcionar una gran cantidad
de memoria virtual sobre una menor memoria fsica).

En la siguiente imagen se muestra grficamente la necesidad existente para


el reemplazo de pginas:

61

Figura 17: Reemplazo de pgina.


Fuente: Martnez y Hervs (1998: 1).

Anomala de Belady
La anomala de Belady es un efecto descubierto y demostrado en 1969 por
el cientfico de la computacin hngaro Laszlo Belady. Por este es posible
tener ms fallos de pgina al aumentar el nmero de marcos en la memoria
fsica utilizando el mtodo FIFO como algoritmo de reemplazo de pginas en
sistemas de gestin de memoria virtual con paginacin. Antes de esta fecha,
se crea que incrementar el nmero de marcos fsicos siempre llevara a un
descenso del nmero fallo de pginas o, en el peor de los casos, a
mantenerlo. As, pues, antes del descubrimiento de la anomala de Belady, el
algoritmo FIFO era aceptable.
El siguiente es un ejemplo de la anomala de Belady. Utilizando tres marcos
ocurren 9 fallos de pgina. Aumentando a cuatro marcos, obtenemos 10
fallos de pgina. Los fallos de pgina estn en rojo y subrayado. El contenido
de la memoria principal en cada momento est debajo de cada nueva
peticin de pgina.
Peticiones de pgina 3 2 1 0 3 2 4 3 2 1 0 4
Pgina ms nueva
321032444100
32103222411
Pgina ms antigua
3210333244
Peticiones de pgina 3 2 1 0 3 2 4 3 2 1 0 4
Pgina ms nueva

321000432104
32111043210

62

3222104321
Pgina ms antigua

333210432

(rojo indica fallo de pgina)

Algoritmos de pila
Un algoritmo de pila es aquel para el cual se puede demostrar que el
conjunto de pginas en memoria para n marcos es siempre un subconjunto
del conjunto de las pginas que estaran en memoria con n + 1 marcos.
Para implementar el reemplazo LRU es necesario tener una pila con los
nmeros de pginas. Siempre que se hace referencia a una pgina, se quita
de la pila y se pone en la parte superior. De esta manera, la parte superior
de la pila es la pgina de uso ms reciente y la de abajo es la LRU, tal y
como se muestra en la figura siguiente:

Figura 18: Uso de pilas en el algoritmo LRU.


Fuente: Trejo Ramrez (2002: 11).

4.6. Aspectos de diseo de los sistemas de paginacin


Hay algunos factores que deben considerarse en el momento de disear la
paginacin de un sistema operativo. Entre ellos:
a) Polticas de asignacin local y global, que consisten en considerar
cmo debe repartirse la memoria entre los procesos ejecutables que
compiten por ella.
b) Control de carga, que consiste en controlar que el conjunto de
trabajos de todos los procesos no excedan la capacidad de la memoria
creando hiperpaginacin.
c) Tamao de pgina, que consiste en determinar el tamao de pgina
requerido para el manejo y almacenamiento de los datos.

63

d) Espacio de instrucciones y de datos separados. Casi todas las


computadoras poseen un nico espacio de direcciones donde se
almacenan datos y programas.
e) Otros factores

4.7. Aspectos de implementacin


Para la implementacin de la paginacin del sistema operativo, deben
considerarse factores como los siguientes:
a)
b)
c)
d)

Cmo el sistema operativo debe intervenir en la paginacin.


Cmo actuar en caso de falla de la paginacin.
Cmo fijar las pginas en la memoria del computador.
Otros factores.

4.8. Segmentacin
La segmentacin de memoria 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 segmento contiene 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.
Algunos factores para la implementacin de la segmentacin deben ser
considerados. Por ejemplo, cmo implementar la segmentacin pura o por
paginacin.

64

Você também pode gostar