Está en la página 1de 16

Unidad 7: Gestión 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
información en dispositivos tales como discos, cintas magnéticas, 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 través
del dispositivo de entrada.

La gestión de memoria secundaria permite realizar los


almacenamientos que conforman el subsistema también se le conoce como
memoria externa o memoria auxiliar Puede denominarse periférico de
almacenamiento o “memoria periférica”, en contraposición a la ‘memoria
central’, porque en ocasiones puede considerarse como periférico de
Entrada/Salida.

Características de memoria secundaria

 Gran capacidad de almacenamiento.


 Conserva información a falta de alimentación eléctrica.
 Bajas velocidades de transferencia de información.
 Mismo formato de almacenamiento que en memoria primaria.
 Siempre es independiente de la CPU y de la memoria primaria. Debido
a esto, los dispositivos de almacenamiento secundario, también son
conocidos como, dispositivos de almacenamiento externo.
Archivos

En la Memoria Secundaria un archivo consta de un conjunto de bloques


(correspondiente a la cantidad de información que se transfiere físicamente en
cada operación de acceso (lectura o escritura).

El Sistema Operativo o Sistema de Gestión de Archivos es el encargado


de la asignación 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 implantación se
consigue guardando la dirección del primer block libre y el número de los
blocks libres contiguos que le siguen. Cada entrada de la lista de espacio libre
consiste de una dirección de disco y un contador (por conteo).

Por agrupación. Se almacena la dirección en n blocks libres en el primer block


libre y el último contiene la dirección de otro block que contiene la dirección de
otros blocks libres.
Para manejar los espacios en disco existen los siguientes métodos:

1 Contiguos. Esta asignación requiere que cada archivo ocupe un conjunto


de direcciones contiguas en el disco, su asignación es definida por la dirección
del primer bloc y la longitud del archivo.

Cuando se crea un archivo se le asigna un único conjunto contiguo de bloques,


esta es una estrategia de asignación previa que emplea secciones de tamaño
variable. La tabla de asignación de archivos necesita solo una entrada por
cada archivo y que muestre el bloque de comienzo y la longitud del archivo.
La asignación contigua es la mejor para un archivo secuencial.

La asignación contigua presenta algunos problemas, como la fragmentación


externa. Lo que hace difícil encontrar bloques contiguos de espacio de tamaño
suficiente., lo que lleva a ejecutar un algoritmo de compactación para libera el
espacio adicional en el disco.

2 Asignación ligada o encadenada. Cada archivo es una lista ligada de


blocks y el directorio contiene un apuntador al primer bloc y al último.

La asignación se hace con bloques individuales, cada bloque contendrá un


puntero al siguiente bloque de la cadena. La tabla de asignación de archivos
necesita una sola entrada por cada archivo que muestre el bloque de comienzo
y la longitud del mismo, cualquier bloque puede añadirse a la cadena. No hay
que preocuparse por la fragmentación externa porque solo se necesita un
bloque cada vez.

Una consecuencia del encadenamiento es que no hay cabida para el principio


de cercanía, si es necesario traer varios bloques de un archivo al mismo
tiempo, se necesita una serie de accesos a partes diferentes del disco por lo
que se debe ejecutar un algoritmo de compactación para liberar el espacio
adicional en el disco.

3 Asignación Indexada. Cada archivo tiene su propio bloc de índice el cual


es un arreglo de direcciones de bloc.

En esta asignación la tabla de asignación de archivos contiene un índice


separado de un nivel para cada archivo: el índice posee una entrada para cada
sección asignada al archivo. Normalmente, los índices no están almacenados
físicamente como parte de la tabla de asignación de archivos. Mas
exactamente el índice de archivo se guardara en un bloque aparte y la entrada
del archivo en la entrada de asignación apuntara a dicho bloque.

La asignación puede hacerse por bloques de tamaño fijo, O en secciones de


tamaño variable. La asignación por bloques elimina la fragmentación externa,
mientras que la asignación por secciones de tamaño variable mejora la
cercanía. En cualquier caso, los archivos pueden concentrarse en zonas
cercanas de cuando en cuando. La concentración reduce el tamaño del índice
en el caso de secciones de tamaño variable, pero no en el caso de asignación
por bloques.

La asignación indexada soporta tanto el acceso secuencial como el acceso


directo a los archivos y por ello se ha convertido en la forma más popular de
asignación de archivos.

En un sistema de cómputo, los elementos que se declaran para


almacenamiento son los Fyle System. Cuándo existe una solicitud de
almacenamiento o manejo de bloc libres en un file system surge una
interrogante ¿cómo atenderlas? esto se lleva a cabo mediante una
planificación de discos y para esto existen las siguientes políticas de
planificación.

Características de los Archivos

Estructura: El sistema de archivos permite al usuario especificar alguna


estructura adicional a los archivos, aparte de su estructura básica (bits, bytes).

Algunos sistemas operativos permiten el uso del ALIAS, lo cual hace que los
usuarios hagan referencia a un mismo archivo físico mediante nombres lógicos
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 localización (donde


se ubica), derechos de acceso, tiempo de creación/acceso/modificación, UID
del creador, etc.

Cada archivo tiene:

 Su nombre y datos.
 Elementos adicionales llamados atributos, que varían

considerablemente de sistema a sistema.


Algunos de los posibles atributos de archivo son:

 “Protección”: quién debe tener acceso y de qué forma.


 “Contraseña”: contraseña 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”: número de bytes en un registro.
 “Posición de la llave”: ajuste de la llave dentro de cada registro.
 “Longitud de la llave”: número de bytes en el campo llave.
 “Tiempo de creación”: fecha y hora de creación del archivo.
 “Tiempo del último acceso”: fecha y hora del último acceso al
archivo.
 “Tiempo de la última modificación”: fecha y hora de la última
modificación al archivo.
 “Tamaño actual”: número de bytes en el archivo.
 “Tamaño máximo”: tamaño máximo al que puede crecer el archivo.
Podemos también citar como características 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 período de tiempo;
 Medida, que es la cantidad de información 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 información 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 información 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 información, identificación del archivo, lugar de
almacenamiento, información del modo de acceso.

Identificación del archivo. Consiste de dos partes que es el nombre


simbólico que es el que le da el usuario y un identificador interno que es
asignado por el sistema operativo (número). Lugar de almacenamiento así
como el tamaño del archivo. Modo de acceso. Se debe indicar en forma
explícita quien puede accesar el archivo y conque derecho.

Mecanismo De Control De Acceso.

Control de un sistema de información especializado en detectar los intentos


de acceso, permitiendo el paso de las entidades autorizadas, y denegando el
paso a todas las demás. Involucra medios técnicos y procedimientos
operativos.

Mecanismo que en función de la identificación 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 rápido 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 manipulación de archivos:


 Crear y abrir: provee la creación de un archivo en el sistema de
archivos. Se debe proveer un nombre del nuevo archivo. Además, se
provee la apertura de un archivo ya existente para acceder o modificar la
información.
 Escribir: poder escribir información en un archivo previamente abierto.
 Leer: poder leer información 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 información 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 través 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 ejecución 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
 Ubicación 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.

Archivos Compartidos

Frecuentemente conviene que los archivos compartidos aparezcan


simultáneamente en distintos directorios de distintos usuarios.El propio
sistema de archivos es una gráfica dirigida acíclica en vez de un árbol.

La conexión entre un directorio y un archivo de otro directorio al cual comparten


se denomina enlace.

Si los directorios realmente contienen direcciones en disco:

 Se debe tener una copia de las direcciones en disco en el directorio que


accede al archivo compartido al enlazar el archivo.
 Se debe evitar que los cambios hechos por un usuario a través de un
directorio no sean visibles por los demás usuarios, para lo que se
consideraran dos soluciones posibles.

Primera solución:

 Los bloques del disco no se enlistan en los directorios, sino en una


pequeña estructura de datos asociada al propio archivo.
 Los directorios apuntarían solo a esa pequeña estructura de datos, que
podría ser el nodo-i.
Segunda solución:

 El enlace se produce haciendo que el sistema cree un nuevo archivo de


tipo “link”.
 El archivo “link”:
o Ingresa al directorio del usuario que accede a un archivo de otro
directorio y usuario.
o Solo contiene el nombre de la ruta de acceso del archivo al cual
se enlaza.
 Este criterio se denomina enlace simbólico.

Desventajas de la primera solución:

 La creación de un enlace:
o No modifica la propiedad respecto de un archivo.
o Aumenta el contador de enlaces del nodo-i:
 El sistema sabe el número de entradas de directorio que
apuntan en cierto momento al archivo.
 Si el propietario inicial del archivo intenta eliminarlo, surge un
problema para el sistema:
o Si elimina el archivo y limpia el nodo-i, el directorio que enlazo al
archivo tendrá una entrada que apunta a un nodo-i no válido.
o Si el nodo-i se reasigna a otro archivo el enlace apuntará al
archivo incorrecto.
o El sistema:
 Puede ver por medio del contador de enlaces en el nodo-
i que el archivo sigue utilizándose.
 No puede localizar todas las entradas de directorio
asociadas a ese archivo para eliminarlas.
 La solución podría ser:
o Eliminar la entrada del directorio inicialmente propietario del
archivo.
o Dejar intacto el nodo-i:
 Se daría el caso que el directorio que posee el enlace es
el único que posee una entrada de directorio para un
archivo de otro directorio, para el cual dicho archivo ya no
existe.
 Esto no ocurre con los enlaces simbólicos ya que solo el
propietario verdadero tiene un apuntador al nodo-i:
 Los usuarios enlazados al archivo solo tienen
nombres de rutas de acceso y no apuntadores a
nodo-i.
 Cuando el propietario elimina un archivo, este se
destruye.

Desventajas de la segunda solución:

 El principal problema es su costo excesivo, especialmente en accesos


a disco, puesto que se debe leer el archivo que contiene la ruta de
acceso, analizarla y seguirla componente a componente hasta alcanzar
el nodo-i.
 Se precisa un nodo-i adicional por cada enlace simbólico y un bloque
adicional en disco para almacenar la ruta de acceso.
 Los archivos pueden tener dos o más rutas de acceso, debido a lo cual,
en búsquedas genéricas se podría encontrar el mismo archivo por
distintas rutas y tratárselo como si fueran archivos distintos.
Los enlaces simbólicos tienen la ventaja de que se pueden utilizar para
enlazar archivos en otras máquinas, en cualquier parte del mundo; se debe
proporcionar solo la dirección de la red de la máquina donde reside el archivo
y su ruta de acceso en esa máquina.

Directorio

Es un contenedor virtual en el que se almacenan una agrupación de


archivos de datos y otros subdirectorios, atendiendo a su contenido, a su
propósito o a cualquier criterio que decida el usuario. Técnicamente el
directorio almacena información acerca de los archivos que contiene: como los
atributos de los archivos o dónde se encuentran físicamente en el dispositivo
de almacenamiento.

En el entorno gráfico de los sistemas operativos modernos, el directorio


se denomina metafóricamente carpeta y de hecho se representa con un icono
con esta figura. Esta imagen se asocia con el ambiente administrativo de
cualquier oficina, donde la carpeta de cartón encierra las hojas de papel
(representando a los archivos de datos) de un expediente.

Aspectos a tener en cuenta en el trabajo de directorios.


 Directorio de Raíz: Es el directorio del primer nivel de la estructura
jerárquica de directorios.
 Directorio de Origen: Es el directorio que tiene subdirectorios.
 Directo de Trabajo: Es el directorio donde se encuentra trabajando.
 Ruta de Acceso: Conjunto de nombres de directorios separados por
diagonales. Es la trayectoria que se debe seguir para llegar a un lugar
en particular.
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 jerarquía.

Objetivos de los Directorios

Los directorios te ayudan a mantener ordenados los archivos, tanto


del sistema operativo y programas como tus documentos personales.
El los directorios del sistema operativo y de los programas es importante para
su funcionamiento y si eliminas o modificas alguno puede resultar en un mal
funcionamiento del sistema, en cuanto a tus archivos personales tu elijes como
ordenarlos y donde colocarlos.

Diseño del Sistema Jerárquico

La estructura de directorios suele ser jerárquica, ramificada o "en árbol",


aunque en algún caso podría ser plana. En algunos sistemas de archivos los
nombres de archivos son estructurados, con sintaxis especiales para
extensiones de archivos y números de versión. En otros, los nombres de
archivos son simplemente cadenas de texto y los meta datos de cada archivo
son alojados separadamente.
En los sistemas de archivos jerárquicos, usualmente, se declara la
ubicación precisa de un archivo con una cadena de texto llamada "ruta" (o path
en inglés). La nomenclatura para rutas varía ligeramente de sistema en
sistema, pero mantienen por lo general una misma estructura. Una ruta viene
dada por una sucesión de nombres de directorios y subdirectorios, ordenados
jerárquicamente de izquierda a derecha y separados por algún carácter
especial que suele ser una barra ('/') o barra invertida ('\') y puede terminar en
el nombre de un archivo presente en la última rama de directorios especificada.

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 información en una tabla de memoria real.
·
Todas las referencias subsecuentes al archivo utilizarán la información de la
memoria principal.
El número y organización de directorios varía de sistema en sistema:
 Directorio único: el sistema tiene un solo directorio con todos los
archivos de todos los usuarios.
 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 jerarquía
general.

Implantación de Directorios

Para abrir un archivo el S. O. utiliza información del directorio:

 El directorio contiene la información necesaria para encontrar los


bloques en el disco.
 El tipo de información varía según el sistema.

La principal función del sistema de directorios es asociar el nombre del


archivo con la información necesaria para localizar los datos.

Un aspecto íntimamente ligado con esto es la posición de almacenamiento


de los atributos:

 Una posibilidad es almacenarlos en forma directa dentro del dato del


directorio.
 Otra posibilidad es almacenar los atributos en el nodo-i en vez de
utilizar la entrada del directorio.

También podría gustarte