ut01-gestion-memoria.doc

4
 UT01: GESTIÓN DE LA MEMORIA 1º ASIR ANTONIO J. LEÓN DELGADO 37313-ISO 1.1.- Introducción. La memoria es un recurso que hay que gestionar con sumo cuidado puesto que el comportamiento del sistema en su conjunto depende en gran medida de la administración del mismo. La misión del gestor de memoria es la asignación de memoria a los procesos que la soliciten. La gestión de la memoria varía si el sistema es monotarea (sólo se tiene un proceso cargado) o es multitarea (varios procesos cargados en memoria) 1.2.- Sistemas operativos de proceso único Es el esquema más simple. La memoria se divide en dos secciones: una para el proceso del usuario y otra para la parte del sistema operativo que debe estar residente en memoria. ólo se debe controlar que el  programa no alcance direcciones de memoria destinadas al sistema operativo. Monitor del sistema operativo Zona de procesos transitorios (sólo un proceso) 1.3.- Gestión de memoria con particiones estáticas. !na "orma de reali#ar la multiproramación consiste en dividir la memoria "ísica disponible en varias particiones y asignar cada una a un proceso. La división se reali#a con anterioridad a la ejecución de los programas de usuario. El n$mero y tama%o de las particiones se determinan teniendo en cuenta los "actores siguientes: & 'apacidad de la memoria disponible y el grado de multiprogramación deseado. & ama%os típicos de los procesos ejecutados más "recuentemente. parece el concepto de intercam!io (s*apping)+ que hace re"erencia 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 ejecución. Los procesos que se llevan a memoria secundaria se almacenan en el llamado arc"ivo de intercam!io. 1.3.1- Selección del tama#o de la partición$ %ramentación e denomina %ramentación de la memoria al desaprovechamiento de ,sta. E-isten dos tipos: nterna.& /emoria que no se está usando pero que es interna a una partición. E-terna+ que ocurre cuando una partición disponible no se emplea porque es muy peque%a para cualquiera de las tareas que esperan ser cargadas. En el esquema de particiones "ijas se puede producir "ragmentación interna y e-terna. Ejemplo: nicialmente disponemos de 0 particiones vacías. 1aso 23: llega p2 de 24 5b y es alojado en la de 67 5b. 1aso 63: llega p6 de 22 5b y es alojado en la de 28 5b. 2

Upload: rakall

Post on 17-Oct-2015

5 views

Category:

Documents


0 download

TRANSCRIPT

EVALUACIN DEL PROCESO ENSEANZA-APRENDIZAJE

UT01: gestin de la memoria

1 asirantonio j. len delgado37313-iso

1.1.- Introduccin.

La memoria es un recurso que hay que gestionar con sumo cuidado puesto que el comportamiento del sistema en su conjunto depende en gran medida de la administracin del mismo.

La misin del gestor de memoria es la asignacin de memoria a los procesos que la soliciten.

La gestin de la memoria vara si el sistema es monotarea (slo se tiene un proceso cargado) o es multitarea (varios procesos cargados en memoria)

1.2.- Sistemas operativos de proceso nico

Es el esquema ms simple. La memoria se divide en dos secciones: una para el proceso del usuario y otra para la parte del sistema operativo que debe estar residente en memoria. Slo se debe controlar que el programa no alcance direcciones de memoria destinadas al sistema operativo.

Monitor del sistema operativo

Zona de procesos transitorios (slo un proceso)

1.3.- Gestin de memoria con particiones estticas.

Una forma de realizar la multiprogramacin consiste en dividir la memoria fsica disponible en varias particiones y asignar cada una a un proceso. La divisin se realiza con anterioridad a la ejecucin de los programas de usuario. El nmero y tamao de las particiones se determinan teniendo en cuenta los factores siguientes:

- Capacidad de la memoria disponible y el grado de multiprogramacin deseado.

- Tamaos tpicos de los procesos ejecutados ms frecuentemente.

Aparece el concepto de intercambio (swapping), que 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. Los procesos que se llevan a memoria secundaria se almacenan en el llamado archivo de intercambio.

1.3.1- Seleccin del tamao de la particin: fragmentacin

Se denomina fragmentacin de la memoria al desaprovechamiento de sta. Existen dos tipos:

Interna.- Memoria que no se est usando pero que es interna a una particin.

Externa, que ocurre cuando una particin disponible no se emplea porque es muy pequea para cualquiera de las tareas que esperan ser cargadas.

En el esquema de particiones fijas se puede producir fragmentacin interna y externa.

Ejemplo:

Inicialmente disponemos de 3 particiones vacas.

Paso 1: llega p1 de 19 Kb y es alojado en la de 20 Kb.

Paso 2: llega p2 de 11 Kb y es alojado en la de 15 Kb.

Paso 3: llega p3 de 5 Kb y es alojado en la de 10 Kb.

Tenemos: fragmentacin interna de 10 Kb (1 Kb de p1, 4 Kb de p2 y 5 Kb de p3). En este ejemplo el grado de multiprogramacin es 3.

Memoria RAM (45 Kb.)

1.4.- Gestin de la memoria con particiones variables.

En este esquema, inicialmente toda la memoria est disponible y se considera como un gran bloque. Cuando llega una tarea se busca un bloque disponible suficientemente grande asignndosela en caso afirmativo. El resto de la memoria queda disponible. En este esquema se puede producir fragmentacin externa.

Ejemplo:

Inicialmente disponemos de 1 particin de 45 Kb.

Paso 1: llega p1 de 20 Kb y es alojado. Quedan 25 Kb libres.

Paso 2: llega p2 de 10 Kb y es alojado. Quedan 15 Kb libres.

Paso 3: llega p3 de 5 Kb y es alojado. Quedan 10 Kb libres.

Paso 4: Acaba p1 que libera 20 Kb y llega p4 de 25 Kb. Tenemos 30 Kb libres pero al no estar contigua no se puede cargar: fragmentacin externa. La solucin sera compactar la memoria juntando los huecos libres en una nica particin, pero se trata de un proceso lento. La solucin es la paginacin que la veremos en la siguiente pregunta.

Memoria RAM (45 Kb)

45 Kb libres

P1 de 20 kbP1 de 20 Kb

P1 de 20 Kb20 kb libres

25 Kb libresP2 de 10 KbP2 de 10 KbP2 de 10 Kb

15 Kb libresP3 de 5 KbP3 de 5 Kb

10 Kb libres10 Kb libres

1.5.- Paginacin.

Los dos anteriores mtodos obligaban al proceso a cargarse en zonas consecutivas de memoria. La paginacin permite cargar un programa en memoria siempre que disponga de espacio, aunque ste no sea adyacente. Previamente, se divide al proceso en partes llamadas pginas y a la memoria RAM en otras del mismo tamao llamadas marcos de pgina.

1.6.- Memoria virtual.

Hasta ahora, los sistemas de gestin de la memoria suponen que el proceso a ejecutar se carga por completo en memoria. La idea de permitir la ejecucin de procesos que puedan no estar cargados completamente en memoria e incluso sus tamaos superen a la memoria fsica disponible da lugar al concepto de memoria virtual. El sistema operativo mantiene en la memoria principal aquella parte del proceso que se utiliza en cada momento y el resto permanece en el disco.

La realizacin de la memoria virtual puede determinar el rendimiento de un sistema informtico y hay que tener cuidado. Normalmente, la tcnica de la memoria virtual se mezcla con la paginacin.

El sistema operativo lleva a cabo la gestin de la memoria virtual segn unos determinados algoritmos. Nosotros slo veremos dos: FIFO y LRU.

Ejemplo:

Se dispone de un s.o. con gestin de memoria por demanda de pgina. La asignacin se hace con cuatro marcos de pgina. Se pide:

Calcular los fallos de pgina que se producen con los algoritmos FIFO y LRU para la siguiente cadena de referencia: 7, 5, 6, 1, 0, 8, 3, 4, 3, 3, 1, 2, 8, 6, 2, 3, 5, 3 y 4.

Inicio7561083433128623534TOTAL

-7561083444128663554

--756108333412886335

---75610888341228663

----7561000834112886

Fallosxxxxxxxxxxxxxxx15

Inicio7561083433128623534TOTAL

-

-

-

-

Fallos

20 kbP1 P1p115 Kb15 KbP2p210 Kb10 kb10 KbP3

4