Administración de archivos


 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.
Resultado de imagen para administrador de archivos
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 archivosResultado de imagen para administrador 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.
Resultado de imagen para administrador de archivos


Comentarios

Entradas populares de este blog

Ciudadanía digital

El sistema operativo

Uso de herramientas