Sunteți pe pagina 1din 29

UNIDAD 3 ADMINISTRACIN DE MEMORIA. La parte del S. O.

que administra la memoria se llama administrador de la memoria: Lleva un registro de las partes de memoria que se estn utilizando y de aquellas que no. Asigna espacio en memoria a los procesos cuando estos la necesitan. Libera espacio de memoria asignada a procesos que han terminado.

La memoria principal es un recurso costoso, por lo que su uso debe optimizarse.

3.1 POLTICA Y FILOSOFA.


POLTICAS.: Organizacin de la memoria.- Forma de considerar este almacenamiento: se coloca un solo programa de usuario o varios? Si se encuentran varios programas de usuario: o se les concede la misma cantidad de espacio o particiones de diferente tamao? o se usa un esquema rgido de nmero y tamao de particiones o un esquema dinmico y adaptable? o se requiere que los trabajos funcionen en una particin especfica o en cualquiera donde quepan? o se requerir o no que cada trabajo sea colocado en un bloque contiguo de memoria?

Independiente del esquema de organizacin hay que decidir las estrategias que se usarn para optimizar el rendimiento. Las estrategias de administracin deben considerar: cmo se consigue un nuevo programa para colocar en la memoria: cuando el sistema lo pide o intenta anticiparse a las peticiones? dnde se colocar el programa que se ejecutar a continuacin: se prioriza el tiempo de carga o la optimizacin en el uso de la memoria? con qu criterio se desplazarn programas?

FILOSOFA: La memoria principal puede ser considerada como un arreglo lineal de localidades de almacenamiento de un byte de tamao. Cada localidad de almacenamiento tiene asignada una direccin que la identifica. Una de las funciones bsicas que debe implementar un SO es la Administracin de la Memoria para tener un control sobre los lugares donde estn almacenados los procesos y datos que actualmente se estn utilizando. Sea cual sea el esquema de organizacin del almacenamiento que se adopte para un sistema especfico, es necesario decidir qu estrategias se deben utilizar para obtener un rendimiento ptimo. Las estrategias de administracin del almacenamiento determinan el comportamiento de la administracin de memoria cuando se siguen ciertas polticas: Cundo se toma un nuevo programa para colocarlo en memoria? Se toma el programa cuando el sistema lo solicita especficamente o intenta anticiparse a las peticiones del sistema? En qu lugar del almacenamiento principal se coloca el programa por ejecutar? Se colocan los programas lo ms cerca unos de otros en los espacios disponibles de la memoria principal para reducir al mnimo el desperdicio de espacio, o se colocan los programas lo ms rpido posible para reducir al mnimo el tiempo de ejecucin? Si se necesita colocar un nuevo programa en el almacenamiento principal y ste est lleno, Cul de los otros programas se desaloja?

Se han realizado sistemas que utilizan cada una de estas estrategias de administracin. Los programas y datos necesitan estar en el almacenamiento principal para ser ejecutados o para poder hacer referencia de ellos. Los que no se necesitan de inmediato pueden guardarse en el almacenamiento secundario. Por ejemplo el caso de Unix permite procesos mltiples y un proceso puede generar otro fcilmente. La planificacin del procesador usa un algoritmo basado en prioridades. La administracin de memoria es un algoritmo de regiones variables con intercambios. Inicialmente los algoritmos realizados se eligieron por sencillez, no por velocidad ni complejidad. El desarrollo inicial se hizo bajo un espacio muy pequeo de memoria.

Los recursos de memoria totales eran insuficientes para justificar algoritmos complejos, por lo que UNIX intercambiaba el contenido en memoria de los procesos.

3.2 MEMORIA REAL.


La memoria real es la cantidad de memoria principal con que cuenta un equipo Memoria secundaria auxiliar.- la soportada generalmente en discos. Para que un programa pueda ser ejecutado, l y sus datos deben estar en memoria principal. Para mejorar el rendimiento del CPU se pueden repartir sus servicios entre varios programas que necesitan estar cargados simultneamente en memoria compartindola. La memoria real o principal se considera el recurso central, ya que tanto el cpu como los dispositivos e/s la acceden para leer o grabar.

Hay 2 parmetros relacionados con la velocidad de r/w ( r/w = lectura / escritura) en memoria real: Tiempo de acceso. Tiempo de ciclo de memoria. Tiempo que transcurre del inicio al fin de una operacin r/w. Retraso que impone el hardware entre una operacin y otra.

REMARCANDO La memoria real o principal es en donde son ejecutados los programas y procesos de una computadora y es el espacio real que existe en memoria para que se ejecuten los procesos. Por lo general esta memoria es de mayor costo que la memoria secundaria, pero el acceso a la informacin contenida en ella es de ms rpido acceso. Solo la memoria cache es ms rpida que la principal, pero su costo es a su vez mayor.

3.2.1 ADMINISTRACIN DE ALMACENAMIENTO. Antes de administrar el almacenamiento, primero es necesario entender el hardware en el que estn almacenados los datos. A menos que posea un algn conocimiento sobre la operacin de los dispositivos de almacenamiento masivo, quizs se encuentre en una situacin donde tenga un problema relacionado al almacenamiento pero le falte el conocimiento de fondo para si quiera entender lo que ve. Al tener un entendimiento sobre la forma en que opera el hardware subyacente, podr ms fcilmente determinar si el subsistema de almacenamiento de su computador est funcionando correctamente. Para administrar el almacenamiento tomamos en cuenta: Direccionamiento La memoria se puede ver como una sucesin de bytes, cada uno con su direccin y se puede acceder a ellos indicando dicha direccin.

Asignacin de direcciones En qu direcciones cargar los datos y programas? El programador disea su programa sin saber dnde se cargar. Simplemente definir una sentencia de inicio que marcar el comienzo de sus instrucciones y a partir de ella describir el resto del programa. El compilador traducir a lenguaje mquina y asignar a las instrucciones y variables un desplazamiento respecto a la sentencia

inicial (cero relativo). Esta operacin se llama asignacin de direcciones relativas. Cuando el programa se enlaza, el linker lo colocar en memoria asignando el cero relativo a una direccin real y el resto de direcciones basadas en los desplazamientos (Transformacin de direcciones relativas a absolutas o reales)

3.2.2 JERARQUA. Se conoce como jerarqua de memoria a la organizacin piramidal de la memoria en niveles que tienen los organizadores. Nivel 0: Registros Nivel 1: Memoria cach Nivel 2: Memoria principal Nivel 3: Disco duro (con el mecanismo de memoria virtual) Registro.- memoria de alta velocidad y poca capacidad, integrada en el cpu, que permite guardar y acceder a valores muy usados, generalmente en operaciones matemticas. Estn en la cumbre de la jerarqua de memoria, y son la manera ms rpida que tiene el sistema de almacenar datos. Se miden generalmente por el nmero de bits que almacenan; "registro de 8 bits" o "registro de 32 bits". Se implementan en un banco de registros.

Los CPUs tienen adems otros registros usados con un propsito especifico, como el contador de programa. Memoria cach.- tipo especial de memoria que se sita entre el cpu y la RAM para almacenar datos que se usan frecuentemente. Agiliza la transmisin de datos entre el CPU y la memoria principal. Es de acceso directo y mucho ms rpida que la RAM. Memoria principal.- Son circuitos integrados capaces de almacenar informacin digital, a los que tiene acceso el CPU. Poseen una menor capacidad de almacenamiento que la memoria secundaria, pero una velocidad millones de veces superior. Hay dos tipos: ROM (Read Only Memory) Almacenan cdigos de programa "Memoria de solo lectura" grabados de fbrica. (BIOS) RAM (Random Access Memory) Almacena datos que pueden ser "Memoria de acceso aleatorio" escritos y borrados atendiendo a los procesos de computacin. "Aleatorio" indica que sus localidades pueden ser accedidas directamente, dando rapidez a los procesos. El CPU direcciona las posiciones de la RAM para poder acceder a los datos almacenados en ellas y para colocar los resultados de las operaciones. Memoria secundaria.- dispositivo encargado de almacenar informacin de forma permanente.

Los programas y datos deben estar en memoria principal para poder ejecutarse o ser referenciados. Los programas y datos que no son necesarios de inmediato pueden mantenerse en memoria secundaria. 3.2.3 ESTRATEGIA DE ADMINISTRACION DE MEMORIA Estrategias de Administracin del Almacenamiento Estn orientados a adquirir una mejor utilizacin posible del recurso del almacenamiento principal. Se dividen en las siguientes categoras: Estrategias de bsqueda:

o Estrategias de bsqueda por demanda. o Estrategias de bsqueda anticipada. Estrategias de colocacin. Estrategias de reposicin.

Las estrategias de bsqueda estn vinculadas con el hecho de cundo conseguir el posterior fragmento de programa o de datos para su introduccin en la memoria principal. En la bsqueda por demanda el posterior fragmento de programa o de datos se introduce al almacenamiento principal cuando algn programa en ejecucin lo menciona. Se piensa que la bsqueda anticipada puede generar un buen rendimiento del sistema. Las estrategias de colocacin estn vinculadas con la determinacin del lugar de la memoria donde se acomodara o cargar un programa nuevo. Las estrategias de reposicin estn vinculadas con la determinacin de qu fragmento de programa o de datos desplazar para dar lugar a los nuevos programas. 3.2.4 ASIGNACIN CONTIGUA V.S. NO CONTIGUA En la asignacin contigua cada uno de los programas ocupa un bloque contiguo y sencillo de localizaciones de almacenamiento.

Asignacin contigua de almacenamiento Se consideran S. O. que ya poseen desarrollado el

de

un

solo

usuario

sistema de control de entrada / salida: IOCS: input / output control system (ver Figura 3.2.4.1):

En base a la cantidad de memoria principal es como est limitado el tamao de los programas pero este lmite se puede superar con tcnicas de recubrimientos, con las siguientes caractersticas.

Si ya no es necesaria una seccin particular del programa, entonces desde el almacenamiento secundario se carga otra seccin ocupando el espacio de memoria que es liberada por la seccin que ya no se necesita. La administracin manual por programa del recubrimiento es complicada y dificulta el desarrollo y el mantenimiento.

En la asignacin no contigua un programa puede almacenarse en direcciones que no necesariamente tiene que ser adyacentes y tienden a dividirse en varios bloques o segmentos, por eso se dice que es un poco ms complicado pero ms eficaz en comparacin que la asignacin continua. (Ver figura 3.2.4.3)

3.2.5 MULTIPROGRAMACIN DE PARTICIN FIJA, PARTICON VARIABLE, CON INTERCAMBIO DE ALMACENAMIENTO. Multiprogramacin de Particin Fija. Desperdician un gran nmero de recursos computacionales los sistemas de un solo usuario y se debe a que:

En el momento que ocurre una solicitud de e / s la cpu normalmente no puede seguir el proceso hasta que termine la operacin deseada de e / s. La cpu es varios ordenes de magnitud ms rpida que los dispositivos de e / s por lo que llevan a que los perifricos de e / s frenen la ejecucin de los procesos. (Ver figura 3.2.5.1)

Figura 3.2.5.1 Los sistemas de multiprogramacin aceptan que varios procesos usuarios luchen al mismo tiempo por los recursos del sistema:

Un trabajo en espera de e / s ceder la cpu a otro trabajo que est listo para efectuar cmputos. Existe paralelismo entre el procesamiento y la e / s. Se incrementa la utilizacin de la cpu y la capacidad global de ejecucin del sistema. Es necesario que varios trabajos residan a la vez en la memoria principal. y Carga Absolutas.

Multiprogramacin de Particin Fija: Traduccin Las particiones del almacenamiento principal:


Son de tamao fijo. Alojan un proceso cada una. La cpu se cambia rpidamente entre los procesos creando la ilusin de simultaneidad.

Los trabajos se traducan con ensambladores y compiladores absolutos para ser ejecutados solo dentro de una particin especifica.(Ver figura 3.2.5.2)

10

Figura 3.2.5.2 El S. O. resulta de implementacin relativamente sencilla pero no se optimiza la utilizacin de la memoria. Multiprogramacin de Particin Fija: Traduccin y Carga Relocalizables. Los compiladores, ensambladores y cargadores de relocalizacion (Ver figura 3.2.5.3):

Se usan para producir programas relocalizables que puedan ser ejecutados en cualquier particin disponible de tamao suficiente para aceptarlos. Son ms complejos que los absolutos. Mejoran la utilizacin del almacenamiento. Confieren ms flexibilidad en el armado de la carga de procesos.

Figura 3.2.5.3

11

Proteccin en los Sistemas de Multiprogramacin Si se utiliza asignacin contigua de memoria la proteccin suele implementarse con varios registros de lmites (Ver figura 3.2.5.4 y figura 3.2.5.5) Los extremos superior e inferior de una particin pueden ser:

Delineados con dos registros. Indicados el limite inferior o superior y el tamao de la particin o regin.

Figura 3.2.5.5 Fragmentacin en la Multiprogramacin de Particin Fija. La fragmentacin de almacenamiento independientemente de su organizacin de memoria ocurre en todos los sistemas. En los S. O. de multiprogramacin de particin fija la fragmentacin se produce cuando:

Los trabajos del usuario no llenan completamente sus particiones designadas. Una particin permanece sin usar porque es demasiado pequea para alojar un trabajo que est en espera.

12

Multiprogramacin de Particin Variable. Los procesos no deben superar el espacio disponible de memoria, pero ocupan tanto espacio como necesitan. (Ver figura 3.2.5.6)

Figura 3.2.5.6 La particin de un trabajo es su propio tamao, es decir no hay lmites fijos de memoria. Se consideran esquemas de asignacin contigua, dado que un programa debe ocupar posiciones adyacentes de almacenamiento. Los procesos que terminan dejan disponibles espacios de memoria principal llamados agujeros:

Pueden ser usados por otros trabajos que cuando finalizan dejan otros agujeros menores. En sucesivos pasos los agujeros son cada vez ms numerosos pero ms pequeos, por lo que se genera un desperdicio de memoria principal.

Combinacin de agujeros (reas libres). Consiste en fusionar agujeros adyacentes para formar uno sencillo ms grande. Se puede hacer cuando un trabajo termina y el almacenamiento que libera tiene lmites con otros agujeros.

13

Multiprogramacin con Intercambio de Almacenamiento

En el esquema de intercambio los programas del usuario no necesariamente se requieren permanecer en la memoria principal hasta su terminacin. Cuando un trabajo se ejecuta hasta que ya no puede continuar en eso consiste una variable:

Cede el almacenamiento y la cpu al siguiente trabajo. La totalidad del almacenamiento se dedica a un trabajo durante un breve periodo de tiempo. Los trabajos son intercambiados, dndose que un trabajo puede ser intercambiado varias veces antes de llegar a su terminacin.

Es un esquema razonable y eficaz para un nmero relativamente reducido de procesos de usuarios. Los sistemas de intercambio fueron los predecesores de los sistemas de paginacin. El rendimiento de los sistemas de intercambio mejora al reducir el tiempo de intercambio:

Manteniendo al mismo tiempo varias imgenes de usuario o imgenes de memoria en la memoria principal. Retirando una imagen de usuario de la memoria principal solo cuando es necesario su almacenamiento para una nueva imagen. Incrementando la cantidad de memoria principal disponible en el sistema.

Las imgenes de usuario (imgenes de memoria) retiradas del almacenamiento principal se graban en el almacenamiento secundario (discos).

14

3.3.-ORGANIZACION DE LA MEMORIA VIRTUAL Memoria Virtual La memoria virtual es una tcnica para proporcionar la simulacin de un espacio de memoria mucho mayor que la memoria fsica de una maquina. Esta ilusin permite que los programas se hagan sin tener en cuenta el tamao exacto de la memoria fsica. La memoria virtual ha llegado a ser un componente esencial de la mayora de los S.O actuales. Y como en un instante dado, en la memoria solo se tienen unos pocos fragmentos de un proceso dado, se pueden mantener mas procesos en la memoria. La memoria virtual tambin simplifica la carga del programa para su ejecucin llamado reubicacin, este procedimiento permite que el mismo programa se ejecute en cualquier posicin de la memoria fsica COMO HAGO PARA AUMENTAR LA MEMORIA VIRTUAL DE MI PC? Te dar una serie de pasos con imgenes para que las vayas siguiendo. 1) Abrimos nuestro Explorador de Windows, en donde dice MI PC hacemos clicl derecho del mouse y vamos a donde dice PROPIEDADES como lo indica la 1er Imgen.

15

2) una vez dentro de propiedades nos dirigimos a la solapa que dice "opciones avanzadas", dentro de la misma ventana observamos que nos da la posibilidad de editar 3 items, el que a nosotros nos interesa es el de rendimiento, le damos clic en donde dice configuracion, y nos abre una nueva ventana como la que vemos a continuacin en donde ingresaremos en opciones avanzadas de nuevo y al final donde dice cambiar. 3) En esta etapa prestemos atencin a lo que hacemos asi no nos confundimos, normalmente las PC puede ser que como muestra la figura de abajo esten utilizando TAMAO ADMINISTRADO POR EL SISTEMA. Esto es lo mas recomendable dado que hay algunos anti-virus, programas que te utilizan mas de lo normal de la Memoria Virtual de tu PC.

Depende la capacidad de tu disco duro es el espacio que te aparece enfrente un ejemplo como este de mi pc tiene 77951MB, bien en el cuadro de TAMAO INICIAL ponemos un numero que no rebase los 2000 y en TAMAO FINAL ponemos otra cantidad que no rebase los 4000, pero el tamao inicial tiene que ser menor que el Tamao final. Si te PC te marca una memoria de 26000MB mas o menos, te recomiendo que en el cuadro de TAMAO INICIAL pongas un numero que no rebase los 1000 y en TAMAO FINAL pongas otra cantidad que no rebase los 2000. Luego de todos los cambios le damos abajo en donde dice ESTABLECER pulsas aceptar en todos los paneles que estan abiertos y reinicias tu ordenador y listo has aumentado la memoria virtual.

16

3.3.1 EVALUACIN DE LAS ORGANIZACIONES DE ALMACENAMIENTO. Almacenamiento virtual "significa la capacidad de direccional un espacio de almacenamiento mucho mayor que el disponible en el almacenamiento primario de determinado sistema de computacin. Esta tecnologa apareci en 1960 en la Universidad de Manchester (Inglaterra), en el sistema Atlas. Los mtodos ms comunes de implementacin son mediante:

Tcnicas de paginacin. Tcnicas de segmentacin. Una combinacin de ambas tcnicas.

Las direcciones generadas por los programas en su ejecucin no son, necesariamente, aquellas contenidas en el almacenamiento primario (memoria real), ya que las direcciones virtuales suelen seleccionarse dentro de un numero mucho mayor de direcciones que las disponibles dentro del almacenamiento primario. La evolucin en las organizaciones de almacenamiento puede resumirse como sigue: Real:

Sistemas dedicados a un solo usuario. Real: Sistemas de multiprogramacin en memoria real: Multiprogramacin en particin fija: Absoluta. Relocalizable (reubicadle). Multiprogramacin en particin variable. Virtual: Multiprogramacin en almacenamiento virtual: Paginacin pura.

17

Segmentacin pura. Combinacin paginacin / segmentacin.

3.3.2.-PAGINACIN El termino memoria virtual se asocia normalmente con sistemas que emplean paginacin, aunque tambin se puede usar memoria virtual basada en la segmentacin. El uso de la paginacin en la memoria virtual fue presentado por primera vez en el computador Atlas. Cada proceso tiene su propia tabla de pginas y cuando carga todas sus pginas en la o memoria principal. Puesto que solo algunas de las pginas de un proceso pueden estar en la memoria principal, se necesita un bit en cada entrada de la tabla para indicar si la pgina perteneciente est presente en la memoria principal o no. Si el bit indica que la pagina est en la memoria, la entrada incluye tambin el nmero de marco para esa pgina. Otro bit de control necesario en la entrada de la tabla de pginas es el bit de modificacin (M), para indicar si el contenido de la pgina correspondiente se ha alterado desde que la pgina se cargo en la memoria principal. Si no ha habido cambios, no es necesario escribir la pgina cuando sea sustituida en el marco que ocupa actualmente. Estructura de la tabla de pginas El mecanismo bsico de lectura de una palabra de la memoria supone la traduccin por medio de la tabla de pginas de una direccin virtual o lgica (ver figura 3.3.2.1 y 3.3.2.2), formada por un nmero de pagina y un desplazamiento, a una direccin fsica que est formada por un numero de marco y un desplazamiento. Con la memoria virtual, la CPU produce direcciones virtuales que son traducidas por una combinacin de hardware y software a direcciones fsicas, pues pueden ser utilizadas para acceder a memoria principal. Este proceso se denomina correspondencia de memoria o traduccin de direcciones. Actualmente los dos niveles de la jerarqua de memoria controlados por la memoria virtual son las DRAM y los Discos magnticos. Puesto que la tabla de pginas es de longitud variable, en funcin del tamao del proceso, no es posible suponer que quepa en los registros. Implicaciones de la memoria virtual La segmentacin permite al programador contemplar la memoria como si constara de

18

varios espacios de direcciones o segmentos. Los segmentos pueden ser de distintos tamaos, incluso de forma dinmica. Las referencias a la memoria constan de una direccin de la forma (numero de segmento, desplazamiento). Esta organizacin ofrece al programador varias ventajas sobre un espacio de direcciones no segmentado: 1. Simplifica la gestin de estructuras de datos crecientes. Si el programador no conoce a priori cuan larga puede llegar a ser una estructura de datos determinada, es necesario suponerlo a menos que se permitan tamaos de segmentos dinmicos. Con memoria virtual segmentada, a la estructura de datos se le puede asignar a su propio segmento y el S.O expandir o reducir el segmento cuando se necesite. 2. Permite modificar y recopilar los programas independientemente, sin que sea necesario recopilar o volver a montar el conjunto de programas por completo. 3. Se presta a la comparicin entre procesos. Un programador puede situar un programa de utilidades o una tabla de datos en un segmento que puede ser referenciado por otros procesos. 4. Se presta a la proteccin. Puesto que un segmento puede ser construido para albergar un conjunto de procedimientos y datos bien definido, el programador o el administrador del sistema podrn asignar los permisos de acceso de la forma adecuada. 3.3.3.-SEGMENTACIN En el estudio de la segmentacin simple, se llego a la conclusin de que cada proceso tiene su propia tabla de segmento y que, cuando todos los segmentos se encuentran en la memoria principal, la tabla de segmentos del proceso se crea y se carga en la memoria. Cada entrada de la tabla contiene la direccin de comienzo del segmento correspondiente de la memoria principal, as como su longitud. La misma estructura se necesitara al hablar de un esquema de memoria virtual basado en la segmentacin donde las entradas de la tabla de segmentos pasan a ser ms complejas. Puesto que solo algunos de los segmentos de un proceso estarn en la memoria principal, se necesita un bit en cada entrada de la tabla de segmentos para indicar si el segmento correspondiente est presente en la memoria principal. Si el bit indica que el segmento est en la memoria, la entrada incluye tambin la direccin de comienzo y la longitud del segmento. Otro bit de control necesario en la entrada de la tabla de segmentos es un bit de modificacin que indique si el contenido del segmento correspondiente ha sido modificado desde que se cargo por ltima vez en la memoria principal. Si no ha habido cambios, no ser necesario escribir en el disco el segmento cuando llegue el momento de reemplazarlo en el espacio que ocupa actualmente.

19

3.3.4 SISTEMA DE PAGINACION / SEGMENTACION

La paginacin y la segmentacin puras son mtodos de manejo de memoria bastante efectivos; la mayora de los sistemas operativos modernos implantan esquemas combinados, esto significa, combinan la paginacin y la segmentacin. El combinar estos esquemas se debe a que de esta manera se aprovechan los conceptos de la divisin lgica de los programas (segmentos) con la granularidad de las pginas. De esta manera, un proceso estar repartido en la memoria real en pequeas unidades (paginas) cuya liga son los segmentos. Tambin es posible as el compartir segmentos a medida que las partes necesitadas de los mismos se van reverenciando (paginas). Para comprender este esquema, nuevamente se ver como se traduce una direccin virtual en una localidad de memoria real. Para la paginacin y segmentacin puras se puede decir que el direccionamiento es `bidimensional' (ms de una dimensin) porque se necesitan dos valores para hallar la direccin real. Para el caso combinado, se puede decir que se tiene un direccionamiento `tridimensional'(ms de dos dimensiones). El sistema debe contar con una tabla de procesos (TP) (Ver figura). Por cada rengln de esa tabla se tiene un nmero de proceso y una direccin a una tabla de segmentos. Es decir, cada proceso tiene una tabla de segmentos. Cuando un proceso hace alguna referencia a memoria, se consulta TP para encontrar la tabla de segmentos de ese proceso. En cada tabla de segmentos de proceso (TSP) se tienen los nmeros de los segmentos que componen a ese proceso. Por cada segmento se tiene una direccin a una tabla de pginas. Cada tabla de pginas tiene las direcciones de las pginas que componen a un solo segmento. Por ejemplo, el segmento `A' puede estar formado por las paginas reales `a','b','c','p' y `x'. El

20

segmento `B' puede estar compuesto de las paginas `f','g','j','w' y `z'. Otro aspecto importante es la estrategia para cargar pginas (o segmentos) a la memoria RAM. Se usan ms comnmente dos estrategias: cargado de pginas por demanda y cargado de pginas anticipada. La estrategia de cargado por demanda consiste en que las pginas solamente son llevadas a RAM si fueron solicitadas, es decir, si se hizo referencia a una direccin que cae dentro de ellas. La carga anticipada consiste en tratar de adivinar que paginas sern solicitadas en el futuro inmediato y cargarlas de antemano, para que cuando se pidan ya no ocurran fallos de pagina. Ese `adivinar' puede ser que se aproveche el fenmeno de localidad y que las paginas que se cargan por anticipado sean aquellas que contienen direcciones contiguas a la direccin que se acaba de refenciar. De hecho, el sistema operativo VMS usa un esquema combinado para cargar pginas: cuando se hace referencia a una direccin cuya pgina no est en RAM, se provoca un fallo de pgina y se carga esa pgina junto con algunas pginas adyacentes. En este caso la pgina solicitada se cargo por demanda y las adyacentes se cargaron por anticipacin. 3.4.-ADMINISTRACION DE MEMORIA VIRTUAL Es una tcnica mediante el cual, un sistema operativo simula tener ms memoria principal que la que tiene fsicamente. Para implementar la memoria virtual se utiliza un medio de almacenamiento secundario de alta velocidad de acceso, generalmente en el disco duro de la maquina. Un sistema de memoria virtual se implementa utilizando paginacin como mtodo de administracin de memoria bsica y algn mecanismo de intercambio (para descargar paginas de la memoria principal hacia el disco duro y para cargar esas pginas de nuevo a la memoria). La memoria virtual es una tcnica para proporcionar la simulacin de un espacio de memoria mucho mayor que la memoria fsica de una maquina. Esta ilusin permite que los programas se hagan sin tener en cuenta el tamao exacto de la memoria fsica. La ilusin de la memoria virtual esta soportada por el mecanismo de traduccin de memoria, junto con una gran cantidad de almacenamiento rpido en disco duro. As en cualquier momento el espacio de direcciones virtual hace un seguimiento de tal forma que una pequea parte de l, est en memoria real y el resto almacenado en el disco duro, y puede ser referenciado fcilmente.

21

3.4.1.-ESTRATEGIAS DE ADMINISTRACION

3.3.2 TCNICAS DE REEMPLAZO DE PGINAS. Estrategias de reemplazo de pgina: Las rutinas de administracin de almacenamiento del Sistema operativo deben decidir que pgina del almacenamiento primario se debe desplazar para dejar espacio a una pgina entrante (Ah71). Principio de Optimalidad: Para obtener un rendimiento ptimo, la pgina que se debe sustituir es aquella que tardar ms tiempo en ser utilizada. Reemplazo de Pginas aleatorio: Esta estrategia podra seleccionar cualquier pgina para ser sustituida, incluyendo la siguiente pgina la que se har referencia. Las decisiones de reemplazo aleatorio de pginas se pueden tomar rpidamente y con un nmero significativo de marcos de pgina. Es un esquema que casi no se utiliza por su enfoque aleatorio de acertar o errar.

22

Reemplazo

de

pginas

de

primeras

entradas-primeras

salidas

(PEPS): Cada pgina se registra en el instante que entr en el almacenamiento primario. Cuando se necesita reemplazar una pgina, se escoge la que ha permanecido en el almacenamiento durante el mayor tiempo. Anomalas PEPS: Belady, Nelson y Shelder descubrieron que al utilizar el reemplazo de pginas PEPS, ciertos patrones de referencia a pgina originan ms fallas de pginas cuando aumenta el nmero de marcos de pgina asignados a un proceso. Cuando el proceso se ejecuta en cuatro pginas, experimenta una falla de pgina ms que cuando se ejecuta con tres. Reemplazo de pginas del menos reciente utilizada: Se selecciona para su sustitucin, a aquella pgina que no se ha sido utilizada durante mayor tiempo. La estrategia se basa en que la heurstica de localidad segn en el cual el pasado reciente es un buen indicador del futuro cercano, de modo que LRU exige que se marque cada pgina con el instante en que .se hace referencia a ella. Por el trabajo adicional que requiere no se usa a menudo en los sistemas actuales; lo que se hace es utilizar estrategias que ese aproximen a la LRU y que no ocasionen grandes costos. Reemplazo de pginas de la menos frecuentemente utilizada (LFU): La pgina por remplazar es aquella que ha sido utilizada menos frecuentemente o a la que se ha hecho referencia con menos frecuencia. Al parecer estos esquemas de reemplazo de pginas corren cierto riesgo de tomar decisiones equivocadas. Esto sucede por el simple hecho de que no se puede predecir con precisin el futuro. Reemplazo de pginas de la no utilizada recientemente (NUR): Como es deseable reemplazar una pgina que no estaba en el almacenamiento primario, la estrategia NUR se lleva a la prctica con la adicin dedos bits de hardware por pgina. Esos bits son:

Bit de Referencia = O si no se ha hecho referencia a la pgina = 1 se ha hecho regencia a la pgina, Bit de Modificacin = O si la pgina no ha sido modificada = 1 si la pgina ha sido modificada.

23

El bit de modificacin se denomina a menudo Bit sucio. La estrategia NUR trabaja: Inicialmente, los bits de referencias de todas las pginas valen cero. Cuando ocurre una referencia a una pgina, su bit de referencia toma el nmero uno. Cuando se va a reemplazar una pgina a la que no se ha hecho referencia .Si una pgina no ha sido objeto de una referencia se comprueba si ha sido modificada. Si lo ha sido se reemplaza. Pues requiere menos trabajo que el reemplazo de una pgina modificada, la cual debe escribirse en el almacenamiento secundario. De otro modo hay que reemplazar una pgina modificada. Los bits de referencia de las pginas activas cambiarn a 1 casi de inmediato. Segn se ha descrito el esquema NUR origina la existencia de cuatro grupos de pginas: Grupo 1 Grupo 2 Grupo 3 Grupo 4 sin referencia sin referencia con referencia con referencia no modificado modificado no modificado modificado

Las pginas de los dos primeros grupos se reemplazarn primero, y las de los ltimos grupos, al final. Las pginas de un grupo se seleccionan aleatoriamente para ser reemplazadas. Obsrvese que el grupo 2 parece describir una situaci6n irreal en la que las pginas han sido modificadas, pero no se ha hecho referencia a ellas; sin embargo, esto es una consecuencia simple de la reiniciacin peridica de los bits de referencia (pero no de los bits de modificaci6n) y es perfectamente razonable. Modificaciones de PEPS; reemplazo de pginas por reloj y reemplazo de pginas con segunda oportunidad: La estrategia PEPS puede decidir reemplazar una pgina muy utilizada que ha permanecido en memoria durante mucho tiempo. Esta posibilidad se puede evitar reemplazando slo aquellas pginas cuyos bits de referencia valgan O. 3.4.3 PAGINACIN POR DEMANDA Un sistema de paginacin por demanda es similar a un sistema de paginacin con intercambios. Los procesos residen en memoria secundaria (en el disco). Cuando queremos ejecutar un proceso, lo metemos en memoria. Sin embargo, en vez de intercambiar todo el proceso hacia la memoria, utilizamos un intercambiador perezoso. Un intercambiador perezoso nunca reincorpora una pgina

24

a memoria a menos que se necesite. Como ahora consideramos un proceso como una secuencia de pginas, en vez de un gran espacio contiguo de direcciones, el trmino intercambio es tcnicamente incorrecto. Un intercambiador manipula procesos enteros, mientras que un paginador trata con las pginas individualmente de un proceso.

La paginacin por demanda garantiza que las nicas pginas que se transfieren al almacenamiento principal son aquellas que requieren los procesos. El trabajo extra requerido para decidir cuales pginas se deben transferir al almacenamiento principal es mnimo. Las estrategias de obtencin anticipada de pginas G pueden requerir mucho tiempo de ejecucin adicional.

3.4.4 PAGINACION ANTICIPADA En la paginacin anticipada, el sistema operativo intenta predecir las pginas que necesitara un proceso y entonces carga dichas cuando hay espacio disponible. Mientras el proceso se ejecuta con sus pginas actuales, el sistema carga las dems pginas que estarn disponibles cuando las requiera el proceso. El S. O. intenta predecir las pginas que un proceso va a necesitar y a continuacin precarga estas pginas cuando hay espacio disponible Mientras el proceso ejecuta sus pginas actuales, el sistema carga pginas nuevas que estarn disponibles cuando el proceso las pida, debido a ello, el tiempo de ejecucin de un proceso se puede reducir.

25

3.4.5 LIBERACION DE PGINA Cuando se hace evidente que una pgina ya no se necesita se debe liberar el marco de pgina donde est contenida. Formas: 1. de forma voluntaria: la liberacin es realizada por el usuario mediante mandatos; 2. de forma automtica: la responsabilidad recae en los compiladores y sistemas operativos. Los programas que ya no requieran pginas especficas debern desechar tales pginas de sus conjuntos de trabajo. Por lo regular hay un tiempo durante el cual permanecen en el almacenamiento principal en las pginas que ya no se requieran. Cuando es evidente que ya no ser necesaria una pgina, un usuario podr dar una orden de "liberacin voluntaria de pgina" para liberar el marco de pgina. Esto eliminara el retraso que implica dejar que el proceso deseche poco a poco la pgina de su conjunto de trabajo. 3.4.6 TAMAO DE PGINA. Generalmente el almacenamiento real se divide en marcos o celdas de pgina de tamao fijo. Los interrogantes tienen que ver con el tamao de las paginas, si todas las paginas tendrn igual tamao, si en caso de utilizar pginas de diferente tamao las paginas mayores deben ser o no mltiplos enteros de las menores, etc. Algunas consideraciones para determinar el tamao de pgina son las siguientes: Cuantas ms pequeas: Aumento del tamao de las tablas de pginas Aumento del n de transferencia MP Disco Reducen la fragmentacin interna Cuanto ms grandes: Grandes cantidades de informacin que no sern usadas estn ocupando MP Aumenta la fragmentacin interna Bsqueda de un equilibrio Debido a que las transferencias de e/s del disco (paginacin) consumen bastante tiempo, se debe minimizar la paginacin que un proceso requiera: Esto indica la necesidad de pginas grandes. Los procedimientos y datos rara vez comprenden un nmero entero de pginas, por lo que los sistemas de paginacin experimentan una fragmentacin interna.

26

RESUMEN La memoria principal puede ser considerada como un arreglo lineal de localidades de almacenamiento de un byte de tamao. Cada localidad de almacenamiento tiene asignada una direccin que la identifica. Una de las funciones bsicas que debe implementar un SO es la Administracin de la Memoria para tener un control sobre los lugares donde estn almacenados los procesos y datos que actualmente se estn utilizando. La memoria real es en donde son ejecutados los programas y procesos de una computadora y es el espacio real que existe en memoria para que se ejecuten los procesos. Por lo general esta memoria es de mayor costo que la memoria secundaria, pero el acceso a la informacin contenida en ella es de ms rpido acceso. Solo la memoria cache es ms rpida que la principal, pero su costo es a su vez mayor. Se conoce como jerarqua de memoria a la organizacin piramidal de la memoria en niveles que tienen los organizadores. Nivel 0: Registros Nivel 1: Memoria cach Nivel 2: Memoria principal Nivel 3: Disco duro (con el mecanismo de memoria virtual) Los sistemas de multiprogramacin aceptan que varios procesos usuarios luchen al mismo tiempo por los recursos del sistema:

Un trabajo en espera de e / s ceder la cpu a otro trabajo que est listo para efectuar cmputos. Existe paralelismo entre el procesamiento y la e / s. Se incrementa la utilizacin de la cpu y la capacidad global de ejecucin del sistema. Es necesario que varios trabajos residan a la vez en la memoria principal. y Carga Absolutas.

Multiprogramacin de Particin Fija: Traduccin Las particiones del almacenamiento principal:


Son de tamao fijo. Alojan un proceso cada una. La cpu se cambia rpidamente entre los procesos creando la ilusin de simultaneidad.

27

El termino memoria virtual se asocia normalmente con sistemas que emplean paginacin, aunque tambin se puede usar memoria virtual basada en la segmentacin. El uso de la paginacin en la memoria virtual fue presentado por primera vez en el computador Atlas. En el estudio de la segmentacin simple, se llego a la conclusin de que cada proceso tiene su propia tabla de segmento y que, cuando todos los segmentos se encuentran en la memoria principal, la tabla de segmentos del proceso se crea y se carga en la memoria. La paginacin y la segmentacin puras son mtodos de manejo de memoria bastante efectivos; la mayora de los sistemas operativos modernos implantan esquemas combinados, esto significa, combinan la paginacin y la segmentacin. El combinar estos esquemas se debe a que de esta manera se aprovechan los conceptos de la divisin lgica de los programas (segmentos) con la granularidad de las pginas. De esta manera, un proceso estar repartido en la memoria real en pequeas unidades (paginas) cuya liga son los segmentos. La memoria virtual es una tcnica para proporcionar la simulacin de un espacio de memoria mucho mayor que la memoria fsica de una maquina. Esta ilusin permite que los programas se hagan sin tener en cuenta el tamao exacto de la memoria fsica. La ilusin de la memoria virtual esta soportada por el mecanismo de traduccin de memoria, junto con una gran cantidad de almacenamiento rpido en disco duro. Un sistema de paginacin por demanda es similar a un sistema de paginacin con intercambios. Los procesos residen en memoria secundaria (en el disco). Cuando queremos ejecutar un proceso, lo metemos en memoria. Sin embargo, en vez de intercambiar todo el proceso hacia la memoria, utilizamos un intercambiador perezoso. Un intercambiador perezoso nunca reincorpora una pgina a memoria a menos que se necesite. En la paginacin anticipada, el sistema operativo intenta predecir las pginas que necesitara un proceso y entonces carga dichas cuando hay espacio disponible. Mientras el proceso se ejecuta con sus pginas actuales, el sistema carga las dems pginas que estarn disponibles cuando las requiera el proceso.

28

BIBLIOGRAFAS http://pedvazvid.tripod.com/administracion_de_memoria.htm http://ac.itdurango.mx/acreditacion/4Proceso_E_A/ISC/Evidencias/4.5%20M%E9to dos%20de%20Ense%F1anza/APUNTES%20DEL%20MAESTRO/Sistemas%20Operat ivos/ApuntesU3_SistemasOperativosISC.pdf http://planymod.angelfire.com/3.2-memoria-real.html http://moralesely.blogspot.mx/2012/11/32-memoria-real.html http://eq2-sistemasoperativos.blogspot.mx/2012/04/343-paginacion-pordemanda.html http://eq2-sistemasoperativos.blogspot.mx/2012/04/344-paginacionanticipada.html http://soitt.net78.net/UNIDAD3/contenido3,4,5.html http://tesciequipo7.blogspot.mx/2009/11/435-liberacion-de-paginas.html http://sistemasoperativos.angelfire.com/html/3.4.6.html

29

S-ar putea să vă placă și