Vous êtes sur la page 1sur 57

Administracin de memoria

3.1 Poltica y filosofa 3.2 Memoria Real 3.2.1 Administracin de almacenamiento 3.2.2 Jerarqua 3.2.3 Estrategia de administracin de memoria 3.2.4 Asignacin contigua vs. no contigua 3.2.5 Multiprogramacin de particin fija, particin (Investigacin 11-03-2013) Variable con intercambio de almacenamiento 3.3 Organizacin de memoria virtual 3.3.1 Evaluacin de las organizaciones de Almacenamiento 3.3.2 Paginacin (Expo 12-03 Rivera Solache) 3.3.3 Segmentacin (Expo 13-03 Snchez Snchez) 3.3.4 Sistemas de paginacin segmentacin (Expo 14-03 Cordero Galicia) 3.4 Administracin de la memoria virtual 3.4.1 Estrategias de administracin (Expo Equipo # 3 19 -03 ) 3.4.2 Tcnicas de reemplazo de pginas (Expo Equipo # 3 19 -03 ) 3.4.3 Paginacin por demanda 3.4.4 Paginacin anticipada 3.4.5 Liberacin de pgina 3.4.6 Tamao de la pgina

3.1 Poltica y filosofa


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 datos y procesos que actualmente se estn utilizando. Sea cual sea es esquema de organizacin del almacenamiento que se adopte para un sistema especifico es necesario decidir que estrategias se deben utilizar para obtener un rendimiento optimo.

Polticas FIFO: Los procesos se despachan de acuerdo a su tiempo de llega a la cola de procesos listos, si un proceso llega al procesador sale hasta que termine. La poltica FIFO actualmente no se usa como el esquema principal de un sistema, pero si por ejemplo cuando se usa una poltica de prioridades y hay procesos con la misma prioridad, a estos se les podra aplicar FIFO.

Round Robin: Los procesos se despachan en la forma que lo hace el FIFO, pero se les asigna una cantidad limitada de tiempo (QUANTUM) en el procesador, si no termina en ese lapso se manda al final de la lista de procesos listos.

SJF (Shortest job first - Prioridad del trabajo mas corto): Se ejecuta primero el proceso en espera que tiene el menor tiempo estimado. SJF favorece a los procesos cortos, ya que los largos podran llegar a rezagarse mucho tiempo e incluso nunca ejecutarse.

SRT (Sortest remaining time scheduling - Tiempo restante mas corto. En SJF una vez que un proceso comienza su ejecucin continua hasta terminar. En SRT, un proceso en ejecucin puede ser desposedo por uno nuevo de menor tiempo de ejecucin.

HRN: (highest response ratio next ? Prioridad de la tasa de respuesta mas alta): Poltica no Apropiativa que corrige el retraso excesivo de procesos grandes que produce el SJF, para as no caer en un favoritismo excesivo por los procesos cortos, lo logra usando una formula basada en el tiempo de espera y el tiempo de servicio, con lo cual la prioridad de cada trabajo no solo esta en funcin del tiempo de servicio sino tambin del tiempo que ha esperado para ser atendido.

3.2 Memoria Real


MEMORIA REAL
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 ms rpido. Solo la memoria cache es ms rpida que la principal, pero su costo es a su vez mayor. MEMORIA SECUNDARIA

A la memoria secundaria tambin se le llama "almacenamiento masivo". Habitualmente, la memoria secundaria o de almacenamiento masivo es de mucha mayor capacidad que la memoria primaria, pero tambin es mucho ms lenta. En las computadoras modernas, los discos duros suelen usarse como dispositivos de almacenamiento masivo. El tiempo necesario para acceder a un byte de informacin dado almacenado en un disco duro es de alrededor de unos pocas milsimas de segundo (milisegundos).

MEMORIA VIRTUAL. Es un mtodo mediante el cual, un sistema operativo simula tener ms memoria principal que la que existe fsicamente. Para implementar la memoria virtual se utiliza un medio de almacenamiento secundario de alta velocidad de acceso, generalmente el disco duro de la computadora.

3.2.1 Administracin de almacenamiento


Cmo se maneja la administracin de almacenamiento? Para que un sistema informtico sea cmodo para los usuarios, el sistema operativo proporciona una vista lgica y uniforme del sistema de almacenamiento de la informacin.

El sistema operativo abstrae las propiedades fsicas de los dispositivos de almacenamiento y define una unidad de almacenamiento lgico, el archivo.
El sistema operativo asigna los archivos a los soportes fsicos y accede a dichos archivos a travs de los dispositivos de almacenamiento.

Almacenamiento del sistema de archivos La gestin de archivos es uno de los componentes mas visibles de un sistema operativo. Las computadoras pueden almacenar la informacin en diferentes tipos de medios fsicos. Los discos magnticos, discos pticos y cintas magnticas son habituales. Cada uno de estos medios tiene sus propias caractersticas y organizacin fsica. Cada medio se controla mediante un dispositivo, tal como una unidad de disco o una cinta, que tambin tiene sus propias caractersticas distintivas. Estas propiedades incluyen la velocidad de acceso, la capacidad, la velocidad de transferencia de datos y el mtodo de acceso (secuencial o aleatorio).

Un archivo es una coleccin de informacin relacionada definida por su creador.


Comnmente, los archivos representan programas(tanto en formato fuente como en objeto) y datos. Los archivos de datos pueden ser numricos, alfabticos, alfanumricos o binarios. Los archivos pueden tener un formato libre(como, por ejemplo, los archivos de texto) o un formato rgido, como por ejemplo una serie de campos fijos.

3.2.2 Jerarqua
Los programas y datos tienen que estar en la memoria principal para poder ejecutarse o ser referenciados. Los programas y datos que no son necesarios de inmediato pueden mantenerse en el almacenamiento secundario. El almacenamiento principal es mas costoso y menor que el secundario pero de acceso mas rpido. Los sistemas con varios niveles de almacenamiento requieren destinar recursos para administrar el movimiento de programas y datos entre niveles.

Un nivel adicional es el cache o memoria de alta velocidad, que posee las siguientes caractersticas: Es ms rpida y costosa que la memoria principal. Impone al sistema un nivel mas de traspaso: Los programas son traspasados de la memoria principal al cache antes de su ejecucin. Los programas en la memoria cache ejecutan mucho mas rpido que en la memoria principal. Al utilizar memoria cache se espera que: La sobrecarga que supone el traspaso de programas de un nivel de memoria a otro sea mucho menor que la mejora en el rendimiento obtenida por la posibilidad de una ejecucin mucho mas rpida en la cache.

la jerarqua de memoria que va desde

registros que es el nivel 0, cach nivel 1, memoria principal nivel 2, y discos duros que es el nivel 3,
teniendo como objetivo conseguir el rendimiento de una memoria de gran velocidad al coste de una memoria de baja velocidad. Hay 3 puntos bsicos relacionados con la memoria: Cantidad : cuanto ms memoria haya disponible, ms podr utilizarse. Velocidad : ptima para la memoria es la velocidad a la que el procesador puede trabajar, de modo que no haya tiempos de espera entre clculo y clculo, utilizados para guardar resultados. Costo : no debe ser excesivo, para que sea factible construir un equipo accesible.

Registros.
Los registros estn en la cima de la jerarqua de memoria, y son la manera ms rpida que tiene el sistema de almacenar datos. Definicin de registros: Es una memoria de alta velocidad y poca capacidad, esta integrada en el microprocesador y permite guardar y acceder a valores muy usados, por lo general en operaciones matemticas. Los registros se miden por lo general por el nmero de bits que almacena. Tipos de registros: De datos: usados para guardar nmeros enteros. De memoria: usados para guardar exclusivamente direcciones de memoria. De propsito general: pueden guardar tanto datos como direcciones. De coma flotante: usados para guardar datos en formato de coma flotante

De propsito especfico: guardan informacin especfica del estado del sistema.


Constante: tiene valores creados por el hardware de solo lectura.

Memoria cach
Definicin: Es una memoria rpida y pequea, situada entre la memoria principal y el microprocesador, especialmente diseada para contener informacin que se utiliza con frecuencia en un proceso con el fin de evitar accesos a otras memorias, reduciendo considerablemente el tiempo de acceso al ser ms rpida que el resto de la memoria principal. La memoria cach es una memoria en la que se almacena un serie de datos para su rpido acceso. La memoria cach de un microprocesador es de tipo voltil (del tipo RAM), pero de una gran velocidad. Su objetivo es almacenar una serie de instrucciones y datos a los que el microprocesador accede continuamente, con el fin de que estos accesos sean instantneos. Estas instrucciones y datos son aquellas a las que el procesador necesita estar accediendo de forma continua, por lo que para el rendimiento del procesador es imprescindible que este acceso sea lo ms rpido y fluido posible.

La operacin bsica de cach es: Cuando el CPU necesita acceder a la memoria, se revisa la cach. Si se encuentra la palabra en cache, se lee de la memoria rpida. Si la palabra direccionada de la CPU no se encuentra en cach, se accesa a la memoria principal para leer la palabra. Despus, se transfiere un bloque de palabras que contiene la que se acaba de accesar, de la memoria principal a la memoria cach. El tamao de bloque puede variar de una palabra a cerca de 16 palabras adyacentes a la que se acceso. En esta manera, se trasfieren algunos datos cach para que las futuras referencias a memoria encuentren la palabra requerida en la memoria rpida cach.

Hay tres tipos diferentes de memoria cach para microprocesadores:

Cach de 1er nivel (L1): Integrada en el ncleo del microprocesador, trabajando a la misma velocidad que este. La cantidad de memoria cach L1 vara de un microprocesador a otro, estando normalmente entra los 64KB y los 256KB. Esta memoria suele a su vez estar dividida en dos partes dedicadas, una para instrucciones y otra para datos. Cach de 2 nivel (L2): Integrada en el microprocesador, no directamente en el ncleo, es algo ms lenta que la cach L1. La cach L2 suele ser mayor que la cach L1, pudiendo llegara superar los 2MB. Utilizacin est ms encaminada a programas que al sistema. Cach de 3er nivel (L3): Es un tipo de memoria cach ms lenta que la L2, muy poco utilizada en la actualidad. En un principio esta cach estaba incorporada a la placa base, no al microprocesador, y su velocidad de acceso era bastante ms lenta que una cach de nivel 2 o 1, ya que si bien sigue siendo una memoria de una gran rapidez (muy superior a la RAM, y mucho ms en la poca en la que se utilizaba),depende de la comunicacin entre el microprocesador y la placa base.

Memoria principal.
Son circuitos integrados capaces de almacenar informacin digital, a los que tiene acceso el microprocesador del equipo de computacin. Poseen una menor capacidad de almacenamiento que la memoria secundaria, pero una velocidad millones de veces superior. La memoria principal esta divida en: Memoria ROM: Memoria de slo lectura (Read Only Memory) son utilizadas como medio de almacenamiento de datos en las computadoras. En ella no se puede escribir y conserva intacta la informacin almacenada, incluso en el caso de que se interrumpa la corriente(memora no voltil).La ROM suele almacenar la configuracin del sistema o el programa de arranque de la computadora.

Uso principal: Reside en la distribucin de programas que estn estrechamente ligados al soporte fsico de la computadora, y que seguramente no necesita actualizacin. La memoria RAM normalmente es ms rpida para lectura que la mayora de las memorias ROM, por lo tanto el contenido ROM se suele traspasar normalmente a la memoria RAM cuando se utiliza.

El software de la ROM se divide en dos partes:

a) Rutina de arranque
a) Rutina de BIOS

Memoria RAM
La memoria de acceso aleatorio, o memoria de acceso directo (Random Access Memory). Se compone de uno o ms chips y se utiliza como memoria de trabajo para programas y datos. Es un tipo de memoria temporal que pierde sus datos cuando se queda sin energa (al apagar la computadora), por lo cual es una memoria voltil. Se trata de una memoria de semiconductor en la que se puede tanto leer como escribir informacin. Se utiliza normalmente como memoria temporal para almacenar resultados intermedios y datos similares no permanentes. Se dicen "de acceso aleatorio" o "de acceso directo" porque los diferentes accesos son independientes entre s.

Memoria virtual
Es un concepto que permite al software usar ms memoria principal que la que realmente posee la computadora. Muchas aplicaciones requieren el acceso a ms informacin (cdigo y datos) que la que se puede mantener en memoria fsica. Esto es as sobre todo cuando el sistema operativo permite mltiples procesos y aplicaciones ejecutndose simultneamente. Una solucin al problema de necesitar mayor cantidad de memoria de la que se posee consiste en que las aplicaciones mantengan parte de su informacin en disco, movindola a la memoria principal cuando sea necesario. Aunque la memoria virtual podra estar implementada por el software del sistema operativo, en la prctica casi siempre se usa una combinacin de hardware y software, dado el esfuerzo extra que implicara para el microprocesador.

Operacin bsica
Cuando se usa Memoria Virtual, o cuando una direccin es leda o escrita por el CPU, una parte del hardware dentro de la computadora traduce las direcciones de memoria generadas por el software(direcciones virtuales) en: la direccin real de memoria (la direccin de memoria fsica): la referencia a la memoria es completada, como si la memoria virtual no hubiera estado involucrada: el software accede donde deba y sigue ejecutando normalmente.

una indicacin de que la direccin de memoria deseada no se encuentra en memoria principal (llamado excepcin de memoria virtual): el sistema operativo es invocado para manejar la situacin y permitir que el programa siga ejecutando o aborte segn sea el caso.

La memoria virtual es una tcnica para proporcionar la simulacin de un espacio de memoria mucho mayor que la memoria fsica de una computadora. Esta "ilusin" permite que los programas se ejecuten sin tener en cuenta el tamao exacto de la memoria fsica. La ilusin de la memoria virtual est 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, y puede ser referenciado fcilmente. La memoria virtual ha llegado a ser un componente esencial de la mayora de los sistemas operativos actuales. Y como en un instante dado, en la memoria slo se tienen unos pocos fragmentos de un proceso dado, se pueden mantener ms procesos en la memoria. Es ms, se ahorra tiempo, porque los fragmentos que no se usan no se cargan ni se descargan de la memoria. Sin embargo, el sistema operativo debe saber cmo gestionar este esquema.

Memorias DDR, DDR2 y DDR3 no son compatibles entre s. Voltajes, pines y las seales difieren entre los tipos de memoria.

DDR SDRAM (de las siglas en Ingls Double Data Rate Synchronous Dynamic RandomAccess Memory)

3.2.3 Estrategias de Administracin de Memoria


Estn dirigidas a la obtencin del mejor uso posible del recurso del almacenamiento principal. Se dividen en las siguientes categoras: Estrategias de bsqueda Estrategias de bsqueda por demanda. Estrategias de bsqueda anticipada. Estrategias de colocacin. Estrategias de reposicin.

Las estrategias de bsqueda estn relacionadas con el hecho de cuando obtener el siguiente fragmento de programa o de datos para su insercin en la memoria principal. En la bsqueda por demanda el siguiente fragmento de programa o de datos se carga al almacenamiento principal cuando algn programa en ejecucin lo referencia. Se considera que la bsqueda anticipada puede producir un mejor rendimiento del sistema. Las estrategias de colocacin estn relacionadas con la determinacin del lugar de la memoria donde se colocara (cargara) un programa nuevo.

Las estrategias de reposicin estn relacionadas con la determinacin de que fragmento de programa o de datos desplazar para dar lugar a los programas nuevos.

3.2.4 Asignacin continua V.S No continua


asignacin contigua cada programa ocupa un bloque contiguo y sencillo de localizaciones de almacenamiento

En la asignacin no contigua un programa se divide en varios bloques o segmentos que pueden almacenarse en direcciones que no tienen que ser necesariamente adyacentes, por lo que es mas compleja pero mas eficiente que la asignacin continua.

3.2.5 Multiprogramacin de particin Particin Variable de intercambio almacenamiento

fija, de

Se denomina multiprogramacin a la tcnica que permite que dos o ms procesos ocupen la misma unidad de memoria principal y que sean ejecutados al mismo tiempo (seudo-paralelismo, en una nico CPU slo puede haber un proceso a la vez) en la unidad central de proceso o CPU. Aporta las siguientes ventajas: Varios procesos en ejecucin. Permite el servicio interactivo simultneo a varios usuarios de manera eficiente. Aprovecha los tiempos que los procesos pasan esperando a que se completen sus operaciones de E/S

Aumenta el uso de la CPU. Las direcciones de los procesos son relativas, el programador no se preocupa por saber en dnde estar el proceso dado que el sistema operativo es el que se encarga de convertir la direccin lgica en fsica.

Un proceso entra a ejecutarse y llega al momento en que tiene que hacer espera por un dispositivo de entrada y/o salida por ejemplo, el CPU estar ocioso mientras espera que el proceso puede usar el dispositivo para as finalmente ejecutarse.
Los sistemas de multiprogramacin evitan eso ya que durante ese tiempo de esperar pasan a ejecutar otro proceso teniendo as a la computadora ocupada.

PARTICIONES FIJAS Consiste en dividir la memoria en varias particiones de tamao fijo. Cada particin puede contener exactamente un proceso. El nivel de multiprogramacin est limitado por el nmero de particiones. Cuando una particin est libre, se selecciona un proceso de la cola de entrada y se carga en la particin libre; cuando un proceso termina, la particin est disponible para otro. El sistema operativo conserva una tabla que indica qu partes de la memoria estn disponibles y cuales estn ocupadas.

Particiones Variables Cada trabajo ocupa tanto espacio como necesita.

El tamao del trabajo a ubicar no puede ser mayor que el almacenamiento principal disponible
Se disminuye parcial o totalmente el desperdicio de memoria Aparecen: Condensacin y Compactacin

MULTIPROGRAMACIN CON PARTICIONES FIJAS El sistema de multiprogramacin en los cuales varios usuarios compiten al mismo tiempo por los recursos del sistema. El trabajo est esperando la terminacin de una operacin E/S ceder el CPU a otro trabajo que este listo para realizar clculos. Si es que hay una espera. De esta forma pueden efectuarse simultneamente las operaciones de E/S y clculos de la CPU.

PROTECCION EN LOS SISTEMAS CON MULTIPROGRAMACIN En los sistemas con multiprogramacin contigua, la proteccin se logra a menudo con varios registros de limites. Con dos registros se puede establecer los lmites superior e inferior de la particin de un usuario o se puede indicar el lmite inferior y la longitud de la regin.

La memoria se divide en particiones de tamao fijo (puede ser distinto el tamao de cada particin). Originalmente los programas se compilaban y editaban para ejecutar en una particin en particular (direcciones absolutas). Posteriormente los compiladores y editores generan cdigo reubicable para que un programa pudiera ejecutar en cualquier particin de memoria suficientemente grande.

Con esta estructura de administracin de memoria se desperdicia memoria y tiempo de CPU (si hay un programa corriendo los dems quedan encolados aunque haya otra particin libre)

Multiprogramacin con particiones variables Cuando se emplean particiones variables, el nmero y tamao de los procesos de la memoria varan en forma dinmica todo el da, de la misma forma las particiones varan en el nmero, localidad y tamao de las particiones, para lograr lo anterior se realizan procesos de compresin de memoria que permiten tener particiones grandes en la memoria, disponibles a los procesos provocando mayor complejidad en la asignacin y des-asignacin de la memoria as como el control de la misma. Los diseadores de SO, al observar los problemas de multiprogramacin de particin fija, decidieron que una mejora notable sera permitir que los trabajos ocuparan tanto espacio como necesitaran, es decir no haba ningn lmite fijo (ms que el espacio disponible en el almacenamiento principal, -memoria-). El siguiente esquema muestra este tipo de organizacin de almacenamiento:

En este tipo de multiprogramacin a medida que llegan los trabajos, si los mecanismos de planificacin deciden que deben proceder, se les proporcionar todo el almacenamiento necesario. Aqu no hay desperdicio, la particin de un trabajo es exactamente su tamao.

Su principal desventaja se da cuando los trabajos comienzan a terminar y dejan agujeros en el almacenamiento principal, en donde se ve evidenciado el desperdicio.

Multiprogramacin con Intercambio de Almacenamiento En el esquema de intercambio los programas del usuario no requieren permanecer en la memoria principal hasta su terminacin. Una variante consiste en que un trabajo se ejecuta hasta que ya no puede continuar: Cede el almacenamiento y el CPU al siguiente trabajo. La totalidad del almacenamiento se dedica a un trabajo durante un breve perodo 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 eficiente 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).

3.3 Organizacin de 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 computadora. Esta ilusin permite que los programas 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.

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.

La mayora de los sistemas operativos modernos poseen un mecanismo llamado memoria virtual, que permite hacer creer a los programas que tienen ms memoria que la disponible realmente; por ejemplo, 4 Gb en una computadora de 32 bits. Como en realidad no se tiene fsicamente toda esa memoria, algunos procesos no podrn ser ubicados en la memoria RAM. En este caso es cuando es til el espacio de intercambio: el sistema operativo puede buscar un proceso poco activo, y moverlo al rea de intercambio (el disco duro) y de esa forma liberar la memoria principal para cargar otros procesos. Mientras no haga falta, el proceso extrado de memoria puede quedarse en el disco, ya que ah no utiliza memoria fsica. Cuando sea necesario, el sistema vuelve a hacer un intercambio, pasndolo del disco a memoria RAM. Es un proceso lento (comparado con usar slo la memoria RAM), pero permite dar la impresin de que hay ms memoria disponible.

3.3.1 Evaluacin de las Organizaciones de Almacenamiento


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.

En el momento de ejecucin de los programas, las direcciones lgicas deben hacerse corresponder con las direcciones fsicas, mediante una aplicacin, la cual se denomina mapeo de memoria (MAPPING).

Esta actividad realizada por los mecanismos de conversin de direcciones lgicas a direcciones reales se llama mecanismo de traduccin dinmica de direcciones (MTDD).

Los MTDD mantienen mapas de correspondencia para la traduccin de direcciones que muestran cuales localidades del almacenamiento virtual estn en el almacenamiento real en un momento dado y en donde se encuentran. Para ello, se agrupa en bloques. Cuando los bloques son del mismo tamao se llaman pginas y la organizacin de la memoria se llama paginacin. Cuando los bloques pueden tener tamaos diferentes se llaman segmentos y la organizacin de la memoria se llama segmentacin.

3.3.2 Paginacin
3.3.3 Segmentacin

3.3.4 Sistema de paginacin / segmentacin

3.4 Almacenamiento de Memoria Virtual

La clave del concepto de memoria (almacenamiento) virtual esta en la disociacin:


De las direcciones a las que hace referencia un programa. De las direcciones disponibles en la memoria real (almacenamiento primario). 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.

3.4.1 Estrategias de Administracin


Estrategias de Obtencin Estrategias de Colocacin

Estrategias de Reemplazo

Estrategias de Obtencin Determinan cuando se debe de transferir una pagina o un segmento de almacenamiento secundario al primario. Las estrategias de obtencin por demanda esperan a que un proceso en ejecucin haga referencia a una pagina o un segmento antes de traer la pagina o el segmento de almacenamiento primario. Los esquemas de obtencin anticipada intentan determinar por adelantado a cuales paginas o segmentos har referencia un proceso.

Estrategias de Colocacin Determinan en que lugar del almacenamiento primario se debe colocar una pagina o un segmento entrante. Una pagina entrante se puede colocar en cualquier marco de pagina disponible.

Estrategias de Reemplazo Sirven para decidir cual pagina o segmento se debe desplazar para dar espacio a una pagina o segmento entrante cuando esta completamente ocupado el almacenamiento primario.

3.4.3 Paginacin por demanda

Paginacin bajo demanda

Considere como podra cargarse un programa ejecutable desde el disco a la memoria. Una opcin consiste encargar el programa completo en memoria fsica en el momento de ejecutar el programa. Sin embargo, esta tcnica presenta el problema de que puede que no necesitemos inicialmente todo el programa en la memoria. Cuando un proceso se reincorpora, el paginador lleva a memoria las pginas necesarias. As evita colocar en la memoria pginas que no se utilizarn, reduciendo el tiempo de intercambio y la cantidad de memoria fsica necesaria.

Este esquema requiere apoyo del hardware. Generalmente se aade un bit ms a cada entrada de la tabla de pginas: un bit vlido-invlido. Cuando este bit est asignado como vlido, indica que la pgina asociada se encuentra en memoria. Si el bit est como invlido, este valor indica que la pgina est en disco. Una pgina marcada como invlida no tendr ningn efecto si el proceso nunca intenta acceder a esa pgina. La paginacin por demanda garantiza que las nicas paginas que se transfieren al almacenamiento principal son aquellas que requieren los procesos. El trabajo extra requerido para decidir cuales paginas se deben transferir al almacenamiento principal es mnimo.

3.4.4 Paginacin anticipada


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

3.4.5 Liberacin de pagina

Un proceso usuario puede emitir una liberacin voluntaria de pgina para liberar el marco de pgina cuando ya no necesitara esa pgina. Se puede eliminar el desperdicio y acelerar la ejecucin.

El inconveniente es que la incorporacin de mandatos de liberacin de pginas dentro de los programas de usuarios puede ser peligroso y retrasar el desarrollo de aplicaciones.
Los compiladores y S. O. deberan detectar automticamente situaciones de liberacin de pgina mucho antes de lo que es posible con estrategias de conjuntos de trabajo.

Estrategias de reemplazo de pginas

Menos frecuentemente utilizada (LFU) Se reemplaza la pgina a la que se ha hecho referencia con menos frecuencia.

No utilizada recientemente (NUR) Las pginas no utilizadas recientemente, es poco probable que sean referenciadas en un futuro cercano. Por ello se las elige para el reemplazo.

3.4.6 Tamao de la pagina


Generalmente el almacenamiento real se divide en marcos o celdas de pagina de tamao fijo. Algunas consideraciones para determinar el tamao de pagina son las siguientes: Cuanto mas pequeo sea el tamao de una pagina, mas paginas y marcos de paginas habr y mayores sern las tablas de pagina. El desperdicio de almacenamiento debido al tamao excesivo de las tablas de pagina se llama fragmentacin de tablas. Esto indica la necesidad de paginas mas grandes. Con paginas grandes, grandes cantidades de informacin que nunca llegara a ser referenciada, se paginaran hacia el almacenamiento primario Esto indica la necesidad de paginas mas pequeas.

Vous aimerez peut-être aussi