Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Look up keyword
Like this
1Activity
0 of .
Results for:
No results containing your search query
P. 1
memoria

memoria

Ratings:

4.0

(1)
|Views: 15|Likes:
Published by Samira

More info:

Published by: Samira on Jan 15, 2008
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

06/14/2009

pdf

text

original

 
Tema 4: Gesti´on de Memoria
27 de octubre de 1999
1 Introducci´on
En un sistema
monoprogramado
olo podr´a haber una tarea en la memoria. La memoria estar´a dividida en dos partes, una para el SSOO y otra para el programa de usuario. En un sistema
multiprogramado
se pueden ejecutar varias aplicaciones de usuario a la vez. Para conseguiresto la memoria ha de estar dividida en porciones y el SSOO estar´a en una de ellas. De estaforma cada programa en ejecuci´on tendr´a su propia porci´on. Una parte del SSOO tendr´a que encargarse de administrar la memoria. Cuando un procesova a ejecutarse va a solicitar a ese planificador un espacio de memoria donde se cargar´a. Setratar´an varios modelos:
Asignaci´on contigua
Cada objeto en memoria ocupar´a posiciones consecutivas de memoriaprincipal.
Asignaci´on no contigua
Parte de un mismo objeto puede estar situado en memoria prin-cipal en partes no contiguas.Un etodo com´un de asignaci´on de espacio contiguo es dividir la memoria en porcionesy asignar una de ellas a cada proceso. Cuando un proceso termina su ejecuci´on la partici´onqueda disponible. Estas particiones se pueden definir est´atica o din´amicamente. En la partici´on
est´ atica 
en la carga del sistema se fija el tama˜no de las particiones, mientras que en la partici´on
din´ amica 
la divisi´on se realiza seg´un se vayan requiriendo los procesos.Para valorar un gestor de memoria se tiene en cuenta:1. Debe proporcionar una buena protecci´on de memoria: Si hay varios procesos hay queevitar que uno pueda acceder a las posiciones de memoria de otro, por error o por accesomalintencionado. Del mismo modo, cuando un proceso se descarga a disco, y m´as tardevuelve a colocarse en memoria, el gestor tendr´a que comprobar que las direcciones enlas cuales se va a cargar no forman parte de ning´un otro proceso.2. Debe proporcionar una utilizacon compartida flexible en contraposici´on a lo anterior,puede haber procesos que compartan zonas comunes de memoria. P. Ej. Si procesosutilizan un mismo c´odigo, hay que conseguir que utilicen la misma copia en memoria.3. El gestor de memoria debe minimizar la memoria desaprovechada. En el particionamien-to est´atico un proceso puede tener una partici´on mayor de la que requiere (
 fragmentaci´ on interna 
). En el particionamiento din´amico no se da la fragmentaci´on interna ya que secrean particiones del tama˜no que necesite el proceso. Pero una vez que el sistema opera-tivo lleva un tiempo funcionando va decreciendo el tama˜no de las particiones libres y es1
 
2 REQUISITOS PARA LA GESTI ´ON DE MEMORIA
habitual que queden espacios donde normalmente no caben procesos. Este fen´omeno sellama
fragmentaci´ on externa 
. Para solucionar la fragmentaci´on externa existen ecnicasde reubicaci´on de objetos en memoria (mover procesos en la memoria). Para la uti-lizaci´on de estas ecnicas de reubicaci´on y compartici´on hay que estudiar el algoritmo de compactaci´on adecuado, en que zona se colocan los procesos, y SSOO y el tiempoque va a llevar esa operaci´on de reubicaci´on. Con esto no se soluciona la fragmentaci´on interna.4. Si se tienen varias copias de un mismo objeto debido a la mala compartici´on de objetosen memoria.5. Debe minimizar la complejidad en el tiempo. Se deben conseguir algoritmos de planifi-caci´on que realicen su labor de forma sencilla y en un tiempo breve.6. Debe minimizar los procesos suplementarios de acceso a memoria. Este punto de vistatrata de minimizar el tiempo que tarda el SSOO en realizar operaciones adicionales.
2 Requisitos para la Geston de Memoria
2.1 Reubicacon
En un sistema multiprogramado puede haber varios objetos ocupando la memoria y otrosque requieran una porci´on. El gestor puede seleccionar uno para sacarlo de la memoria y queel espacio pueda ser aprovechado para otro proceso. Puede volcar objetos inactivos al disco.Cuando ese proceso descargado vuelva a memoria el gestor debe saber si lo debe color en lasmismas posiciones o en posiciones diferentes.Un proceso tendr´ıa la siguiente informaci´on:
PCB
CODIGO
DATOS
PILAEl sistema operativo tendr´a que conocer la ubicaci´on de la informaci´on de control del proceso. Necesitar´a conocer la posici´on en la cual termina de ejecutarse y la direcci´on de la pila de ejecuci´on.
2.2 Protecci´on
Ver el apartado anterior.
2.3 Compartici´on
Ver el apartado anterior.2
 
3 ASIGNACI ´ON DE ESPACIO 2.4 Organizaci´on l´ogica de los programas 
2.4 Organizaci´on l´ogica de los programas
Resulta beneficioso organizar los programas en m´odulos para obtener las siguientes ventajas:
Escribir y compilar los m´odulos de forma independiente y el SSOO puede cargar enmemoria cada m´odulo por separado. El SSOO resolver´ıa las referencias de un odulo aotro en tiempo de ejecuci´on. A los diferentes m´odulos se les podr´ıa dar diferentes gradosde protecci´on, p Ej. a un m´odulo
s´ olo lectura 
a otro
s´ olo ejecuci´ on 
, etc.
El gestor de memoria podr´ıa incorporar mecanismos para que diferentes procesos com-partan m´odulos.
2.5 Organizaci´on f´ısica de la memoria
La memoria est´a dividida en principal y secundaria (esquema a dos niveles). En este esquemael flujo de informaci´on entre memoria principal y secundaria es otro punto a tener en cuentapara el SO.
3 Asignaci´on de espacio
La evoluci´on de la asignaci´on de espacio puede resumirse en las siguientes etapas:
aquina desnuda
Monitor residente
Superposiciones (overlays)
Asignaci´on por intercambio (swapping)
3.1 M´aquina desnuda
Es el modelo m´as simple. Es propio de los primeros sistemas operativos. Toda la memoria est´aa disposici´on de un ´unico usuario y el programa puede utilizar cualquier posici´on de memoria. No se necesitaba protecci´on. No hab´ıa idea de SO; si se requer´ıa protecci´on, el usuario la ten´ıaque incorporar en su programa.
3.2 Monitor residente (Monitor de proceso ´unico)
Para facilitar el trabajo se incorporo un c´odigo com´un llamado
IOCS 
(sistema de control deentrada salida), para operaciones con dispositivos. El monitor de proceso ´unico consist´ıa endividir la memoria en dos porciones, una para el SO y otra para los procesos transitorios deusuario (y rutinas transitorias del SO). A la direcci´on que separa ambas partes se le llama
borde de memoria 
y al final el
techo de memoria 
. Con este monitor residente se comienzan autilizar ecnicas de protecci´on y reubicaci´on.3

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->