Sistemas Operativos -Capitulo III
-
Upload
luis-fernando-jimenez -
Category
Documents
-
view
212 -
download
0
description
Transcript of Sistemas Operativos -Capitulo III
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.