viernes, 27 de marzo de 2009

Gestión de Archivos



¿Que es un archivo?

Es un conjunto de información relacionada que es almacenada en una unidad de almacenamiento no volátil, este posee un conjunto de características comunes (el nombre, la ubicación, la extensión) que permiten identificarlo dentro del SO.

Operaciones sobre archivos

Creación de archivos: Para hacer esto se deben realizar dos pasos. Primero se debe encontrar un espacio en el sistema de archivos y segundo se debe anotar el nuevo archivo en el directorio pasandole como entrada al directorio el nombre del archivo y su ubicación.

Escritura de archivos: Para escribir un archivo efectuamos una llamada al sistema especificando el nombre del archivo y la información que se escribirá en él. Al recibir el nombre del archivo, el sistema busca en el directorio para determinar su ubicación. La entrada del directorio tendrá que almacenar un apuntador al bloque actual del archivo (generalmente el inicial) y con este apuntador podemos calcular la dirección del siguiente bloque y escribir la información. Hay que actualizar el apuntador de escritura y así se puede escribir una serie de bloques en el archivo mediante escrituras sucesivas.

Lectura de archivos: Para leer un archivo usamos una llamada al sistema que especifica el nombre del archivo y el lugar (en memoria) donde debe colocarse el siguiente bloque, Una vez más, se busca en el directorio le entrada correspondiente y se necesitará un apuntador al siguiente bloque que se leerá. Una vez que se ha leído el bloque, se actualiza el apuntador.

Reposicionamiento de archivos: Se busca en el directorio la entrada indicada y la posición actual se modifica de manera que apunte al inicio del archivo, no es obligatorio que se lleve a cabo operaciones de entrada o salida para el re posicionamiento.

Eliminación de archivos: Para eliminar un archivo buscamos su nombre en el directorio. una vez localizado, se libera todo el espacio del archivo (para permitir que este sea usado por otro) y se invalida la entrada del directorio.

Atributos de los archivos:

Nombre: Es el identificador del archivo consiste en una cadena de texto (codigoASCII).

Tipo: Es necesaria para el Sistema Operativo ya que con ella se identifica el programa con el que se abre el archivo.

Ubicación: Es el apuntador a la posición del archivo dentro de un dispositivo.

Tamaño: Tamaño actual del archivo: en bytes, palabras o bloques; junto con el tamaño máximo permitido.

Protección: Es el control de acceso que determina quien puede leer, escribir, ejecutar el archivo.

Hora, fecha e identificación del usuario: creación, última modificación, último uso: datos para protección, seguridad, y control de uso.

Métodos de acceso a archivos

Acceso secuencial:

Es el método mas común de acceso, la información del archivo se procesa en un orden, un registro tras otro, los programas de edición generalmente acceden a los archivos por este método.

Acceso aleatorio:

En este método no existen restricciones de acuerdo al orden de lectura o escritura
, podemos ingresar directamente a un registro intermedio sin pasar por sus predecesores.

Semántica de coutilización

La semantica de coutilizacion es un conjunto de criterios que se toman en cuenta al momento que un archivo es solicitado por varios usuarios y se desea mostrar las actualizaciones hechas a este archivo.

Semántica de UNIX:
  • Las modificaciones a un archivo abierto son visibles de inmediato por los demás usuarios.
  • El archivo tiene una sola imagen que intercala todos los accesos, sea cual sea su origen.
Semántica de sesión:
  • Las modificaciones a un archivo abierto no son visibles de inmediato por los demás usuarios.
  • Las modificaciones que sufre un archivo son visibles solo después de que se cierra un archivo.
Semántica de archivos compartidos inmutables:
  • Su nombre no se puede reutilizar.
  • Su contenido no se puede alterar.
  • Se comparte con solo lectura.
Estructura de Directorios


Directorio de un solo nivel:
Consiste en un solo directorio para todos los usuarios.

Deficiencias:
  • Problemas de nombramiento.
  • Problemas de agrupamiento.
Directorio de dos niveles: Consiste en un directorio separado para cada usuario.

Ventajas:

  • Búsqueda eficiente.
  • Nombre del camino - Path.
  • Puede tenerse el mismo nombre de archivo para diferente usuario.
Desventajas:
  • Sin capacidad de agrupamiento.
Directorios con estructura de árbol:

Ventajas:
  • Permite el agrupamiento a través de sub-directorios.
  • Permite realizar la busqueda de forma eficiente a través de nombres de camino absolutos o relativos.
  • La creación de un nuevo archivo se realiza en el directorio actual.
  • La creación de un nuevo subdirectorio se realiza en el directorio actual.
Desventajas:
  • Los usuarios pueden acceder además de sus archivos, a los archivos de otros usuarios.

No hay comentarios:

Publicar un comentario