Sie sind auf Seite 1von 18

5.

6 Manejo de espacio de memoria secundaria


Segn Stallings William (2002.) La memoria secundaria requiere que la computadora use sus canales de entrada/salida para acceder a la informacin y se utiliza para almacenamiento a largo plazo de informacin persistente. Dice Stallings William (2002.). Que sin embargo, la mayora de los sistemas operativos usan los dispositivos de almacenamiento secundario como rea de intercambio para incrementar artificialmente la cantidad aparente de memoria principal en la computadora. La memoria secundaria tambin se llama "de almacenamiento masivo". Habitualmente, la memoria secundaria o de almacenamiento masivo tiene mayor capacidad que la memoria primaria, pero es mucho ms lenta. En las computadoras modernas, los discos duros suelen usarse como dispositivos de almacenamiento masivo. Segn Stallings William (2002.). Los espacios de direcciones involucrados en el manejo de la memoria son de tres tipos: Direcciones fsicas: Son aquellas que referencian alguna posicin en la memoria fsica. Direcciones lgicas: Son las direcciones utilizadas por los procesos. Sufren una serie de transformaciones, realizadas por el procesador (la MMU), antes de convertirse en direcciones fsicas. Direcciones lineales: Direcciones lineales se obtienen a partir de direcciones lgicas tras haber aplicado una transformacin dependiente de la arquitectura. Los programas de usuario siempre tratan con direcciones virtuales, nunca ven las direcciones fsicas reales.
http://unidad5-6deso-pimienta.blogspot.mx/2008/11/56-manejo-de-espacio-en-memoria.html

5.6 Manejo de espacio en memoria secundaria


Tanenbaum y Woodhull (1997) Abarcan los siguientes conceptos en su investigacin:

La memoria secundaria requiere que la computadora use sus canales de entrada/salida para acceder a la informacin y se utiliza para almacenamiento a largo plazo de informacin persistente. Sin embargo, la mayora de los sistemas operativos usan los dispositivos de almacenamiento secundario como rea de intercambio para incrementar artificialmente la cantidad aparente de memoria principal en la computadora. La memoria secundaria tambin se llama "de almacenamiento masivo". Habitualmente, la memoria secundaria o de almacenamiento masivo tiene mayor capacidad que la memoria primaria, pero 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 unas milsimas de segundo (milisegundos). En cambio, el tiempo para acceder al mismo tipo de informacin en una memoria de acceso aleatorio se mide en mil-millonsimas de segundo (nanosegundos).

http://sistemasoperativos56-vidal.blogspot.mx/2008/11/56-manejo-de-espacio-en-memoria.html

5. GESTIN DEL ALMACENAMIENTO SECUNDARIO


En memoria secundaria, un archivo consta de un conjunto de bloques. El sistema operativo o el sistema de gestin de archivos es responsable de la asignacin de los bloques a archivos. Esto suscita dos cuestiones sobre la gestin. En primer lugar, debe asignarse el espacio de memoria secundaria a los archivos y, en segundo lugar, es necesario guardar constancia del espacio disponible para asignar. Asignacin de Archivos En la asignacin de archivos surgen varias cuestiones:

1. Cuando se crea un nuevo archivo, se asigna de una sola vez el mximo espacio que necesite? 2. El espacio se asigna a un archivo en forma de una o ms unidades contiguas, que se llaman secciones. El tamao de una seccin puede variar desde un nico bloque a un archivo entero. .Qu tamao de seccin debera usarse para asignar archivos? 3. Qu tipo de estructura de datos o tabla se usar para guardar constancia de las secciones asignadas a un archivo? Dicha tabla se conoce normalmente como tabla de asignacin de archivos (FAT).

Asignacin Previa frente a Asignacin Dinmica Una poltica de asignacin previa requerira que el tamao mximo de un archivo se declarase en el momento de crearlo. En algunos casos, como al compilar los programas, al crear archivos de datos de resumen o al transferir un archivo desde otro sistema por una red

de comunicaciones, este valor puede estimarse. Sin embargo, para muchas aplicaciones es difcil, si no imposible, estimar de manera fiable el posible tamao mximo del archivo. 1. La contigidad del espacio aumenta para el las operaciones de

rendimiento, especialmente

Recuperar_Siguiente y. sobremanera, para ejecutar las transacciones de un sistema orientado a transacciones. 2. Disponer de un gran nmero de secciones pequeas aumenta el tamao de las tablas necesarias para gestionar la asignacin de informacin. 3. Disponer de secciones de tamao fijo por ejemplo, bloques simplifica la reasignacin del espacio. 4. Disponer de secciones de tamao variable o secciones pequeas de tamao fijo minimiza la prdida de espacio no usado provocada por la sobre asignacin. Por supuesto, estos elementos interactan entre s y deben

considerarse en conjunto. Como resultado se tienen dos opciones principales: 5. Secciones contiguas variables y grandes: Esta opcin ofrecer un rendimiento mejor. El tamao variable evitar la prdida y las tablas de asignacin de archivos sern pequeas. Sin embargo, el espacio es difcil de reutilizar. 6. Bloques: Las secciones fijas y pequeas ofrecen una flexibilidad mayor. Se pueden necesitar tablas grandes o estructuras complejas para su asignacin. La contigidad se abandona; los bloques se asignan a medida que se necesiten.

Primer hueco (first fit: Elegir el primer grupo de bloques contiguo sin usar de tamao suficiente.

Mejor hueco (best fit): Elegir el grupo ms pequeo sin usar que tenga tamao suficiente. Hueco mas cercano (nearest fit): Elegir el grupo sin usar de tamao suficiente que este ms cercano al asignado previamente al archivo para aumentar la cercana.

Mtodos de Asignacin de Archivos Despus de ver la discusin entre asignacin previa y dinmica y el tamao de seccin, se est en posicin de considerar mtodos especficos de asignacin de archivos. Son de uso comn tres mtodos: contiguo, encadenado e indexado. La tabla de asignacin de archivos necesita slo una entrada por cada archivo, que muestre el bloque de comienzo y la longitud del archivo. La asignacin contigua es la mejor desde el punto de vista de un archivo secuencial individual. Se pueden traer mltiples bloques de una vez para mejorar el rendimiento en los tratamientos secuenciales. Tambin es fcil recuperar un solo bloque. Por ejemplo, si un archivo empieza en el bloque b y se necesita el bloque i-simo del archivo, su ubicacin en memoria secundaria es simplemente b + i. Una consecuencia del encadenamiento, como se ha descrito hasta ahora, es que no hay cabida para el principio de cercana. De esta

manera, si es necesario traer varios bloques de un archivo al mismo tiempo, como en el procesamiento secuencial, se necesita una serie de accesos a partes diferentes del disco. El efecto es quiz ms significativo en un sistema monousuario, pero puede ser tambin de consideracin en un sistema compartido. Para solventar este problema, algunos sistemas concentran los archivos peridicamente.En cualquier caso, los archivos pueden concentrarse en zonas cercanas de cuando en cuando. La concentracin reduce el tamao del ndice en el caso de secciones de tamao variable, pero no en el caso de asignacin por bloques. La asignacin indexada soporta tanto el acceso secuencia! como el acceso directo a los archivos y por ello se ha convertido en la forma ms popular de asignacin de archivos.

Gestin del Espacio Libre Al igual que el espacio asignado a los archivos, se debe gestionar el espacio que no queda asignado actualmente a ningn archivo. Para llevar a cabo cualquiera de las tcnicas de asignacin que se han descrito, es necesario saber qu bloques del disco estn disponibles. Por tanto, hace falta una tabla de asignacin de disco adems de una tabla de asignacin de archivos. Tres tcnicas son de uso comn: las tablas de bits, las secciones libres encadenadas y la indexacin.

Asignacin encadenada

Tablas de Bits El mtodo de las tablas de bits utiliza un vector que contiene un bit por cada bloque del disco. Cada entrada igual a O corresponde a un bloque libre y cada I corresponde a un bloque en uso. Por ejemplo, para la disposicin del disco de la figura 11.7, se necesitara un vector de longitud 35 que tendra el siguiente valor: 00111000011111000011111111111011000 Las tablas de bits tienen la ventaja de que es relativamente fcil encontrar un bloqueo un grupo contiguo de bloques libres. Las tablas de bits trabajan bien con cualquiera de los mtodos de asignacin de archivos discutidos. Otra ventaja es que puede ser tan pequea como sea posible y puede mantenerse en memoria principal. Esto evita la necesidad de traer la tabla de asignacin de disco a memoria cada vez que se realice una asignacin.

Secciones libres encadenadas Las secciones libres pueden encadenarse juntas mediante un puntero y un valor de longitud en cada seccin libre. Este mtodo tiene un gasto insignificante porque no hay necesidad de tabla de asignacin de disco, sino simplemente un puntero al comienzo de la cadena y la longitud de la primera seccin. Este mtodo sirve para todas las tcnicas de asignacin de archivos. Si la asignacin se realiza por bloques, solamente hay que elegir el bloque libre del principio de la cadena y retocar el primer puntero o el valor de longitud. Si la asignacin se hace por secciones de longitud variable, puede usarse el algoritmo del Primer Hueco: Se traen la cabeceras de la seccin una a una para determinar la siguiente seccin de la cadena que se ajuste. De nuevo, hay que retocar el puntero y las longitudes.

Indexacin El mtodo de indexacin trata el espacio libre como si fuera un

archivo y

utiliza una tabla ndice como la descrita en el apartado

"Mtodos de Asignacin de Archivos". Por rayones de eficiencia, el ndice debe trabajar con secciones de tamao variable mejor que con bloques. De este modo, habr una entrada en la tabla para cada seccin libre del disco. Este procedimiento ofrece un soporte eficaz para todos los mtodos de asignacin de archivos. Fiabilidad Considrese el escenario siguiente: 1. El usuario A solicita una asignacin para aadir datos a un archivo existente. 2. La peticin se atiende y se actualizan en memoria principal las tablas de asignacin de disco y archivos, pero no an en el disco. 3. El sistema se hunde y a continuacin se reinicia. 4. El usuario B solicita una asignacin y se le otorga un espacio en el disco que se solapa con la ltima asignacin hecha al usuario A. 5. El usuario A accede a la seccin solapada mediante una referencia que est almacenada en el archivo de A.

Esta dificultad surge debido a que, por eficiencia, el sistema mantiene copias de la tabla de asignacin de disco y la tabla de asignacin de

archivos en memoria principal. Para evitar esta clase de errores, pueden darse los siguientes pasos cuando se solicite una asignacin:

1. Bloquear en el disco la tabla de asignacin de disco. Este impedir a otro usuario alterar la tabla hasta que la asignacin actual se complete. 2. Buscar espacio disponible en la tabla de asignacin de disco. Se supone que se mantiene siempre en memoria principal una copia de la tabla de asignacin de disco. Si no fuese as, primero debe leerse sta del disco. 3. Asignar el espacio, actualizar la tabla de asignacin de disco y actualizar el disco. Actualizar el disco implica volcar de nuevo al disco la tabla de asignacin de disco. Con asignacin encadenada, tambin se necesita actualizar algunos punteros del disco. 4. Actualizar la tabla de asignacin de archivos y actualizar el disco. 5. Desbloquear la tabla de asignacin de disco. Esta tcnica impedir los errores. Sin embargo, cuando se asignan pequeas secciones de manera frecuente, el impacto en el rendimiento ser sustancial. Para reducir este gasto, puede usarse un esquema de asignacin por lotes, en cuyo caso se obtienen lotes de secciones libres del disco para asignacin.

Intercalado de Discos En los ltimos aos, ha habido un gran inters en el uso de varios discos para almacenar un solo archivo, tcnica conocida como intercalado de

discos

(disk

interleaving) NG88,

bandas

de Un

discos grupo se

(disk de

sttripping) discos est en

[CHEN90,

KATZ89,

REDD89].

intercalado si secciones sucesivas de un archivo

almacenan

discos diferentes de un vector (array) de discos. La granularidad de la distribucin puede variar del nivel de bloque al nivel de byte. En el primer caso, se almacenan bloques sucesivos de un archivo en discos sucesivos; en el ltimo caso, los bytes individuales de un archivo son distribuidos por los discos. En memoria, el archivo es almacenado de la forma usual, como un conjunto de bloques. Para leer o escribir un bloque, la asignacin ser: B, se almacena en la unidad de disco ((Bi - 1) mod n) + 1 Donde Bi = i-simo bloque (intercalado de bloques) o i-simo byte del bloque (intercalado de bytes) n = nmero de discos en el vector de discos Con el intercalado de discos, las peticiones de E/S al archivo tienden a estar uniformemente distribuidas por todos los discos del vector, dando una productividad mayor y un mejor tiempo de respuesta. Este mtodo de asignacin aparta al administrador de las tareas de monitorizar el sistema y trasladar los archivos para obtener un equilibrio adecuado del sistema. Adems, la carga de peticiones tender a mantenerse equilibrada an con distintos tipos de peticiones de cada aplicacin. Se han estudiado tres procedimientos: unidades independientes,

vectores sincronizados y vectores desincronizados. Con las unidades independientes [OLS089], la granularidad del intercalado tiene lugar a nivel de bloque. Es decir, los bloques sucesivos de un archivo son ubicados en discos sucesivos. Debe mantenerse un ndice global para cada archivo. El sistema operativo es responsable de manejar los discos en paralelo.

El mtodo de los vectores sincronizados requiere que todos los discos giren, busquen y transfieran los datos en sincrona unos con otros. El intercalado es a nivel de byte. El resultado es que puede accederse a los datos en paralelo, reduciendo el tiempo de transferencia de datos en un factor de 1/n. donde n es el grado de intercalado. Los vectores sincronizados no reducen el tiempo de bsqueda o la latencia de giro, pero ofrecen un gran ancho de banda al hacer la transferencia con todos los discos a la vez. Para una sola aplicacin grande que lee o escribe de un archivo grande, este mtodo puede aumentar la velocidad sustancialmente.
http://sistemasoperativos1.uphero.com/GestionArchivo-5.html

4. ALMACENAMIENTO SECUNDARIO
El sistema de almacenamiento secundario se usa para guardar los programas y datos en dispositivos rpidos, de forma que sean fcilmente accesibles a las aplicaciones a travs del sistema de archivos.

En la siguiente imagen se muestra el sistema de E/S en el sistema operativo LINUX y la parte del mismo correspondiente a la gestin del sistema de almacenamiento secundario. Como se podr observar, hay dos elementos principales involucrados en este sistema.

Discos: El almacenamiento secundario se lleva a cabo casi exclusivamente sobre discos, por lo que es interesante conocer su estructura y cmo se gestionan. Manejadores de disco: Controlan todas las operaciones que se hacen sobre los discos, entre las que son especialmente

Importantes las cuestiones de planificacin de peticiones a disco. DISCOS Los discos son los dispositivos bsicos para llevar a cabo almacenamiento masivo y no voltil de datos. Adems se usan como plataforma para el sistema de intercambio que usa el gestor de memoria virtual. Son dispositivos electromecnicos (HARD DISK) u optomecnicos (CD-ROM y DVD), que se acceden a nivel de bloque lgico por el sistema de archivos y que, actualmente, se agrupan en dos tipos bsicos, atendiendo a la interfaz de su controlador:

Dispositivos SCSI (Small Computer System Interface), cuyos controladores ofrecen una interfaz comn independientemente de que se trate de un disco, una cinta, un CD-ROM, etc. Un controlador SCSI puede manejar hasta ocho discos y puede tener una memoria interna de varios MB.

Dispositivos IDE (Integrated Drive Electronics), que suelen usarse para conectar los discos en todas las computadoras personales. Actualmente estos controladores se han extendido al sistema EIDE, una mejora de IDE que tiene mayor velocidad de transferencia. Puede manejar hasta cuatro discos IDE. Es barato y muy efectivo.

Y a tres tipos bsicos atendiendo a su tecnologa de fabricacin:

Discos duros (Winchester): Dispositivos de gran capacidad compuestos por varias superficies magnetizadas y cuyas cabezas lectoras funcionan por efecto electromagntico. Actualmente su capacidad mxima est entre 1 y 2 Terabytes.

Discos pticos: Dispositivos de gran capacidad compuestos por una sola superficie y cuyas cabezas lectoras funcionan por lser. Actualmente su capacidad mxima est en los 700 MB. Hasta hace muy poco, la superficie se agujereaba fsicamente y no se podan regrabar. Sin embargo, actualmente existen discos con superficie magntica regrabables.

Discos extrables: Dispositivos de poca capacidad similares a un disco duro, pero cuyas cabezas lectoras se comportan de forma distinta. En este tipo se engloban los disquetes (floppies), discos ZIP y JAZZ.

El manejador de disco
El manejador de disco se puede ver como una caja negra que recibe peticiones de los sistemas de archivos y del gestor de bloques y las traslada a un formato que entiende el controlador del dispositivo. Sin embargo, el diseador de sistemas operativos debe entrar en los detalles del interior de un controlador y determinar sus funciones principales, entre las que se incluyen:

1. Proceso de la peticin de E/S de bloques. 2. Traduccin del formato lgico a mandatos del controlador. 3. Insercin de la peticin en la cola del dispositivo, llevando a
cabo la poltica de planificacin de disco pertinente (FIFO, SJF, SCAN, CSCAN, EDF, etc.).

4. Envo de los mandatos al controlador, programando el DMA. 5. Bloqueo en espera de la interrupcin de E/S. 6. Comprobacin del estado de la operacin cuando llega la
interrupcin.

7. Gestin de los errores, si existen, y resolverlos si es posible.

8. Indicacin del estado de terminacin al nivel superior del


sistema de E/S.

Discos en memoria
Los discos en memoria RAM son una forma popular de optimizar el almacenamiento secundario en sistemas operativos convencionales y de proporcionar almacenamiento en sistemas operativos de tiempo real, donde las prestaciones del sistema exigen dispositivos ms rpidos que un disco convencional.

Hay dos formas bsicas de proporcionar discos en memoria:

Discos RAM: Los discos RAM son dispositivos de bloques que proporciona el sistema operativo y que se almacenan, generalmente, en la propia memoria del sistema operativo. Un disco RAM es una porcin de memoria de un tamao arbitrario dividida en bloques, a nivel lgico, por el sistema operativo que muestra una interfaz de disco similar al de cualquier disco de dispositivo secundario.

Discos slidos: Los discos slidos son sistemas de almacenamiento secundario no voltiles fabricados colocando chips de memoria RAM en placas. Las placas se conectan al bus del sistema y se acceden a la misma velocidad que la memoria principal (nanosegundos). Hay una diferencia fundamental entre estos sistemas y los discos RAM: tienen hardware, y puede que un controlador, propio. La interfaz sigue siendo la de un dispositivo de bloques, encargndose el manejador de traducir peticiones de bloque a memoria. Las transferencias, sin embargo, se pueden convertir en

operaciones de lectura o escritura a dependiendo de la instalacin del disco slido.

puertos,

Los discos en chips son la ltima tendencia en discos slidos implementados con memoria. Combinan memoria flash de alta densidad y una interfaz sencilla, proyectada en memoria o a travs de puertos, para proporcionar almacenamiento secundario en un chip.

Fiabilidad y tolerancia a fallos El sistema de E/S es uno de los componentes del sistema con mayores exigencias de fiabilidad, debido a que se usa para almacenar datos y programas de forma permanente. Las principales tcnicas usadas para proporcionar esta fiabilidad son:

Cdigos correctores de error, como los existentes en las cabeceras y colas de los sectores. Operaciones fiables, cuya correccin se puede verificar antes de dar el resultado de la operacin de E/S. Esta tcnica se implementa almacenamiento estable. mediante tcnicas de

Redundancia, tanto en datos replicados [ 19921 como en cdigo de paridad para detectar errores y recuperarlos. Esta tcnica se implementa mediante el uso de dispositivos RAID (Redundan Array of Inexpensive Disks). Redundancia hardware, como el sistema de Windows NT que permite conectar un disco a travs de dos controladores.

Todas estas tcnicas contribuyen a incrementar la fiabilidad del sistema de E/S y proporcionan tolerancia a fallos para hacer frente a algunos de los errores que antes se calificaron de permanentes. A continuacin se

estudian con ms detalle los mecanismos de almacenamiento estable y los discos RAID.
http://sistemasoperativos1.uphero.com/EntradaSalida-4.html

5.6.- MANEJO DE ESPACIO EN MEMORIA SECUNDARIA. 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 * Lista ligada (lista libre) * Por conteo (agrupacin)

Vector de bits El espacio libre en disco es frecuentemente implementado como un mapa de bits, donde cada sector es representado por un bit y si el sector es libre el bit es cero de lo contrario est asignado. Lista ligada Existe una cabecera en la que se tiene la direccin del primer sector vacio, ese sector a su vez, tiene un apuntador al siguiente sector, y as sucesivamente hasta que se encuentre una marca indicando que ya no hay espacio libre. Por conteo Aqu, por cada conjunto de sectores contiguos que estn vacios, se tiene por cada apuntador, un nmero de inicio y el tamao del grupo de sectores vacios. Mtodos de asignacin de espacio en disco Un mtodo de asignacin de espacio en disco determina la manera en que un Sistema Operativo controla los lugares del disco ocupados por cada archivo de datos.
* Contigua * Ligada * Indexada

Asignacin contigua

Este mtodo consiste en asignar el espacio en disco de tal manera que las direcciones de todos los bloques correspondientes a un archivo definen un orden lineal. Asignacin ligada En este mtodo, cada archivo es una lista ligada de bloques de disco. En el directorio hay un apuntador al bloque de inicio y un apuntador al bloque final para cada archivo. En cada uno de los bloques donde se encuentra un archivo hay un apuntador al siguiente bloque de la lista. Asignacin indexada Cada archivo tiene su bloque ndice, El cual es un arreglo de direcciones de bloques de disco. La i-sima entrada en el bloque ndice apunta al i-simo bloque que conforma el archivo.
http://www.mitecnologico.com/Main/ManejoEspacioMemoriaSecundaria

Das könnte Ihnen auch gefallen