Anda di halaman 1dari 5

Gestin de memoria

08/11/2010

Si se pretende que los procesos estn preparados para su ejecucin es necesario cargarlos en la memoria principal, ya que ningn proceso se puede activar antes de que se le asigne el espacio de memoria que requiere. La misin del gestor de memoria es la asignacin de memoria principal a los procesos que la soliciten.
2

El espacio vacante se puede utilizar para cargar procesos que estn ya preparados para su ejecucin, de forma que el planificador est en mejores condiciones de preparar las tareas que se van a ejecutar. La memoria principal se puede ver como un gran array de palabras cada una con su propia direccin.

4.1 Sistemas elementales de gestin de la memoria


El esquema ms simple de gestin de memoria que se puede considerar es aquel que no tiene ningn gestor. En este caso el usuario tiene control sobre el espacio total de memoria. Este mtodo tiene algunas ventajas:
Da mxima flexibilidad al usuario, ya que puede controlar el uso de la memoria de la forma que desee.
4

Tiene mxima simplicidad y coste mnimo No es necesario disponer de un computador especfico ni tan siquiera del SO.

Limitaciones:
No da ningn servicio. El SO no tiene control sobre las interrupciones No hay monitor residente para procesar las llamadas al sistema o para tratamiento de errores.

Gestin de memoria

08/11/2010

4.2 Gestin de memoria con particiones fijas


Una forma de realizar la multiprogramacin consiste en dividir la memoria fsica disponible en varias particiones y asignar cada una de las partes a un proceso. La asignacin de memoria con particiones fijas se denomin MFT, Multiprograming with a Fixed number of Task (Multiprogramacin con un nmero fijo de tareas).
6

La gestin de memoria con particiones fijas supone que la divisin sta se ha realizado con anterioridad a la ejecucin de los programas de usuario, pudiendo hacerla el operador o administrador del sistema de forma manual, al iniciar una sesin con la mquina. El nmero y tamao de las particiones se determinan teniendo en cuenta los factores siguientes:

Capacidad de la memoria fsica disponible y el grado de multiprogramacin deseado (nmero mximo de procesos activos en el sistema). Tamaos tpicos de los procesos ejecutados ms frecuentemente.

4.2.1 Principio de operacin


Cuando llega una tarea, sta se pone en la cola de tareas. El planificador de tareas tiene en cuenta los requerimiento de memoria de cada una de ellas y las particiones de memoria disponible. Si una tarea tiene espacio disponible en memoria, se ubica (o reubica) en una particin, y puede competir por el uso de la CPU.
8 9

Gestin de memoria

08/11/2010

Cuando se termina una tarea, se libera la particin de memoria que ocupa, pudiendo el planificador de tareas asignar esta particin a otra tarea de la cola de tareas. Hay diferentes tipos de organizaciones posibles para la asignacin de memoria a las tareas. Una estrategia es clasificarlas todas segn sus requerimientos de espacio. De esta forma, cada particin de memoria tendr una cola de tareas.
10

Ejemplo 1
En la figura 4.3 se representa este sistema de particiones fijas y colas de entrada independientes para un caso en el que los tamaos de las particiones de memoria son de 512 Kb, 1 Mb y 2 Mb (ms una particin de 512 Kb reservada a la parte residente del SO), con lo que se tienen tres colas.

11

La planificacin de cada cola se hace por separado y, como cada cola tiene su propia particin, no hay competencia entre las colas por la memoria. La desventaja de este mtodo se hace evidente cuando la cola de una particin grande est vaca y la cola de una particin pequea est llena.

Fig. 4.3: Particiones fijas de memoria con colas de entrada independientes


12

13

Gestin de memoria

08/11/2010

Otro tipo de organizacin consiste en mantener todas las tareas en una sola cola. En este esquema, el planificador selecciona la prxima tarea para ser ejecutada y espera hasta que se disponga de una regin de memoria del tamao requerido. Cuando se libera una particin, se puede cargar y ejecutar en ella la tarea ms cercana al frente de la cola que se ajusta a dicha particin.
14

Fig. 4.4: Particiones fijas de memoria con una nica cola de entrada

15

Pero como no es deseable que se desperdicie una particin de gran tamao con una tarea pequea, otra estrategia consiste en buscar en toda la cola de entradas la tarea ms grande que se ajuste a la particin liberada. Este ltimo algoritmo discrimina las tareas pequeas, negndoles la importancia suficiente como para disponer de una particin.

Hay varias formas de salir de este problema, una es tener una particin de tamao reducido para la ejecucin de tareas pequeas sin tener que asignar una particin de gran tamao. Otra estrategia es fijar como regla que una tarea no se excluya ms de un nmero de veces fijado a priori por el SO.

16

17

Gestin de memoria

08/11/2010

4.2.2 Intercambio
Otro esquema en el uso de la memoria aparece con el concepto de intercambio (swapping). El intercambio hace referencia a las operaciones de eliminar de la memoria principal procesos suspendidos, llevarlos al disco y cargar del disco a la memoria principal procesos para su ejecucin.
18

Cuando el planificador decide admitir un nuevo proceso para el que no hay espacio, se puede invocar al intercambiador para liberar una particin. Entre las responsabilidades de intercambiador destacan:
La seleccin de los procesos que hay que eliminar de la memoria principal. La seleccin de los procesos que hay que cargar en la memoria principal. La asignacin y gestin del espacio de intercambio
19

La seleccin de los procesos en la memoria principal que hay que intercambiar se hace entre aquellos que ocupan particiones suficientemente grandes para los procesos que se les debe asignar espacio en memoria, considerndose cuestiones tales como:
Prioridad. Son ms aptos para intercambiar aquellos con baja prioridad. Estado de espera. Procesos que esperan sucesos lentos tienen una mayor probabilidad de ser suspendidos durante un tiempo suficientemente grande.
20

Tiempo de permanencia en memoria y si se ha ejecutado mientras ha estado en memoria. Si no hay peligro de estar eliminando procesos casi inmediatamente despus de cargarlos.

La eleccin de los procesos que hay sin cargar en la memoria principal se basan en los siguientes aspectos:
Tiempo que ha permanecido en memoria secundaria. Prioridad Satisfaccin del tiempo mnimo de residencia en disco desde la descarga.
21

Anda mungkin juga menyukai