You are on page 1of 12

ESCUELA SUPERIOR POLITCNICA DE CHIMBORAZO

FACULTAD DE INFORMTICA Y ELECTRNICA

TRABAJO DE SISTEMAS OPERATIVOS ASIGNACIN DE MEMORIA CON PAGINACIN SIMPLE INTEGRANTES: Alex Carrasco Byron Jimnez Leonardo Coronado Edison Bonilla TERCERO B

Objetivos: o Proveer una abstraccin simple de programacin o Proveer aislamiento entre procesos o Asignar memoria (limitada) a procesos que la requieren maximizando el rendimiento. Introduccin: Aadministracin de memoria es seguir la pista de qu partes de la memoria estn en uso y cules no lo estn, con el fin de poder asignar memoria a los procesos cuando la necesiten, y recuperar esa memoria cuando dejen de necesitarla. Caractersticas: o Las particiones son variables en nmero y longitud. o Cuando se carga un proceso en la memoria principal se le asigna exactamente tanta memoria como necesite.

Asignacin de memoria con paginacin simple Tanto las particiones estticas como las dinmicas hacen un uso ineficiente de la memoria; las primeras generan fragmentacin interna mientras que las segundas generan fragmentacin externa. Supongamos la memoria principal particionada en trozos iguales de tamao fijo relativamente pequeos y que cada proceso est dividido tambin en pequeos trozos de tamao fijo e igual a los de memoria. En tal caso, los trozos del proceso conocidos como Paginas pueden asignarse a los trozos libres de memoria conocidos como marcos o marcos de pgina.

Asignacin de memoria con paginacin simple; marcos y palabras

Supongamos que el proceso B termina su ejecucin y libera sus recursos de memoria. Entonces llega el proceso D que requiere 5 pginas de memoria. No hay ningn problema en asignarle los tres de B y dos del espacio libre. En este esquema la fragmentacin Interna constar solo de una fraccin del ltimo marco de pgina ocupado por el proceso y adems no existe fragmentacin externa puesto que siempre seremos capaces de aprovechar los huecos.

En los esquemas de particin de memoria basados en particiones fijas, las direcciones fsicas se obtenan sumando las virtuales a la direccin de carga del proceso. En el esquema de gestin de memoria con paginacin, sin embargo, ya no ser suficiente con un simple registr para la traduccin de direcciones. En su lugar, el SO mantiene una tabla de pginas para cada proceso. Cada una de estas tablas contiene una entrada por cada pgina del proceso por lo que se unirn de forma fcil mediante el numero de paginas comenzando siempre por la pagina 0. En cada entrada de la tabla de pginas se encuentra el nmero del marco de memoria que contiene la pgina correspondiente. Adems, el SO mantiene una lista de marcos libres con todos los marcos de memoria que actualmente estn vacos y disponibles para las pginas. Dentro del programa cada direccin lgica constara de un nmero de pagina y un desplazamiento dentro de la pagina y ser tambin el hardware del procesador el que se encargue de realizar la traduccin de direcciones lgicas a direcciones fsicas. Para aplicar convenientemente este esquema de paginacin, el tamao de pagina y, por tanto, el tamao de marco, deben ser una potencia de 2.En este caso, la direccin relativa

definida en relacin a la direccin de carga del proceso y la direccin lgica expresada como un nmero de pgina y un desplazamiento son las mismas.

Esquema hardware para la paginacin

Supongamos un sistema donde se emplean direcciones de 16 bits siendo el tamao de pgina de 1k palabras. Con este tamao de pgina se necesitan 10 bits para el campo de desplazamiento y los 6 restantes determinan el nmero de pgina. De esta forma, la capacidad total de la memoria es de 64 k palabras. Las consecuencias de utilizar un tamao de pgina potencia de 2 son las siguientes:

1. El esquema de direccionamiento lgico es transparente al programador, al montador y al ensamblador. Cada direccin lgica de un proceso ser, as, idntica a su direccin relativa. 2. Resulta relativamente sencillo realizar una funcin hardware para llevar a cabo la traduccin de direcciones dinmicas en tiempo de ejecucin. Consideramos una direccin de d = n +m bits en la que los n bits ms significativos corresponden al nmero de pagina y los m bits menos significativos corresponden al desplazamiento dentro de la pgina. Para la traduccin de direcciones hay que dar los siguientes pasos: a) Obtener el nmero de pgina a partir de los bits de la direccin lgica. b) Emplear ese nmero de pgina como ndice en la tabla de pginas del proceso para determinar el marco k en que se alberga la pagina. c) El comienzo de la direccin fsica del marco k ser k 2m y la direccin fsica de la palabra referenciada ser este

nmero ms el desplazamiento determinado por los m bits menos significativos de la direccin lgica. As pues, la paginacin simple tal como se ha descrito es similar a la utilizacin de particiones fijas de idntico tamao con la diferencia de que las particiones son ms pequeas, un proceso puede ocupar ms de una particin y las particiones correspondientes a un proceso no tienen por qu estar contiguas. A modo de resumen, mediante la paginacin simple, la memoria principal se divide en pequeos marcos del mismo tamao. Cada proceso se divide en pginas del tamao del marco. Cuando un proceso se carga en memoria, se cargan todas sus pginas en marcos libres y se rellena su tabla de pginas. A continuacin veremos el esquema hardware que permite realizar la traduccin de direcciones virtuales a fsicas. Asignacin de memoria con segmentacin simple En segmentacin, un programa y sus datos asociados se dividen en un conjunto de segmentos. No se impone que todos los segmentos de todos los programas tengan la misma longitud aunque s existe una

longitud mxima de segmento. Como en paginacin, una direccin lgica segmentada consta de dos partes: nmero de segmento y desplazamiento dentro del segmento. Como consecuencia del empleo de segmentos de distinto tamao, la segmentacin resulta similar al esquema de asignacin de memoria con particiones dinmicas. La diferencia con este radica en que con segmentacin un programa puede ocupar ms de una particin y estas no tiene por qu estar contiguas. La segmentacin elimina la fragmentacin interna pero sufre de fragmentacin externa, sin embargo, debido a que los procesos se dividen en un conjunto de partes ms pequeas la fragmentacin externa ser menor. Mientras que la paginacin es transparente al programador, la segmentacin es generalmente visible y se proporciona como una comodidad para la organizacin de programas y datos. Normalmente, el programador asigna los programas y datos a distintos segmentos. Otra consecuencia del tamao desigual de los segmentos es que no hay una correspondencia simple entre direcciones lgicas y direcciones fsicas. Un esquema de segmentacin har uso de una tabla de segmentos para cada proceso y una lista de bloques libres en memoria principal. Cada entrada de la tabla de segmento deber a contener la direccin de

comienzo del segmento correspondiente en memoria principal y tambin la longitud del mismo para asegurar el uso de direcciones validas. Cuando un proceso pasa al estado de ejecucin se carga la direccin de su tabla de segmentos en un registro especial del hardware de gestin de memoria. Considerando una direccin lgica formada por n + m bits, los n bits ms significativos indican el nmero de segmento mientras que los m bits restantes indicaran el desplazamiento. Para la traduccin de direcciones hay que dar los siguientes pasos: 1. Extraer el nmero de segmento de la n bits ms significativos de la direccin lgica. 2. Emplear ese nmero de segmento como ndice en la tabla de segmentos del proceso para determinar la direccin fsica de comienzo del segmento. 3. Comparar el desplazamiento expresado por los m bits menos significativos con la longitud del segmento. Si el desplazamiento es mayor que la longitud la direccin no es vlida. 4. La direccin fsica final ser la suma de la direccin fsica de comienzo de segmento ms el desplazamiento. _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _

Asignacin de memoria con segmentacin simple En este caso habr que sumar ya que cada segmento tendr tamao variable no ser obligatorio que comience en una potencia de 2.

Ventajas de la Paginacin simple o Fcil para asignar memoria fsica o Memoria fsica se administra usando una lista de marcos de pginas libres o Para asignar un marco de pgina, se saca de la lista

Desventajas de Paginacin simple o Expone Fragmentacin interna o El proceso no puede usar memoria de marco de pgina que le sobra a otro proceso

Conclusin: Administrar la memoria es una de las tareas ms complejas que lleva a cabo el sistema operativo. La memoria es un recurso importante que debe ser cuidadosamente gestionado. Sera excelente contar con una memoria infinitamente grande, rpida y que adems no perdiese su contenido en ausencia de energa elctrica, es decir que no fuese voltil. Pero ya que el ser humano an no puede contar con algunas de estas caractersticas se ha generado tcnicas capaces de administrar de una forma eficiente la memoria de nuestros ordenadores.

You might also like