Você está na página 1de 13

GESTION DE MEMORIA PRINCIPAL Y SECUNDARIA

memorias

GESTION DE MEMORIA SECUNDARIA


A diferencia de la Memoria Principal la Memoria Secundaria, auxiliar, masiva, externa no es tan veloz pero tiene gran
capacidad para almacenar informacin en dispositivos tales como discos, cintas magnticas, discos pticos.
Frecuentemente los datos y programas se graban en la Memoria Secundaria, de esta forma, cuando se ejecuta varias
veces un programa o se utilicen repetidamente unos datos, no es necesario darlos de nuevo a travs del dispositivo de
entrada.
Un sistema de almacenamiento secundario es necesario, ya que la memoria principal (almacenamiento primario) es
voltil y adems muy pequea para almacenar todos los programas y datos. Tambin es necesario mantener los datos
que no convenga mantener en la memoria principal. El SO se encarga de:
Planificar los discos.
Gestionar el espacio libre.
Asignar el almacenamiento.
Definicin de Archivos
En la Memoria Secundaria un archivo consta de un conjunto de bloques (correspondiente a la cantidad de informacin
que se transfiere fsicamente en cada operacin de acceso (lectura o escritura).
El Sistema Operativo o Sistema de Gestin de Archivos es el encargado de la asignacin de bloques a archivos, de lo
que surgen dos cuestiones, en primer lugar, debe asignarle el espacio de Memoria Secundaria a los archivos y, en
segundo lugar, es necesario guardar constancia del espacio disponible para asignar.
Caractersticas de los Archivos
ESTRUCTURA: El sistema de archivos permite al usuario especificar alguna estructura adicional a los archivos,
aparte de su estructura bsica (bits, bytes).
Algunos sistemas operativos permiten el uso del ALIAS, lo cual hace que los usuarios hagan referencia a un mismo
archivo fsico mediante nombres lgicos diferentes.
Cuando se utiliza un archivo, el descriptor es copiado en memoria principal para las referencias que a ste se hagan.
Nombre: Nombre asignado por el usuario.
Atributos de un archivo
Los atributos de un archivo son: el nombre, el tipo, la localizacin (donde se ubica), derechos de acceso, tiempo de
creacin/acceso/modificacin, UID del creador, etc.
Cada archivo tiene:

Su nombre y datos.

Elementos adicionales llamados atributos, que varan considerablemente de sistema a sistema.


Algunos de los posibles atributos de archivo son:

Proteccin: quin debe tener acceso y de qu forma.

Contrasea: contrasea necesaria para acceder al archivo.

Creador: identificador de la persona que cre el archivo.

Propietario: propietario actual.

Bandera exclusivo - para - lectura: 0 lectura / escritura, 1 para lectura exclusivamente.

Bandera de ocultamiento: 0 normal, 1 para no exhibirse en listas.

Bandera de sistema: 0 archivo normal, 1 archivo de sistema.

Bandera de biblioteca: 0 ya se ha respaldado, 1 necesita respaldo.

Bandera ascii / binario: 0 archivo en ascii, 1 archivo en binario.


Bandera de acceso aleatorio: 0 solo acceso secuencial, 1 acceso aleatorio.

Bandera temporal: 0 normal, 1 eliminar al salir del proceso.

Banderas de cerradura: 0 no bloqueado, distinto de 0 bloqueado.

Longitud del registro: nmero de bytes en un registro.

Posicin de la llave: ajuste de la llave dentro de cada registro.

Longitud de la llave: nmero de bytes en el campo llave.

Tiempo de creacin: fecha y hora de creacin del archivo.

Tiempo del ltimo acceso: fecha y hora del ltimo acceso al archivo.

Tiempo de la ltima modificacin: fecha y hora de la ltima modificacin al archivo.

Tamao actual: nmero de bytes en el archivo.

Tamao mximo: tamao mximo al que puede crecer el archivo.


Podemos tambin citar como caractersticas las siguientes:

Volatilidad, que es la frecuencia con la que se agregan y borran tems en un archivo;

Actividad, que es el porcentaje de tems accedidos durante un determinado perodo detiempo;

Medida, que es la cantidad de informacin almacenada en el archivo


Bloque de Control de Archivo
Existen varios mecanismos para acceder los archivos: Directorios, descriptores de archivos, mecanismos de control
de acceso y procedimientos para abrir y cerrar archivos.
Descriptores de archivos.
El descriptor de archivos o bloque de control de archivos es un bloque de control que contiene informacin que el
sistema necesita para administrar un archivo.
Es una estructura muy dependiente del sistema.
Los descriptores de archivos suelen mantenerse en el almacenamiento secundario; se pasan al almacenamiento
primario al abrir el archivo.
El descriptor de archivos es controlado por el sistema de archivos ; el usuario puede no hacer referencia directa a l.
A cada uno de los archivos se le asigna un descriptor el cual contendr toda la informacin que necesitar el sistema
de archivos para ejecutar con l los comandos que se le soliciten. El descriptor se mantendr en memoria principal
desde que el archivo es abierto hasta que sea cerrado, y debe tener al menos la siguiente informacin, identificacin
del archivo, lugar de almacenamiento, informacin del modo de acceso.
Identificacin del archivo. Consiste de dos partes que es el nombre simblico que es el que le da el usuario y un
identificador interno que es asignado por el sistema operativo (nmero). Lugar de almacenamiento as como el
tamao del archivo. Modo de acceso. Se debe indicar en forma explcita quien puede accesar el archivo y conque
derecho.
Mecanismo De Control De Acceso.
Control de un sistema de informacin especializado en detectar los intectos de acceso, permitiendo el paso de las
entidades autorizadas, y denegando el paso a todas las dems. Involucra medios tcnicos y procedimientos
operativos.
Mecanismo que en funcin de la identificacin ya autenticada permite acceder a datos o recursos.
Los Directorios son utilizados por el sistema operativo para llevar un registro de los archivos que incluye el nombre, los
atributos y las direcciones en disco donde se almacenan los datos del archivo referenciado.
Open (abrir): antes de utilizar un archivo, un proceso debe abrirlo. La finalidad es permitir que el sistema traslade los
atributos y la lista de direcciones en disco a la memoria principal para un rpido acceso en llamadas posteriores.
Close (cerrar): cuando concluyen los accesos, los atributos y direcciones del disco ya no son necesarios, por lo que el
archivo debe cerrarse y liberar la tabla de espacio interno.
Operaciones Sobre El Bloque De Control De Archivo
El sistema operativo brinda servicios para la manipulacin de archivos:

Crear y abrir: provee la creacin de un archivo en el sistema de archivos. Se debe proveer un nombre del
nuevo archivo. Adems, se provee la apertura de un archivo ya existente para acceder o modificar la
informacin.

Escribir: poder escribir informacin en un archivo previamente abierto.

Leer: poder leer informacin en un archivo previamente abierto.

Reposicionar dentro de un archivo: lograr acceder a cualquier parte del archivo.

Eliminar: destruir el archivo a nivel del sistema de archivo.

Truncar: eliminar la informacin que est dentro del archivo, pero sin eliminar el archivo.
Por lo general, los sistemas tienen una tabla de archivos abierto por proceso. Estos archivos se abren a travs de un
llamado al sistema y, de esa forma, se puede operar con ellos (leer, escribir, etc.). Finalmente, el archivo es cerrado
antes que finalice la ejecucin del proceso.
Tener un archivo abierto para el sistema implica mantener una estructura que tenga por lo menos:

puntero de archivo (file pointer) para operaciones de lectura y escritura, contador de archivos abiertos

ubicacin del archivo en el dispositivo, derechos de acceso.

Algunos sistemas proveen sistema de acceso nico a un archivo (lock) por parte de los procesos.

A su vez, varios sistemas implementan el mapeo de archivos al espacio de usuario del proceso. De esta forma,
no es necesario realizar read y write para operar sobre el archivo, sino accederlo directamente. Esto trae el
beneficio de no hacer el llamado a sistema para operar sobre el archivo.

Directorios de Memoria Secundaria


Definicin:
Un directorio es una agrupacin de archivos de datos, atendiendo a su contenido, a su propsito o a cualquier
criterio que decida el usuario. Tcnicamente el directorio almacena informacin acerca de los archivos que contiene:
como los atributos de los archivos o dnde se encuentran fsicamente en el dispositivo de almacenamiento.
Tipos de Directorios
De un nico nivel: el sistema tiene un solo directorio con todos los archivos de todos los usuarios.
De dos niveles: el sistema habilita un solo directorio por cada usuario.
Tipo rbol: el sistema permite que cada usuario tenga tantos directorios como necesite, respetando una jerarqua.
Manejo de espacio de memoria secundaria
A diferencia de la Memoria Principal la Memoria Secundaria, auxiliar, masiva, externa no es tan veloz pero tiene
gran capacidad para almacenar informacin en dispositivos tales como discos, cintas magnticas, discos pticos.
Frecuentemente los datos y programas se graban en la Memoria Secundaria, de esta forma, cuando se ejecuta varias
veces un programa o se utilicen repetidamente unos datos, no es necesario darlos de nuevo a travs del dispositivo de
entrada.
En la Memoria Secundaria un archivo consta de un conjunto de bloques (correspondiente a la cantidad de informacin
que se transfiere fsicamente en cada operacin de acceso (lectura o escritura).
El Sistema Operativo o Sistema de Gestin de Archivos es el encargado de la asignacin de bloques a archivos, de lo
que surgen dos cuestiones, en primer lugar, debe asignarle el espacio de Memoria Secundaria a los archivos y, en
segundo lugar, es necesario guardar constancia del espacio disponible para asignar.
El sistema de archivos se ocupa primordialmente de administrar el espacio de almacenamiento secundario, sobre todo
el espacio en disco. El manejo del espacio libre en disco se lleva a cabo de la siguiente manera:
Vector de bits. El espacio libre en disco es frecuentemente implementado como un mapa de bits, donde cada block
es representado por un bit y si el bloc es libre el bit es cero de lo contrario est asignado.11000111
Lista ligada. Una lista ligada de todos los blocks libres. Otra implantacin se consigue guardando la direccin del
primer block libre y el nmero de los blocks libres contiguos que le siguen. Cada entrada de la lista de espacio libre
consiste de una direccin de disco y un contador (por conteo).
Por agrupacin. Se almacena la direccin en n blocks libres en el primer block libre y el ltimo contiene la direccin
de otro block que contiene la direccin de otros blocks libres.
Para manejar los espacios en disco existen los siguientes mtodos:
Contiguos. Esta asignacin requiere que cada archivo ocupe un conjunto de direcciones contiguas en el disco, su
asignacin es definida por la direccin del primer bloc y la longitud del archivo.
Asignacin ligada o encadenada. Cada archivo es una lista ligada de blocks y el directorio contiene un apuntador
al primer bloc y al ltimo.
Asignacin Indexada. Cada archivo tiene su propio bloc de ndice el cual es un arreglo de direcciones de bloc.
Modelo Jerrquico
Diseo del Sistema Jerrquico de Directorios
El directorio contiene un conjunto de datos por cada archivo referenciado.

Una posibilidad es que el directorio contenga por cada archivo referenciado:

El nombre.

Sus atributos.

Las direcciones en disco donde se almacenan los datos.


Otra posibilidad es que cada entrada del directorio contenga:

El nombre del archivo.

Un apuntador a otra estructura de datos donde se encuentran los atributos y las direcciones en disco.
Al abrir un archivo el S. O.:

Busca en su directorio el nombre del archivo.


Extrae los atributos y direcciones en disco.

Graba esta informacin en una tabla de memoria real.

Todas las referencias subsecuentes al archivo utilizarn la informacin de la memoria principal.


El nmero y organizacin de directorios vara de sistema en sistema:

Directorio nico: el sistema tiene un solo directorio con todos los archivos de todos los usuarios (ver
Figura 4.1).

Un directorio por usuario: el sistema habilita un solo directorio por cada usuario

Un rbol de directorios por usuario: el sistema permite que cada usuario tenga tantos directorios como
necesite, respetando una jerarqua general.

GESTION DE MEMORIA PRINCIPAL


Organizacin Interna De La Memoria Principal.
Una memoria principal se compone de un conjunto de celdas bsicas dotadas de una determinada organizacin. Cada
celda soporta un bit de informacin. Los bits se agrupan en unidades direccionables denominadas palabras. La
longitud de palabra la determina el nmero de bits que la componen y constituye la resolucin de la memoria (mnima
cantidad de informacin direccionable). La longitud de palabra suele oscilar desde 8 bits (byte) hasta 64 bits.
Cada celda bsica es un dispositivo fsico con dos estados estables (o semi-estables) con capacidad para cambiar el
estado (escritura) y determinar su valor (lectura). Aunque en los primeros computadores se utilizaron los materiales
magnticos como soporte de las celdas de memoria principal (memorias de ferritas, de pelcula delgada, etc.) en la
actualidad slo se utilizan los materiales semiconductores.
La organizacin y administracin de la memoria principal , memoria primaria o memoria real de un sistema ha
sido y es uno de los factores ms importantes en el diseo de los S. O.
Los trminos memoria y almacenamiento se consideran equivalentes.
Los programas y datos deben estar en el almacenamiento principal para:
Poderlos ejecutar.
Referenciarlos directamente.
Se considera almacenamiento secundario o almacenamiento auxiliar al generalmente soportado en discos.
Los hechos demuestran que generalmente los programas crecen en requerimientos de memoria tan rpido como las
memorias:
Ley de Parkinson parafraseada: Los programas se desarrollan para ocupar toda la memoria disponible para ellos.
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.
Organizacin del almacenamiento:
La organizacin del almacenamiento es la forma de considerar el almacenamiento principal, bajo los siguientes
esquemas de organizacin:
- sistemas de usuario nico
- multiprogramacin con particiones fijas, con traduccin y carga con reubicacin
- multiprogramacin con particiones fijas, con traduccin y carga absoluta
- multiprogramacin con particiones variables
- sistemas de intercambio de almacenamiento
Sea cual sea el esquema de organizacin de la memoria que se adopte, hay que decidir qu estrategias de deben
utilizar para obtener un rendimiento ptimo de la misma.
Histricamente el almacenamiento principal se ha considerado como un recurso costoso, por lo cual su utilizacin
deba optimizarse. La memoria est dividida en primaria y secundaria. El traspaso de informacin entre stas es
la preocupacin ms grande del sistema; esta responsabilidad puede ser asignada al programador, pero esto sera una
gran prdida de tiempo, por esto el sistema debe ocuparse de ello.
Por organizacin del almacenamiento se entiende la manera de considerar este almacenamiento:
Se coloca un solo programa de usuario o varios?
Si se encuentran varios programas de usuario:
Se concede a cada uno la misma cantidad de espacio o se divide el almacenamiento en porciones
o particiones de diferente tamao?
Se utilizar un esquema rgido de nmero y tamao de particiones o un esquema dinmico y adaptable?
Se requerir que los trabajos de los usuarios sean diseados para funcionar en una particin especfica o se
permitir que se ejecuten en cualquiera donde quepan?
Se requerir o no que cada trabajo sea colocado en un bloque contiguo de memoria?

La Organizacin de almacenamiento Realiza funciones en relacin a:


Nmero de usuarios en memoria
Cantidad de procesos de un usuario
Forma esttica o dinmica.
Almacenamiento continuo o disperso
Los programas deben almacenarse en un sitio especfico o puede variar
ADMINISTRACIN
La administracin de almacenamiento define el comportamiento de una forma de organizacin, tambin se
define como: Serie de estrategias diseadas para obtener un rendimiento ptimo
Segn Andrew S. Tanenbaum-1994. La memoria principal es el lugar donde el CPU lee las instrucciones a ejecutar, as
como algunos datos a emplear. 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. Independientemente del esquema de organizacin hay que decidir las estrategias que se utilizarn
para optimizar el rendimiento. Se refiere a los distintos mtodos y operaciones que se encargan de obtener la mxima
utilidad de la memoria, organizando los procesos y programas que se ejecutan de manera tal que se aproveche de la
mejor manera posible el espacio disponible.
Para poder lograrlo, la operacin principal que realiza es la de trasladar la informacin que deber ser ejecutada por el
procesador, a la memoria principal. Actualmente esta administracin se conoce como Memoria Virtual ya que no es la
memoria fsica del procesador sino una memoria virtual que la representa. Entre algunas ventajas, esta memoria
permite que el sistema cuente con una memoria ms extensa teniendo la misma memoria real, con lo que esta se
puede utilizar de manera ms eficiente. Y por supuesto, que los programas que son utilizados no ocupen lugar
innecesario.
Las tcnicas que existen para la carga de programas en la memoria son:
v Particin fija: que es la divisin de la memoria libre en varias partes (de igual o distinto tamao)
v Particin dinmica, que son las particiones de la memoria en tamaos que pueden ser variables, segn la cantidad
de memoria que necesita cada proceso.
Entre las principales operaciones que desarrolla la administracin de memoria se encuentran
1.
La reubicacin: Que consiste en trasladar procesos activos dentro y fuera e la memoria principal para maximizar
la utilizacin del procesador
2.
La proteccin: Son mecanismos que protegen los procesos que se ejecutan de interferencias de otros procesos.
3.
Uso compartido de cdigos y datos: con lo que el mecanismo de proteccin permite que ciertos procesos de un
mismo programa que comparten una tarea tengan memoria en comn.

Independientemente del esquema de organizacin hay que decidir las estrategias que se utilizarn para optimizar el
rendimiento.
Las estrategias de administracin deben considerar:
Cundo se consigue un nuevo programa para colocar en la memoria?:
Cundo el sistema lo pide especficamente o se 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 del almacenamiento?
Con qu criterio se desplazarn programas?
JERARQUIA DE ALMACENAMIENTO
Considera las transferencias de informacin entre los diversos niveles de memoria
Los niveles de almacenamiento incluyen:
v Almacenamiento primario: memoria principal.
v Almacenamiento secundario: discos, cintas, etc.
v Almacenamiento cach: memoria muy veloz diseada para aumentar la velocidad de ejecucin de los programas:
Aloja la parte (instrucciones y datos) en ejecucin de un programa.
Los niveles de almacenamiento crean jerarquas de almacenamiento: cach, almacenamiento primario,
almacenamiento secundario.
Al bajar en la jerarqua:
o Descienden el costo y la velocidad.
o Aumenta la capacidad.
Espacio de direcciones: conjunto de todas las direcciones disponibles para un programa
Los programas y datos necesitan estar en el almacenamiento principal para ser ejecutados o para poder hacer
referencia de ellos.
Los programas o datos que no se necesitan de inmediato pueden guardarse en el almacenamiento secundario hasta
que se necesiten, y en ese momento se transfieren al almacenamiento principal para ser ejecutados o hacer referencia
a ellos.

Los sistemas con varios niveles de almacenamiento requieren destinar recursos para administrar el movimiento de
programas y datos entre niveles
La memoria cach o memoria de alta velocidad es mucho ms rpida que el almacenamiento principal. La
memoria cach es extremadamente cara, por lo que slo se utilizan memorias cach relativamente pequeas.
La memoria cach introduce un nivel adicional de transferencia de informacin en el sistema, los programas son
traspasados de la memoria principal al cach antes de su ejecucin.
Los programas en la memoria cach se ejecutan mucho ms rpido que en la memoria principal.
Al utilizar memoria cach 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 ms rpida
en la cach.

PARTICIONES

El sistema operativo (S. O.) es el responsable de asignar memoria principal a los procesos para que puedan ser
ejecutados.

En un modelo de memoria con asignacin contigua, todo el espacio lgico de un proceso (Cdigo, Datos, Pila) ha de
estar ubicado de forma contigua en memoria principal, es decir en direcciones fsicas consecutivas
Cuando un proceso finaliza libera la memoria ocupada.
Particiones Mltiples de Memoria
En este esquema, la memoria principal se encuentra dividida de forma lgica en mltiples particiones de tamao fijo.

Cada particin es considerada como un nico hueco donde se ubicar un nico proceso.
El grado mximo de multiprogramacin (nmero mximo de procesos que pueden ejecutarse concurremente) en estos
sistemas es igual al nmero de particiones.

Un proceso nicamente puede ser ubicado en una particin, si el tamao de dicha particin es igual o mayor que el de
su espacio lgico.
El tamao de las particiones no vara con la evolucin de la memoria.
Particiones Mltiples de Memoria con Mltiples Colas

Disponemos de un conjunto de colas donde esperan los procesos para asignarles memoria.
Existen tantas colas como tamaos diferentes de particiones tenga la memoria.

Cada proceso es colocado en una cola u otra en funcin del tamao de memoria que solicita.
Las solicitudes de memoria para cada cola se satisfacen por orden de llegada (FIFO).
Los procesos no abandonan su cola de solicitud mientras no se les asigne memoria.
Cuando un proceso finaliza libera la particin de memoria que ocupaba y otro proceso de dicha cola puede ser ubicado
en ella.
FRAGMENTACIN DE MEMORIA
La fragmentacin es generada cuando durante el reemplazo de procesos quedan huecos entre dos o ms procesos de
manera no contigua y cada hueco no es capaz de soportar ningn proceso de la lista de espera.
Si un proceso requiere m palabras en memoria principal para correr y se ejecutan en una particin de n palabras, y si
n es mayor que m la diferencia entre n-m es una fragmentacin interna.
Si los programas no ocupan siempre todo el espacio disponible de memoria se denomina fragmentacin Interna.

La fragmentacin interna viene dada por todos aquellos espacios de memoria no utilizados en las particiones
ocupadas por procesos cuyo tamao es inferior al de la particin que se le ha asignado.
Fragmentacin Externa. Ocurre cuando una particin est disponible y no es usada, es decir es muy pequea para
que pueda correr un proceso.
La fragmentacin externa se puede reducir mediante la compactacin para colocar toda la memoria libre en un
solo gran bloque, pero esta slo es posible si la relocalizacin es dinmica y se hace en tiempo de ejecucin.
CONDENSACION
Unir o fusionar espacios o huecos adyacentes para formar uno ms grande.
Por ejemplo, si hay una solicitud de usuario de 5k y en la memoria hay disponibles 2 huecos contguos pero uno es
de 2k y el otro es 3k, entonces, para poder atender sa solicitud de usuario, se unen los 2 huecos que formaran
un slo hueco de 5k, por tanto ahora si cabra la solicitud en el hueco que hay disponible.
COMPACTACION
Una solucin para el problema de la fragmentacin externa es la compactacin. El objetivo consiste en desplazar
el contenido de la memoria para colocar junta toda la memoria libre en un solo bloque de gran tamao. Por ejemplo el
siguiente mapa de memoria de la Figura # 12, que puede compactarse.
Los tres huacos de 100K, 300K y 260K pueden compactarse en un hueco de 660K. La compactacin no siempre
es posible. En la figura 12 se han movido los procesos P4 y P3. Para que estos procesos puedan ejecutarse en sus
nuevas posiciones, hay que relocalizar todas las direcciones internas. Si la relocalizacin es esttica y se efecta
durante el ensamblado, o la carga, la compactacin slo es posible si la relozalizacin es dinmica y se efecta en el
momento de la ejecucin.
Puede ocurrir que los agujeros (reas libres) separados distribuidos por todo el almacenamiento principal
constituyan una cantidad importante de memoria:

Podra ser suficiente (el total global disponible) para alojar a procesos encolados en espera de memoria.

Podra no ser suficiente ningn rea libre individual (ver Figura 3.10).

La tcnica de compresin de memoria implica pasar todas las reas ocupadas del almacenamiento a uno de los
extremos de la memoria principal:

Deja un solo agujero grande de memoria libre contigua.

Esta tcnica se denomina recogida de residuos (ver Figura 3.11).

Principales desventajas de la compresin


Consume recursos del sistema (ver Figura 3.12).

El sistema debe detener todo mientras efecta la compresin, lo que puede afectar los tiempos de respuesta.
Implica la relocalizacin (reubicacin) de los procesos que se encuentran en la memoria:

La informacin de relocalizacin debe ser de accesibilidad inmediata.


Una alta carga de trabajo significa mayor frecuencia de compresin que incrementa el uso de recursos.
ESTRATEGIAS DE COLOCACION
Las estrategias de colocacin estn relacionadas con la determinacin del lugar de la memoria donde se colocar
(cargar un programa nuevo.
Se utilizan para determinar el lugar de la memoria donde sern colocados los programas y datos que van llegando y se
las clasifica de la siguiente manera:

Estrategia de mejor ajuste:


o Un trabajo nuevo es colocado en el agujero en el cual quepa de forma ms ajustada:

Debe dejarse el menor espacio sin usar.

Estrategia de primer ajuste:


o Un trabajo nuevo es colocado en el primer agujero disponible con tamao suficiente para alojarlo.

Estrategia de peor ajuste:


o Consiste en colocar un programa en el agujero en el que quepa de la peor manera, es decir en el ms
grande posible:

El agujero restante es tambin grande para poder alojar a un nuevo programa relativamente
grande.
Las estrategias de colocacin determinan en qu lugar del almacenamiento primario se debe colocar una pgina o
segmento entrante.

NOTA: Esto es trivial, porque una pgina o segmento entrante se puede ubicar en cualquier marco de pgina
disponible.
ADMINISTRACION DE 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 en disco duro de la mquina. Un sistema de memoria virtual se implementa utilizando
paginacin como mtodo de administracin de memoria bsica y algn mecanismo de intercambio (para descargar
pginas 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 mquina. 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 del, est en memoria real y el resto
almacenado en el disco, y puede ser referenciado fcilmente.
ESPACIOS DE DIRECCIONES LOGICAS VS FISICAS
Espacio de direcciones lgico: conjunto de direcciones lgicas o virtuales generadas por un programa
Espacio de direcciones fsico: conjunto de direcciones fsicas correspondientes a las direcciones lgicas en un instante
dado
PAGINACION
En la gestin de memoria con intercambio, cuando haba que pasar un proceso a ejecucin, era necesario traer el
proceso entero de disco a memoria principal.
Con memoria virtual hemos dicho que no se trae todo el proceso, sino que cuando se hace referencia a una
direccin de memoria virtual cuya correspondiente memoria fsica reside en disco, se trae el contenido de disco a RAM.
Quiere esto decir que la unidad de intercambio de memoria es el byte? Si lo fuera, dara lugar a que
continuamente se estuviesen generando operaciones de E/S, lo cual sera poco eficaz. Claramente, parece ms
conveniente utilizar bloques ms grandes, para aprovechar de manera ms eficiente cada operacin de E/S.

Caractersticas de la paginacin

El espacio de direcciones lgico de un proceso puede ser no contiguo.

Se divide la memoria fsica en bloques de tamao fijo llamados marcos (frames).

Se divide la memoria en bloques de tamao llamados pginas.

Se mantiene informacin en los marcos libres.

Para correr un programa de en pginas de tamao, se necesitan encontrar n marcos y cargar el programa.

Se establece una tabla de pginas para trasladar las direcciones lgicas a fsicas.

Se produce fragmentacin interna.


Ventajas de la paginacin

Es posible comenzar a ejecutar un programa, cargando solo una parte del mismo en memoria, y el resto se
cargara bajo la solicitud.

No es necesario que las paginas estn contiguas en memoria, por lo que no se necesitan procesos de
compactacin cuando existen marcos de pginas libres dispersos en la memoria.

Es fcil controlar todas las pginas, ya que tienen el mismo tamao.

El mecanismo de traduccin de direcciones (DAT) permite separar los conceptos de espacio de direcciones y
espacios de memoria. Todo el mecanismo es transparente al usuario.
Desventajas de la paginacin

El costo de hardware y software se incrementa, por la nueva informacin que debe manejarse y el mecanismo
de traduccin de direcciones necesario. Se consumen muchos ms recursos de memoria, tiempo en el CPU
para su implantacin.

Se deben reservar reas de memoria para las PMT de los procesos. Al no ser fijo el tamao de estas, se crea
un problema semejante al de los programas (cmo asignar un tamao ptimo sin desperdicio de memoria, u
ovearhead del procesador).
SEGMENTACIN

Es un esquema de manejo de memoria mediante el cual la estructura del programa refleja su divisin lgica,
llevndose a cabo una agrupacin lgica de la informacin en bloques de tamao variable denominados segmentos.
Cada uno de ellos tienen informacin lgica del programa: subrutina, arreglo, etc. Luego, cada espacio de direcciones
de programa consiste de una coleccin de segmentos, que generalmente reflejan la divisin lgica del programa.
Objetivos:

Modularidad de programas: Cada rutina del programa puede ser un bloque sujeto a cambios y recopilaciones,
sin afectar por ello al resto del programa.

Estructuras de datos de largo variable: Ejm. Stack, donde cada estructura tiene su propio tamao y este puede
variar.

Proteccin: Se pueden proteger los mdulos del segmento contra accesos no autorizados.

Comparticin: Dos o ms procesos pueden ser un mismo segmento, bajo reglas de proteccin; aunque no sean
propietarios de los mismos.

Enlace dinmico entre segmentos: Puede evitarse realizar todo el proceso de enlace antes de comenzar a
ejecutar un programa. Los enlaces se establecern slo cuando sea necesario.
Ventajas de la segmentacin
El esquema de segmentacin ofrece las siguientes ventajas:

El programador puede conocer las unidades lgicas de su programa, dndoles un tratamiento


particular.

Es posible compilar mdulos separados como segmentos el enlace entre los segmentos puede suponer
hasta tanto se haga una referencia entre segmentos.

Debido a que es posible separar los mdulos, se hace ms fcil la modificacin de los mismos. Cambios
dentro de un mdulo no afecta al resto de los mdulos.

Es fcil el compartir segmentos.

Es posible que los segmentos crezcan dinmicamente segn las necesidades del programa en
ejecucin.

Existe la posibilidad de definir segmentos que an no existan. As, no se asignar memoria, sino a partir
del momento que sea necesario hacer usos del segmento. Un ejemplo de esto, seran los arreglos cuya
dimensin no se conoce hasta tanto no se comienza a ejecutar el programa. En algunos casos, incluso podra
retardar la asignacin de memoria hasta el momento en el cul se referencia el arreglo u otra estructura de
datos por primera vez.
PAGINACION POR DEMANDA
Las paginas son cargadas por demanda, no se llevan pginas del almacenamiento secundario al primario
hasta que son referenciadas explcitamente por un proceso en ejecucin.
Las razones del atractivo de esta estrategia son:
v Los resultados de computabilidad, en especial el problema de parada, indican que el camino que tomar la
ejecucin de un programa no se puede predecir con exactitud.
v Garantiza que solo las pginas que necesita el proceso sean tradas al almacenamiento principal.
v La sobrecarga de proceso para decidir qu pgina traer al almacenamiento principal es mnima.
v El principal inconveniente est en los procesos que requieren acumular sus pginas una por una:
v Los tiempos de espera de pginas son considerables.

Es creciente la cantidad de almacenamiento primario afectada al proceso que espera pginas, por lo que
el producto espacio - tiempo se incrementa.
El producto espacio - tiempo indica la cantidad de almacenamiento que usa un proceso y la cantidad de tiempo que
lo usa.
La reduccin del producto espacio - tiempo de las esperas de pginas de un proceso es una meta importante de las
estrategias de administracin del almacenamiento (ver Figura 3.38).

FALLO DE PGINA
Un fallo de pgina es la secuencia de eventos que ocurren cuando un programa intenta acceder a datos (o
cdigo) que est en su espacio de direcciones, pero que no est actualmente ubicado en la RAM del sistema. El

sistema operativo debe manejar los fallos de pgina haciendo residentes en memoria los datos accedidos, permitiendo
de esta manera que el programa continue la operacin como que si el fallo de pgina nunca ocurri.
En el caso de nuestra aplicacin hipottica, el CPU primeramente presenta la direccin deseada (12374) al MMU. Sin
embargo, el MMU no tiene traduccin para esta direccin. Por tanto, interrumpe al CPU y causa que se ejecute un
software, conocido como el manejador de fallos de pgina. El manejador de fallos de pgina determina lo que se debe
hacer para resolver esta falla de pgina. El mismo puede:
Encontrar dnde reside la pgina deseada en disco y la lee (este es usualmente el caso si el fallo de pgina es por una
pgina de cdigo)
Determina que la pgina deseada ya est en RAM (pero no est asignada al proceso actual) y reconfigura el MMU para
que apunte a el
Apunta a una pgina especial que solamente contiene ceros y asigna una nueva pgina para el proceso solamente si
este intenta alguna vez escribir a la pgina especial (esto se llama una pgina de copia en escritura y es utilizada a
menudo por pginas que contienen datos inicializados a cero)
Obtener la pgina deseada desde otro lugar (lo que se discute en detalle ms adelante)
Mientras que las primeras tres acciones son relativamente sencillas, la ltima no lo es. Por eso necesitamos cubrir
algunos tpicos
SEGMENTACION PAGINADA
Paginacin y segmentacin son tcnicas diferentes, cada una de las cuales busca brindar las ventajas enunciadas
anteriormente.
Para la segmentacin se necesita que estn cargadas en memoria reas de tamaos variables. Si se requiere cargar
un segmento en memoria que antes estuvo en ella y fue removido a memoria secundaria, se necesita encontrar una
regin de la memoria lo suficientemente grande para contenerlo, lo cual no es siempre factible. En cambio recargar
una pgina implica slo encontrar un marco de pgina disponible.
A nivel de paginacin, si quiere referenciar en forma cclica n pginas, estas debern ser cargadas una a una,
generndose varias interrupciones por fallas de pginas. Bajo segmentacin, esta pgina podra conformar un slo
segmento, ocurriendo una sola interrupcin por falla de segmento. No obstante, si bajo segmentacin se desea
acceder un rea muy pequea dentro de un segmento muy grande, este deber cargarse Completamente en
memoria, desperdicindose memoria. Bajo paginacin slo se cargar la pgina que contiene los tems referenciados.
Puede hacerse una combinacin de segmentacin y paginacin para obtener las ventajas de ambas. En lugar de tratar
un segmento como una unidad contigua, ste puede dividirse en pginas. Cada segmento puede ser descrito por su
propia tabla de pginas.
Las direcciones tienen tres componentes: (s, p, d), donde la primera indica el nmero del segmento, la segunda el
nmero de la pgina dentro del segmento y la tercera el desplazamiento dentro de la pgina. Se debern usar varias
tablas:
- SMT (tabla de mapas de segmentos): Una para cada proceso. En cada entrada de la SMT se almacena la informacin
descrita bajo segmentacin pura, pero en el campo de direccin se indicara la direccin de la PMT (tabla de mapas de
pginas) que describe a las diferentes pginas de cada segmento.
- PMT (tabla de mapas de pginas): Una por segmento; cada entrada de la PMT describe una pgina de un segmento,
en la forma que se present la pagina pura.
- TBM (tabla de bloques de memoria): Para controlar asignacin de pginas por parte del sistema operativo.
- JT (tabla de Jobs): Que contiene las direcciones de comienzo de cada una de las SMT de los procesos que se ejecutan
en memoria.
: "Times New Roman"; mso-fareast-language: ES-VE;">Ventajas de la segmentacin paginada:

comparticin

El esquema de segmentacin paginada tiene todas las ventajas de la segmentacin y la paginacin:


Debido a que los espacios de memorias son segmentados, se garantiza la facilidad de implantar la
y enlace.
Como los espacios de memoria son paginados, se simplifican las estrategias de almacenamiento.
Se elimina el problema de la fragmentacin externa y la necesidad de compactacin.

Desventajas de la segmentacin paginada:

Los tres componentes de la direccin y el proceso de formacin de direcciones hacen que se incremente
el costo de su implantacin. El costo es mayor que en el caso de de segmentacin pura o paginacin pura.

Se hace necesario mantener un nmero mayor de tablas en memoria, lo que implica un mayor costo de
almacenamiento.

Sigue existiendo el problema de fragmentacin interna de todas -o casi todas- las pginas finales de
cada uno de los segmentos. Bajo paginacin pura se desperdicia slo la ltima pgina asignada, mientras que bajo
segmentacin paginada el desperdicio puede ocurrir en todos los segmentos asignados.

PAGINACION SEGMENTADA
Las direcciones virtuales se componen de 3 partes: segmento, pgina y desplazamiento.

El segmento sirve para indizarse en una tabla de segmentos en la cual se encuentra la longitud y direccin de la
tabla de pginas.

La pgina sirve para indizarse en la tabla de pginas, en donde se encuentra la direccin de la pgina
correspondiente; se puede llegar a la direccin en memoria real.
Las estrategias para la administracin de sistemas de almacenamiento virtual condicionan la conducta de los sistemas
de almacenamiento virtual que operan segn esas estrategias.
Se consideran las siguientes estrategias:
Estrategias de bsqueda:
Tratan de los casos en que una pgina o segmento deben ser trados del almacenamiento secundario al primario.
Las estrategias de bsqueda por demanda esperan a que se haga referencia a una pgina o segmento por un
proceso antes de traerlos al almacenamiento primario.
Los esquemas de bsqueda anticipada intentan determinar por adelantado a qu pginas o segmentos har
referencia un proceso para traerlos al almacenamiento primario antes de ser explcitamente referenciados.
Estrategias de colocacin:
Tratan del lugar del almacenamiento primario donde se colocar una nueva pgina o segmento.
Los sistemas toman las decisiones de colocacin de una forma trivial ya que una nueva pgina puede ser colocada
dentro de cualquier marco de pgina disponible.
Estrategias de reposicin:
Tratan de la decisin de cul pgina o segmento desplazar para hacer sitio a una nueva pgina o segmento cuando el
almacenamiento primario est completamente comprometido.