11
CAPITULO III. ADMINISTRACIÓN DE MEMORIA La memoria principal o memoria RAM (Random Access memory), es uno de los recursos s importantes qu e ti ene el co mp utador pa ra la ejecución de sus procesos. T odo proceso para ser ejecutado necesita de memoria RAM. Al igual que los procesadores y cualquier elemento de hardare del computador, la memoria a e!olucionado en su tama"o #$sico, algoritmo de manejo, tama"o en %ytes, !elocidad de acceso, seguridad, etc. Los sistemas de administración de memoria se pueden di!idir en dos clases, los que trasladan procesos entr e la memoria y el disco durante la ejecución (intercam%io y paginación) y los que no lo hacen. &ste 'ltimo es el más sencillo. Monoprograma ción sin intercambio e paginación. &s el sistema más sencillo y solo permite ejecutar un programa a la !e, comp artiendo la memoria entr e el pr ogr ama y el sistema ope rati!o. istemas operati!os a ni!el de micros computadores que utiliaron estas memorias* +-M , M/0 primeras !ersiones.  Modelos del msdos 120 rograma de usuario R03RAMA /&L 44AR20 istema operati!o  istema operati!o

Sistemas Operativos -Capitulo III

Embed Size (px)

DESCRIPTION

so

Citation preview

7/17/2019 Sistemas Operativos -Capitulo III

http://slidepdf.com/reader/full/sistemas-operativos-capitulo-iii 1/11

CAPITULO III. ADMINISTRACIÓN DE MEMORIA

La memoria principal o memoria RAM (Random Access memory), es uno

de los recursos más importantes que tiene el computador para la

ejecución de sus procesos. Todo proceso para ser ejecutado necesita de

memoria RAM.

Al igual que los procesadores y cualquier elemento de hardare del

computador, la memoria a e!olucionado en su tama"o #$sico, algoritmo

de manejo, tama"o en %ytes, !elocidad de acceso, seguridad, etc.

Los sistemas de administración de memoria se pueden di!idir en dos

clases, los que trasladan procesos entre la memoria y el disco durante la

ejecución (intercam%io y paginación) y los que no lo hacen. &ste 'ltimo

es el más sencillo.

Monoprogramación sin intercambio e paginación.

&s el sistema más sencillo y solo permite ejecutar un programa a la !e,

compartiendo la memoria entre el programa y el sistema operati!o.

istemas operati!os a ni!el de micros computadores que utiliaron estas

memorias* +-M , M/0 primeras !ersiones.

  Modelos del msdos

120rograma de usuario R03RAMA /&L

44AR20

istema operati!o

 istema operati!o

7/17/2019 Sistemas Operativos -Capitulo III

http://slidepdf.com/reader/full/sistemas-operativos-capitulo-iii 2/11

Moe!o e CP"M

/onde*

120, sistema %ásico de entradas y salidas.

1/0, sistema %ásico de operación del disco.

++, procesador de comandos de consola.

 TA, área transitoria de programas (donde se ejecutan los programas del

usuario).

arámetros del sistema, contiene in#ormación %ásica del sistema.

M#!tiprogramación con particiones $%as

La memoria se di!ide en n particiones de igual o di#erentes tama"os

donde pudiese correr !arios programas simultáneamente

(multiprogramación). /e esta #orma se utiliar$a mejor los recursos del

computador. &ste sistema genera dos pro%lemas. Re!oca!i&ación' parasaber en (#) partición se *a a e%ec#tar e! programa + eprotección, para que un programa no inter5era con el otro.

&ste sistema #ue utiliado por el istema 678 de 21M.

  120

 

1/0

  ++

 TA

arámetros del

sistema

7/17/2019 Sistemas Operativos -Capitulo III

http://slidepdf.com/reader/full/sistemas-operativos-capitulo-iii 3/11

 

INTERCAM,IO

&n los sistemas de tiempo compartido a !eces no hay memoria principal

para contener todos los procesos que están acti!os actualmente y hay

que mantenerlos en disco duro y traerlos dinámicamente a memoria

para poderlos ejecutar. &n este caso e9isten dos estrategias*

Intercambio* +onsiste en traer a memoria cada proceso en su

totalidad, ejecutarlo durante alg'n tiempo y colocarlo otra !e en disco.

Memoria *irt#a!* ermite a los programas ejecutarlos aunque solo

est:n parcialmente en memoria principal.

La di#erencia entre particiones 5jas y particiones !aria%les es que en las

particiones !aria%les* el nro, u%icación y tama"o !ar$an dinámicamente.

&n particiones !aria%les es posi%le compactar la memoria hacia arri%a o

a%ajo, apro!echando mejor el recurso y e!itando huecos peque"os.

&n intercam%io se utilian dos (;) t:cnicas*

• Administración de memoria con mapas de %its.

• Administración de memoria con listas enlaadas.

  artición <

 

artición 6

  artición ;

artición =

istema 0perati!o

  artición <

artición 6

  artición ;

artición =

istema 0perati!o

 

7/17/2019 Sistemas Operativos -Capitulo III

http://slidepdf.com/reader/full/sistemas-operativos-capitulo-iii 4/11

Aministración e memoria con mapas e bits.

+onsiste en di!idir la memoria en unidades de asignación y a cadaunidad de asignación se le asigna un %it* 8 li%re y = ocupada

i la unidad de asignación es peque"a, entonces el mapa de %its será

grande y si la unidad de asignación es grande, entonces el mapa de %it

será peque"o, pero puede desperdiciarse una cantidad aprecia%le de

memoria cuando el tama"o del proceso no es m'ltiplo e9acto de la

unidad de asignación. &l pro%lema que se presenta en este tipo de

memoria es que al traer un proceso del disco duro, el s.o. tiene que

%uscar en el mapa de %its una serie de > %its en cero m(8) donde pueda

ca%er el proceso. &sta #unción es lenta. (!er grá5co pagina 6=7).

Aministración e memoria con !istas en!a&aas

+onsiste en mantener una lista enlaada de segmentos de memoria

li%res y asignados. /onde un segmento es un proceso o un agujero entre

dos procesos (!er 5gura pag. 6=7). La lista de segmentos puede estar

ordenada por direcciones. +asa lista tiene un %it que de5ne si es proceso

o agujero, la dirección de inicio y el tama"o.

e pueden presentar !arios algoritmos para asignar memoria*

Primer a%#ste* &s el más sencillo y rápido ya que la %'squeda es más

corta. &l agujero se di!ide en dos segmentos* uno para el proceso y otro

para la memoria desocupada. (muy casual que coincida el hueco con el

tama"o del proceso).

Sig#iente a%#ste- 1usca un agujero que quepa el proceso a partir de

donde ha%$a quedado 'ltimamente.

Me%or a%#ste* Recorre toda la lista para a!eriguar el hueco que más se

ajuste al tama"o del proceso. Algoritmo lento por tener que recorrertoda la lista y además desperdicia peque"os agujeros en memoria que

de pronto no sir!en para cargar un procesos. (desperdicio de memoria).

Peor a%#ste* +onsiste en tomar el agujero más grande, donde se

desperdicia huecos grandes que pueden ser!ir para nue!os procesos

7/17/2019 Sistemas Operativos -Capitulo III

http://slidepdf.com/reader/full/sistemas-operativos-capitulo-iii 5/11

Ajuste rpio* consiste en tener !arias lista por separado de algunos

tama"os de los más comunes solicitados. or ejemplo una lista de

ag?eros de <@, otra de @ , etc y as$ %uscar en la lista que más coincida

con el tama"o del proceso.

e recomienda mantener una lista de agujero y otra de procesos, porqueal 5n el algoritmo lo que %usca es agujeros no procesos.

MEMORIA /IRTUAL

 

+uando un programa era de mayor tama"o a la memoria #$sica del

computador, para poderlo correr se in!entaron una solución llamada

SUPERPOSICIONES' que consist$a en di!idir el programa en#ragmentos. e corr$a la primera superposición, cuando termina%a se

corr$a la segunda y as$ sucesi!amente. Las superposiciones se

guarda%an en el disco. &l pro%lema consist$a en que el programador

de%$a de #ragmentar el programa, llegando a ser engorrosa y di#$cil esta

la%or.  +on el 5n de solucionar este pro%lema se in!entó un m:todo

llamado MEMORIA /IRTUAL (Botheringham, =C7=). i el programa, sus

datos y su pila pueden e9ceder el tama"o de la memoria #$sica. &l

sistema mantiene en memoria principal las partes del programa que se

está ejecutando y el resto en el disco.

Paginación

MO/E RE0 ' 1222

&stá copiando el contenido de la dirección de memoria =888 en R&3.

&stas direcciones generadas por le programa se denominan direcciones

!irtuales y constituyen el espacio de direcciones !irtual.

La mayor parte de los sistemas de memoria !irtual emplean una t:cnicallamada paginación. +uando se usa memoria !irtual las direcciones

!irtuales no pasan directamente al %us de direcciones de memoria, en

!e de ello se en!$a a una #nia e aministración e memoria(MM4)' un chip (hardare) que trans#orma direcciones !irtuales en

direcciones de memoria #$sica.

7/17/2019 Sistemas Operativos -Capitulo III

http://slidepdf.com/reader/full/sistemas-operativos-capitulo-iii 6/11

CPU en*3a irecciones *irt#a!es a MMU MemoriaContro!aor e! isco

CPU

MMU 

MMU en*3a irecciones 43sicas

a memoria,US

5#nción e! MMU

 

5ig#ra 678- Re!ación entre !as irecciones *irt#a!es + !as ireccionese !a memoria

Los espacios de direcciones !irtuales se di!iden en unidades llamadas

pginas.

Las correspondientes en la memoria #$sica se denominan marcos e pgina

5ig#ra 679- 5#ncionamiento interno e !a MMU con 1: pginas e 6; <pg =>=?

7/17/2019 Sistemas Operativos -Capitulo III

http://slidepdf.com/reader/full/sistemas-operativos-capitulo-iii 7/11

&l propósito de la ta%la de páginas es trans#ormar páginas !irtuales en

marcos de página.

e puede presentar dos pro%lemas*

• La ta%la de páginas puede ser e9tremadamente grande.

• La trans#ormación de%e ser rápida.

&l primer caso por ejemplo* un procesador de 6; %its, puede direccionar un

millón de páginas de <@. 4n procesador de 7< %its puede direccionar D.. Eay

que tener en cuenta que cada proceso necesita su propia ta%la de páginas.

&n el segundo caso, la trans#ormación de !irtual a #$sica se de%e e#ectuar en

cada re#erencia de memoria. or lo general las instrucciones tienen un

operador y un operando en memoria. Eay instrucciones que tienen dos omás operandos entonces necesita más de una re#erencia a memoria por

instrucción. &sto come tiempo.

La solución ideal pero no real ser$a tener una sola ta%la de páginas que

consiste en un arreglo de registros de hardare con una entrada para cada

página inde9ada por n'mero página !irtual. 4na solución ser$a tener tab!ase pgina m#!tini*e! <$g#ra 6712 pgina =>@?.

+on esto se e!itar tener enormes ta%as !irtuales todo el tiempo en memoria

ppal.

<*er $g#ra 6711 Entraa e tab!a e pginas representati*as?

TL, ,#Ber e cons#!ta para !a tra#cción.

+omo las páginas !irtuales están la mayor parte en memoria, perjudicando

el rendimiento de la máquina, los dise"adores se dieron cuenta de que

muchos programas tienden a e#ectuar un gran n'mero de re#erencias a un

n'mero peque"o de páginas y no al re!:s. La solución consiste en equiparal computador con un peque"o dispositi!o de hardare para trans#ormar las

direcciones !irtuales en #$sicas sin pasar por la ta%la de páginas. &l

dispositi!o se llama TL, <Trans!ation !oo;asie b#Ber?  o tam%i:n

llamado memoria asociati!a, donde generalmente se encuentra dentro del

MM4 y consiste en un nro peque"o de entradas ( F 7<), cada entrada

7/17/2019 Sistemas Operativos -Capitulo III

http://slidepdf.com/reader/full/sistemas-operativos-capitulo-iii 8/11

contiene in#ormación de una página. <5ig#ra 671> Un TL, para agi!i&ar !apaginación?

A!goritmos e s#stit#ción e pginas

• &l algoritmo de sustitución de páginas óptimo.

• &l algoritmo de sustitución de páginas no usadas recientemente.

• &l algoritmo de sustitución de páginas, primero que entra, primero quesale (B2B0).

• &l algoritmo de sustitución de páginas de segunda oportunidad.

• &l algoritmo de sustitución de páginas por reloj.

• &l algoritmo de sustitución de páginas menos recientemente usadas

(LR4).

A!goritmo e s#stit#ción e pginas óptimo

&ste algoritmo de reemplao de páginas óptimo es #ácil de descri%ir pero

imposi%le de implementar. &ste algoritmo se %asa en el nro de instrucciones

que se ejecutan antes de ser re#erenciada una página. La página es rotulada

con ese nro., entonces cuando ocurre una #alla de página, la candidata a ser

reemplaada será la que tenga el rótulo más alto. i la página ha sido

actualiada entonces actualia su correspondiente en el disco. &s imposi%le

que el .0. conoca con anterioridad las !eces que la página ha sido

re#erenciada. or esto no es 'til en la práctica. +on un simulador se podr$a

conocer de antemano el nro de re#erencia de las páginas y luego si se podr$a

correr de nue!o el programa.

A!goritmo e s#stit#ción e pginas no #saas recientemente <NRU?

Las páginas tienen asociadas dos %its* R para lectura de la página y M para

modi5carle (actualiarla). &stos %its se actualian en cada re#erencia a

memoria.

7/17/2019 Sistemas Operativos -Capitulo III

http://slidepdf.com/reader/full/sistemas-operativos-capitulo-iii 9/11

+uando se inicia un proceso el .0. ponen en cero (8) los %its de todas las

páginas. eriódicamente (por ejemplo en cada interrupción de reloj), se

apaga el %it R a 5n de distinguir las páginas a las que no se ha hecho

re#erencia recientemente de la que si se han hecho.

+uando ocurre una #alla de página el .0. e9amina todas las páginas y lasdi!ide en cuatro categor$as con %ase en los !alores actuales de sus %its R y

M.

• +lase 8* no re#erida, no modi5cada

• +lase =* no re#erida, modi5cada

• +lase;* re#erida, no modi5cada

• +lase 6* re#erida, modi5cada

La clase = ocurre cuando una interrupción de reloj paga el %it R de una

página de clase 6. Las interrupciones de reloj no %orran el %it M porque estain#ormación la necesita para sa%er si hay que reescri%ir la página en el disco

duro (actualiarla). &l algoritmo GR4 elimina una página al aar de la clase

no !ac$a que tiene el nro más %ajo. &ste algoritmo supone que es mejor

eliminar una página modi5cada a la que no se ha hecho re#erencia en por lo

menos un tic de reloj (por lo regular ;8 ms) que una página limpia que no se

está usando mucho. Algoritmo sencillo, #ácil de implementar, #ácil de

entender con un rendimiento adecuado.

A!goritmo e s#stit#ción e pginas e primera (#e entra' primera(#e sa!e <5I5O?

&9iste una lista de páginas en la memoria, cuando ocurre una #alla de

página, entonces se aplica B2B0, es decir la que está a la ca%ea de la lista

es la más !ieja y al 5nal de la lista la más reciente, entonces se elimina la

ca%ea y la nue!a página se coloca al 5nal de la lista.

A!goritmo e s#stit#ción e pginas e seg#na oport#nia.4na peque"a modi5cación de B2B0 que e!ita el tener que desalojar una

página muy utiliada. +onsiste en inspeccionar el %it R de la página más

!ieja. i es cero (8), entonces además de ser la página más !ieja, no ha sido

utiliada recientemente, entonces de%e ser desalojada inmediatamente. i el

%it es uno (=), se coloca la página al 5nal de la lista de páginas y se le apaga

7/17/2019 Sistemas Operativos -Capitulo III

http://slidepdf.com/reader/full/sistemas-operativos-capitulo-iii 10/11

el %it R y se actualia su tiempo su tiempo de carga como si aca%ara de ser

tra$da a la memoria. Luego contin'a su %'squeda.

&l algoritmo lo que hace es %uscar una página !ieja a la que no se le haya

hecho re#erencia en el inter!alo del reloj anterior.

A!goritmo e s#stit#ción e pgina por re!o%

+omo el algoritmo anterior cam%ia constantemente de posición las paginas

en la lista, esta algoritmo #orma una lista circular con todas las página,

donde una manecilla de reloj apunta a la página más !ieja. +uando ocurre

una #alla de página, se inspecciona la página apuntada por la manecilla del

reloj, si RH8, entonces la página es desalojada inmediatamente y se coloca

en su lugar una nue!a y la manecilla a!ana a la siguiente página. i R es =,

entonces se coloca en 8 y la manecilla a!ana a la siguiente página,

A!goritmo e s#stit#ción e pginas menos recientemente #saas<LRU?

+onsiste en mantener una lista con todas las páginas que están en memoria,

con la página más recientemente utiliada al #rente y la menos

recientemente utiliada al 5nal. &l pro%lema es actualiar la lista cada !e

que se hace re#erencia a memoria (consume tiempo).

0tra #orma de implementar LR4 es utiliar un contador cada página donde selle!a el cálculo de la página cada !e que se re#erencia. +uando ocurre una

#alla de página, el algoritmo mira cual contador es el más %ajo, luego esa es

la página a eliminar (LR4).

Eay otro m:todo en LR4 consistente en una máquina con n marcos de

página, entonces pude mantener una matri de nIn que inicialmente son

ceros. +ada !e que hace re#erencia al marco de la página @, se colocan = a

todos los %its de la 5la @ y cero (8) a todos los %its de la columna @, en un

instante la 5la cuyo !alor sea el más %ajo será la página LR4. (a ni!el de

hardare).

ero todas las computadores no cuentan con ese hardare entonces lo

hacen a ni!el de so#tare con el algoritmo GB4 (Go utiliado

#recuentemente) donde cada página tiene asociado un contador.

2nicialmente todos los contadores están en cero y tra%aja de la siguiente

#orma*

7/17/2019 Sistemas Operativos -Capitulo III

http://slidepdf.com/reader/full/sistemas-operativos-capitulo-iii 11/11

 Todos los contadores se desplaan un %it a la derecha antes de sumarle el

%it R.

&l %it R se suma al %it de la e9trema iquierda, no a la e9trema derecha. (!er

gra5co <=7pagina 66J). +uando ocurre una #alla de página, se elimina la

página cuyo contador sea el más %ajo.