Administración de archivos
los archivos tienen vida fuera
de cualquier aplicación individual que los utilice para entrada y salida. los
usuarios desean poder acceder a los archivos, guardarlos y mantener la
integridad de su contenido. como ayuda a estos objetivos, virtualmente todos
los sistemas de computadores proporcionan sistemas específicos de gestión
de ficheros. normalmente, cada sistema dispone de programas de utilidad que se
ejecutan como aplicaciones privilegiadas. sin embargo un sistema de gestión de
archivos necesita como mínimo algunos servicios especiales del sistema
operativo.
Conceptos
básicos de archivos
el sistema de archivos es la
parte del sistema de administración del almacenamiento responsable,
principalmente, de la administración de los archivos del almacenamiento
secundario. los archivos (fuente)” son un mecanismo de abstracción que permite
almacenar información en el disco y leerla después.
esto debe hacerse de modo que el
usuario no tenga que enterarse de los detalles de como y donde esta almacenada
la información y de como funciona en los discos de una computadora. los
archivos se pueden estructurar de varias maneras las mas comunes son,
1.-secuencia de
bytes:
el archivo es una serie no
estructurada de bytes
posee máxima flexibilidad.
el sistema operativo no sabe
que contiene el archivo.
2. secuencia de
registros.
a. el archivo es una secuencia de registros
de longitud fija, cada uno con su propia estructura interna.
3. árbol.
a. el archivo consta de un árbol de
registros, no necesariamente de la misma longitud.
cada registro tiene un campo llamado
key (llave o clave) en una posición fija del registro.
c.el árbol se ordena mediante el
campo clave para permitir una rápida búsqueda de una clave particular.
desde la perspectiva de un usuario,
un archivo es la porción mas pequeña de almacenamiento secundario lógico, es
decir, no pueden escribirse datos en almacenamiento secundario a menos que se
encuentre dentro de un archivo .la información de un archivo es definida por su
creador. en un archivo se pueden almacenar diferentes tipos de información:
programas fuente, programas objeto, programas ejecutables, datos numéricos,
texto, registros e nomina, imágenes, grabaciones de sonido, etc.,
un archivo recibe un nombre, para
conveniencia de sus usuarios, y se hace referencia a el por dicho nombre. un
nombre es generalmente una cadena de caracteres. algunos sistemas distinguen
entre mayúsculas y minúsculas en los nombres, en tanto que otros sistemas
consideran los dos casos como equivalentes. cuando se asigna un nombre a un
archivo, este se vuelve independiente del proceso del usuario, e incluso del
sistema que lo creo.
un archivo tiene generalmente los siguientes
atributos:
1.-nombre
el nombre simbólico del archivo es la
única información que se mantiene en forma legible para los humanos.
2.-tipo:
esta información es necesaria para
aquellos sistemas que soportan diferentes tipos.
3.-ubicación:
esta información es un apuntador a un
dispositivo y ala ubicación del archivo en dicho dispositivo.
4.-tamaño:
en este atributo se incluyen el
tamaño actual del archivo (en bytes, palabras o bloques) y, posiblemente, el
tamaño máximo permitido.
5.-protección.
información de control de acceso que
determina quien puede leer, escribir, ejecutar, etc. el archivo.
6.-hora, fecha e
identificación del usuario:
esta información puede mantenerse
para
1.-la creación
2.-la ultima modificación
3.-el ultimo uso.
estos datos pueden ser útiles para
protección, seguridad y control de uso.
para definir adecuadamente a los
archivos, necesitamos considerar las operaciones que se pueden realizar sobre
ellos. el sistema operativo_segun meza badillo-proporciona llamadas al sistema
para crear, escribir, leer, reposicionar, borrar y truncar archivos”
operaciones básicas sobre archivos:
1.-crear un
archivo:
se debe encontrar espacio para el
archivo en el sistema de archivos y posteriormente se debe hacer una entrada en
el directorio para el nuevo archivo. la entrada en el directorio registra el
nombre del archivo y su ubicación en el sistema de archivos.
2.-escribir u
archivo:
se hace una llamada al sistema
especificando tanto el nombre del archivo como la información que se va a
escribir en el. el sistema debe mantener un apuntador de escritura ala
ubicación en el archivo donde va a tener un lugar la siguiente escritura. el
apuntador de escritura debe actualizarse siempre que ocurra una escritura.
3.-leer un archivo
se hace una llamada al sistema que
especifica el nombre del archivo y el lugar(en la memoria) donde deberá
colocarse el siguiente bloque del mismo.nuevamente,se busca en el directorio la
entrada asociada y el sistema mantiene un apuntador de lectura a la ubicación
en el archivo en donde va a tener lugar la siguiente lectura. una vez que
se ha realizado la operación, el apuntador de lectura se actualiza. tanto la
operación de lectura como la de escritura emplean este mismo apuntador,
ahorrando espacio y reduciendo la complejidad del sistema.
4.-reposicionarse
dentro de un archivo
se busca en el directorio la
entrada apropiada y se asigna un valor dado a la posición actual del archivo.
el reposicionamiento dentro de un archivo no necesita incluir una operación
real de e/s. está operación sobre el archivo también se conoce como búsqueda en
archivo.
5.-borrar un
archivo.
se busca en el directorio el archivo
designado. una vez que se ha encontrado la entrada asociada, se librera todo el
espacio del archivo (para que pueda ser utilizado por otros archivos) y se
borra la entrada del directorio.
6.- truncar un
archivo
hay ocasiones en que el usuario desea
que los atributos de un archivo permanezcan iguales, pero quiere borrar el
contenido del archivo. en lugar de obligar al usuario a borrar el archivo y
después volver a crearlo, esta función permite que todos los atributos
permanezcan sin modificación (excepto la longitud del archivo), pero
restableciendo el archivo a longitud cero.
2.-directorios y
nombres de archivos
para llevar el control de los
archivos, el sistema de archivos comúnmente tiene directorios o carpetas. la
forma mas sencilla del sistema de directorios es que un directorio
contenga todos los archivos a veces se le llama directorio raíz.
los sistemas de archivos de las
computadoras pueden ser extensos .algunos sistemas almacenan miles de archivos
en cientos de gigabytes de disco. para manejar todos estos datos, se
necesitan organizar. esta organización generalmente se realiza en dos partes.
1.-el sistema de
archivos se descompone en particiones, también conocida como minidiscos, cada
disco en un sistema contiene por lo menos una partición, que es una estructura
de bajo nivel en la que residen archivos y directorios. algunos sistemas
utilizan particiones para proporcionar varias áreas separadas dentro de
un disco, tratando a cada una como un dispositivo de almacenamiento distinto, y
otros sistemas permiten que las particiones sean más grandes que un disco de
manera que puedan agrupar discos en una estructura lógica. de esta forma, el
usuario solo necesita preocuparse de la estructura lógica de directorios y
archivos; puede ignorar completamente los problemas de asignación física de
espacio para los archivos. por esta razón, las particiones pueden ser
consideradas como discos virtuales.
2.-cada partición
contiene información acerca de los archivos dentro de ella. esta información se
mantiene en entradas en un directorio del dispositivo o tabla de contenido de
volumen. el directorio del dispositivo (comúnmente conocido solo como
directorio) registra información-como nombre, ubicación, tamaño y tipo-de todos
los archivos en dicha partición.
operaciones que se
realizan a los directorios:
-buscar un archivo
consiste en hacer una búsqueda de una
estructura de directorios para encontrar la entrada para un archivo particular.
-crear un archivo:
consiste en crear nuevos archivos y
agregarlos al directorio.
-borrar un archivo:
cuando un archivo ya no se necesita,
se requiere poder removerlo del directorio.
-listar un directorio:
consiste en obtener una lista de los
archivos en un directorio y el contenido de la entrada del directorio para cada
archivo de la lista.
renombrar un archivo:
el nombre de un archivo representa su
contenido, es necesario poder cambiar tal nombre cuando cambia el contenido o
el uso del archivo. renombrar un archivo también puede permitir que se
modifique su posición dentro de la estructura de directorios.
-recorrer el sistema de archivos:
consiste en tener acceso a cada
directorio y a cada archivo dentro de una estructura de directorios. es
recomendable realizar una copia de todos los archivos en cinta magnética.
esta técnica proporciona una copia de
respaldo encaso de una falla del sistema o si el archivo simplemente ya
no esta en uso. en este caso, el archivo puede copiarse en una cinta y liberar
el espacio en disco de dicho archivo para que pueda ser utilizado por otro.
3.-permisos
la necesidad de proteger
archivos es un resultado directo de la capacidad para acceder a archivos.
en los sistemas que no permiten al acceso a archivos de otros usuarios, la
protección no es necesaria.
los mecanismos de protección
proporcionan un acceso controlado limitando los tipos de acceso que pueden
hacerse a los archivos. el acceso se permite o se niega dependiendo de varios
factores, uno de los cuales es el tipo de acceso solicitado.
leer: leer un archivo
escribir: escribir o volver a
escribir el archivo
ejecutar: cargar el archivo en
memoria y ejecutarlo.
anexar: escribir nueva información al
final del archivo.
borrar. borrar el archivo y liberar
su espacio para una posible reutilización.
listar –listar el nombre y los
atributos del archivo.
también se pueden controlar otras
operaciones, tales como, renombrar, copiar o editar el archivo, sin embargo, en
el caso de muchos sistemas, estas funciones de alto nivel (como copiar) pueden
implantarse mediante un programa de sistema que realice llamadas al sistema de
bajo nivel. la protección solo se proporciona en el nivel inferior.
se han propuesto muchos mecanismos de
protección diferentes .cada esquema tiene sus ventajas y desventajas, por lo
que cada quien debe seleccionar el apropiado para la aplicación deseada. esto
depende del tipo de protección que requiera cada sistema de cómputo en
particular.
el enfoque más común para el problema
de la protección consiste en hacer que el acceso dependa de la identidad del
usuario. varios usuarios pueden necesitar diferentes tipos de acceso que
dependa de la identidad consiste en asociar una lista de acceso con cada
archivo y directorio, especificando para cada usuario de la lista el nombre y
los tipos de acceso permitidos.
el principal problema con las listas
de acceso es su longitud. si se permite que todos puedan leer el archivo,
debemos listar a todos los usuarios y concederle acceso de lectura. esta
técnica .tiene dos consecuencias no deseables:
1.-la construcción de la lista puede
ser una tarea tediosa que no ofrece alguna utilidad, especialmente si no se
reconoce por adelantado la lista de usuarios del sistema.
2.-la entrada del directorio que
anteriormente era de tamaño fijo ahora necesita ser de tamaño variable,
haciendo que la administración de espacio sea más compleja.
este problema se resuelve empleando
una versión condensada de la lista de acceso.
para condensar la longitud de la
lista de acceso, muchos sistemas reconocen tres clasificaciones de usuarios con
relación a cada archivo:
propietario: el usuario que creo el
archivo es el propietario
grupo: un conjunto de usuarios que
están compartiendo el archivo y necesitan acceso similar en un grupo o grupo de
trabajo.
universo: todos los demás usuarios
del sistema constituyen el universo.
ilustración 2.-seguridad en archivos
ilustración 3.-listas y grupos de
acceso.
copias de respaldo y
compresión de archivos
se debe asegurar que los datos no se
pierdan encaso e una falla. para esto podemos emplear programas de sistema para
respaldar datos del disco a otro dispositivo de almacenamiento, cómo un disco
flexible, una cinta magnética o un disco óptico. la recuperación de la perdida
de un archivo individual, o de todo un disco, puede implicar simplemente
restablecer los datos a partir del respaldo.
para minimizar el copiado requerido,
podemos utilizar la información de cada entrada del archivo en el directorio.
por ejemplo, si el programa de respaldo sabe cuando se realizado el ultimo
respaldo de un archivo, y la fecha de la ultima escritura del archivo en el
directorio no ha cambiado desde ese momento, entonces el archivo no necesita
copiarse nuevamente.
los tipos de copias de seguridad
pueden ser:
normal: conocido como
respaldo completo, se copian todos los archivos y carpetas seleccionados. este
tipo de respaldo no toma en cuenta los marcadores –bits- para determinar
que archivos, elimina el atributo de archivo de todos los archivos que se van a
respaldar.
copia: en este tipo de
respaldo se realiza una copia de seguridad de todos los archivos y carpetas
seleccionados y no se buscan ni se borran los marcadores.
diferencial: en este tipo solo
se realiza una copia de seguridad de los archivos y carpetas seleccionados que
tienen un marcador. este tipo de respaldo es moderadamente rápido en la copia y
restauración de los datos.
incremental. en este solo se
realizan copia de seguridad de los archivos y carpetas que tiene un marcador.
diaria. realiza copia
de seguridad de todos los archivos y carpetas seleccionados que han cambiado
durante el diana copia de este tipo no busca ni borra los marcadores.
la compresión de datos consiste en la
reducción del volumen de información tratable (procesar, transmitir, grabar)
con esto se pretende transportar la misma información, pero empleando la menor
cantidad de espacio.
la compresión de
datos se basa fundamentalmente en buscar repeticiones en series de datos para
después almacenar solo el dato junto al numero de ves que se repite.asi,por ejemplo, si en un archivo aparece una
secuencia como “aaaaaa” ocupando 6 bytes se podría almacenar simplemente
“6ª” que ocupa solo 2 bytes.
el complejo de compresión es más
complejo ya que raramente se consigue encontrar 2 patrones de repetición tan
exactos (salvo en algunas imágenes) existen algoritmos de compresión como:
algoritmos que buscan series largas
que luego se codifican en formas más reducidas
algoritmos que examinan los
caracteres mas repetidos para luego codificar de forma mas corta los que mas se
repiten (algoritmo de hoffman)
algoritmos que construyen un
diccionario con los patrones encontrados, a los cuales se hace referencia de manera
posterior.

en la compresión
hay que tomar en cuenta 2 conceptos
redundancia: datos que son
repetitivos o previsibles
entropía: la información
nueva o esencial que se define como la diferencia entre la cantidad total de
datos de un mensaje y su redundancia.
la información que
transmiten los datos puede ser de tres tipos:
redundante: información
repetitiva o predecible.
irrelevante: información que
no podemos apreciar y cuya eliminación por tanto no afecta al contenido del
mensaje.
básica: la relevante, la
que no es ni redundante ni irrelevante la que debe ser transmitida para que se
pueda reconstruir la señal.
teniendo en cuenta estos tres tipos
de información, se establecen tres tipos de compresión de la información.
sin perdidas reales: transmitiendo
toda la entropía del mensaje (toda la información básica e irrelevante, pero
eliminando la redundante.
subjetivamente sin pérdidas: además
de eliminar la información redundante se elimina también la irrelevante.
subjetivamente con pérdidas: se
elimina cierta cantidad de información básica por lo que el mensaje se
reconstruirá con errores perceptibles pero tolerables (por ejemplo, la
videoconferencia).
seis exploradores de archivos

8.-mantenimiento al
sistema de archivos
con las limitaciones que existen en
el espacio de los discos duros es necesario reutilizar este espacio para
que sea utilizado por nuevos archivos, existen dispositivos que solo
permiten una escritura en cualquier sector por lo que no es posible su
reutilización .en los discos duros el sistema mantiene una lista de espacio
libre en la que registra todos los bloques del disco que están
libres (no asignados a algún archivo o directorio).para crear un archivo
buscamos una lista de espacio libre la cantidad de espacio requerido, y
asignamos dicho espacio al nuevo archivo. este espacio se remueve después de la
lista de espacio libre. la lista de espacio libre, a pesar de su nombre podría
no estar implementada como una lista. la lista de espacio libre se implementa
como sigue:
1.-vector de bits:
cada bloque se representa mediante 1
bit. si el bloque esta libre, el bit es 1; si el bloque esta asignado ,el bit
es 0.la principal ventaja de este enfoque es que es sencillo y eficiente
encontrar el primer bloque libre, o n bloques libres consecutivos en el disco,
muchas computadoras incluyen instrucciones para la manipulación de bits que
pueden usarse eficazmente para este fin. por ejemplo la familia intel, a partir
del procesador 80386 y la familia motorola desde el procesador 68020.
2.-lista enlazada.
consiste en enlazar todos los bloques
libres del disco, manteniendo un apuntador al primer bloque libre en una
localidad especial en el disco y colocándolo en cache en memoria. este primer
bloque contiene un apuntador en el siguiente bloque libre en el disco, y así
sucesivamente. sin embargo, este esquema no es eficiente, para recorrer la
lista, ya que se debe leer cada bloque, lo cual requiere una cantidad
considerable de tiempo de e/s. por lo general, el sistema operativo necesita
solo un bloque libre para poder asignar dicho bloque en la lista de bloques
libres.
3.-agrupacion
.una modificación del enfoque de la
lista de bloques libres consiste en almacenar las direcciones de n bloques
libres en el primer bloque libre. los primeros n-1 de estos bloques están
efectivamente libres. el bloque final contiene las direcciones de otros n
bloques libres, y así sucesivamente. la importancia de esta implementación es
que se pueden encontrar rápidamente las direcciones de un gran número de
bloques libres, a diferencia del enfoque estándar de la lista enlazada…
4.-conteo.
consiste en
aprovechar el hecho de que, generalmente, varios bloques contiguos pueden ser
asignados o liberados de manera simultanea, particularmente cuando se asigna
espacio con el algoritmo de asignación contigua o mediante grupamientos.asien lugar de mantener una lista de n
direcciones de discos libres, puede mantener la dirección del primer bloque
libre, y el numero n de bloques contiguos libres que siguen al primer bloquea.
cada entrada en la lista de espacio libre consiste entonces en una dirección de
disco y una cuenta. aun que cada entrada será mas corta, siempre y cuando la
cuenta sea generalmente mayor que 1.
se deben considerar también los
siguientes aspectos:
§
la forma de almacenamiento de archivos y directorios.
§
la administración del espacio en disco
§
la forma de hacerlo de manera eficiente y confiable
se deben tener presentes los
siguiente problemas que ocasiona la fragmentación creciente del espacio
en el disco duro:
ocasiona problemas de performance al
hacer que los archivos se desperdiguen a través de bloques muy dispersos.
una técnica para aliviar el problema
de la “fragmentación” consiste en realizar periódicamente.
condensación se puede reorganizar los
archivos expresamente o automáticamente según el criterio predefinido.
recolección de basura o residuos, se
puede hacer fuera de línea o en línea, con el sistema activo.
conclusiones
el conocimiento de el sistema de
archivos en importante para conocer como se almacena la información dentro
de un sistema operativo, así mismo el conocer las formas de
agrupamiento y jerarquía de archivos nos es fundamental para administrar
la información y conocer las carpetas del sistema que son esenciales para la
operación de este.

Comentarios
Publicar un comentario