domingo, 2 de diciembre de 2012

Unidad 5.2 Noción de archivo real y virtual.

Un archivo virtual, es un archivo de uso temporal que es utilizado por los procesos del sistema mientras se están ejecutando dichos procesos.  Estos archivos se crean durante la ejecución de un sistema y los utiliza para el almacenamiento de información, intercambio y organización mientras se ejecuta el sistema, su tamaño es muy variable y terminan al detener la ejecución del sistema, muchos de ellos son borrados, por ejemplo, los archivos *.tmp

Archivo Real: Es un objeto que contiene programas, datos o cualquier otro elemento.

 En UNIX se define un File System como un sistema de software dedicado a la creación, destrucción, organización y lectura, escritura y control de acceso de los archivos, funcionalmente los componentes de un sistema de archivos son lenguajes de comandos, interpretador de comandos, manejador del almacenamiento secundario, sistema de entrada y salida y mecanismos de respaldo y recuperación.

http://eduadis.itlapiedad.edu.mx/~hocegueras/so2/so2_42.html
Archivos
Se considerará el punto de vista del usuario.
Nombre de los Archivos
Las reglas exactas para los nombres de archivos varían de sistema a sistema [23, Tanenbaum].
Algunos sistemas de archivos distinguen entre las letras mayúsculas y minúsculas, mientras que otros no.
Muchos S. O. utilizan nombres de archivo con dos partes, separadas por un punto:
• La parte posterior al punto es la extensión de archivo y generalmente indica algo relativo al archivo, aunque las extensiones suelen ser meras convenciones.
Estructura de un Archivo
Los archivos se pueden estructurar de varias maneras, las más comunes son [23, Tanenbaum]:
• “Secuencia de bytes”:
o El archivo es una serie no estructurada de bytes.
o Posee máxima flexibilidad.
o El S. O. no ayuda pero tampoco estorba.
• “Secuencia de registros”:
o El archivo es una secuencia de registros de longitud fija, cada uno con su propia estructura interna.
• “Árbol ”:
o El archivo consta de un árbol de registros, no necesariamente de la misma longitud.
o Cada registro tiene un campo key (llave o clave) en una posición fija del registro.
o El árbol se ordena mediante el campo de clave para permitir una rápida búsqueda de una clave particular.
Tipos de Archivos
Muchos S. O. soportan varios tipos de archivos, por ej.: archivos regulares, directorios, archivos especiales de caracteres, archivos especiales de bloques, etc., donde [23, Tanenbaum]:
• Los Archivos Regulares son aquellos que contienen información del usuario.
• Los Directorios son archivos de sistema para el mantenimiento de una estructura del sistema de archivos.
• Los Archivos Especiales de Caracteres:
o Tienen relación con la e / s.
o Se utilizan para modelar dispositivos seriales de e / s (terminales, impresoras, redes, etc.).
• Los Archivos Especiales de Bloques se utilizan para modelar discos.
Acceso a un Archivo
Los tipos de acceso más conocidos son:
• Acceso Secuencial: el proceso lee en orden todos los registros del archivo comenzando por el principio, sin poder:
o Saltar registros.
o Leer en otro orden.
• Acceso Aleatorio: el proceso puede leer los registros en cualquier orden utilizando dos métodos para determinar el punto de inicio de la lectura:
o Cada operación de lectura (read) da la posición en el archivo con la cual iniciar.
o Una operación especial (seek) establece la posición de trabajo pudiendo luego leerse el archivo secuencialmente.
Atributos de Archivo
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 [23, Tanenbaum]:
• “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.
Operaciones con Archivos
Las llamadas más comunes al sistema relacionadas con los archivos son [23, Tanenbaum]:
• Create (crear): el archivo se crea sin datos.
• Delete (eliminar): si el archivo ya no es necesario debe eliminarse para liberar espacio en disco. Ciertos S. O. eliminan automáticamente un archivo no utilizado durante “n” días.
• 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.
• Read (leer): los datos se leen del archivo; quien hace la llamada debe especificar la cantidad de datos necesarios y proporcionar un buffer para colocarlos.
• Write (escribir): los datos se escriben en el archivo, en la posición actual. El tamaño del archivo puede aumentar (agregado de registros) o no (actualización de registros).
• Append (añadir): es una forma restringida de “write”. Solo puede añadir datos al final del archivo.
• Seek (buscar): especifica el punto donde posicionarse. Cambia la posición del apuntador a la posición activa en cierto lugar del archivo.
• Get attributes (obtener atributos): permite a los procesos obtener los atributos del archivo.
• Set attributes (establecer atributos): algunos atributos pueden ser determinados por el usuario y modificados luego de la creación del archivo. La información relativa al modo de protección y la mayoría de las banderas son un ejemplo obvio.
• Rename (cambiar de nombre): permite modificar el nombre de un archivo ya existente.
Archivos Mapeados a Memoria
Algunos S. O. permiten asociar los archivos con un espacio de direcciones de un proceso en ejecución [23, Tanenbaum].
Se utilizan las llamadas al sistema “map” y “unmap”:
• “Map”: utiliza un nombre de archivo y una dirección virtual y hace que el S. O. asocie al archivo con la dirección virtual en el espacio de direcciones, por lo cual las lecturas o escrituras de las áreas de memoria asociadas al archivo se efectúan también sobre el archivo mapeado.
• “Unmap”: elimina los archivos del espacio de direcciones y concluye la operación de asociación.
El mapeo de archivos elimina la necesidad de programar la e / s directamente, facilitando la programación.
Los principales problemas relacionados son:
• Imposibilidad de conocer a priori la longitud del archivo de salida, el que podría superar a la memoria.
• Dificultad para compartir los archivos mapeados evitando inconsistencias, ya que las modificaciones hechas en las páginas no se verán reflejadas en el disco hasta que dichas páginas sean eliminadas de la memoria.
http://exa.unne.edu.ar/depar/areas/informatica/SistemasOperativos/SO4.htm

1 comentario:

  1. gracias por tu información es muy buena y completa me has ayudado mucho para mi materia :D

    ResponderEliminar