UNIDAD 6 ADMINISTRADOR DE ARCHIVOS
Un archivo es una colección de registros que se encuentran
relacionados entre si, estos archivos se diseñan para manejar grandes
cantidades de datos.
Todos los programas computacionales usan estructuras de
datos de alguna clase; y muchos otros usan archivos. Aquellos que diseñan y
desarrollan software para aplicaciones comerciales y tecnológicas, así como
quienes diseñan y desarrollan sistemas computacionales, es decir, sistemas
operativos, compiladores, sistemas de administración de bases de datos y
sistemas de comunicación entre procesadores, requieren de conocimientos de
archivos y estructuras de datos. Las estructuras de datos y la organización de
archivos son los elementos principales que determinan el rendimiento de los
programas.
Cualquier aplicación encargada de la manipulación de
ficheros en dispositivos de almacenamiento. Estos programas hacen más fácil el
manejo de los archivos en discos duros, discos flexibles, discos ópticos, etc.
Las funciones básicas que permite un administrador de
archivos son: copiar, pegar, mover, crear directorios, borrar, renombrar y
buscar.
En WINDOWS la aplicación administradora de archivos es
llamada EXPLORADOR DE WINDOWS.
6.1 SISTEMA DE ARCHIVOS
Es un método para el almacenamiento y organización de
archivos de computadora y los datos que estos contienen, para hacer más fácil
la tarea encontrarlos y accederlos. Los sistemas de archivos son usados en
dispositivos de almacenamiento como discos duros y CD-ROM e involucran el
mantenimiento de la localización física de los archivos.
Más formalmente, un sistema de archivos es un conjunto de
tipo de datos abstractos que son implementados para el almacenamiento, la
organización jerárquica, la manipulación, el acceso, el direccionamiento y la
recuperación de datos. Los sistemas de archivos comparten mucho en común con la
tecnología de las bases de datos.
En general, los sistemas operativos tienen su propio sistema
de archivos. En ellos, los sistemas de archivos pueden ser representados de
forma textual (ej.: el shell de DOS) o gráficamente (ej.: Explorador de
archivos en Windows) utilizando un gestor de archivos.
El software del sistema de archivos se encarga de organizar
los archivos (que suelen estar segmentados físicamente en pequeños bloques de
pocos bytes) y directorios, manteniendo un registro de qué bloques pertenecen a
qué archivos, qué bloques no se han utilizado y las direcciones físicas de cada
bloque.
Los sistemas de archivos pueden ser clasificados en tres
categorías: sistemas de archivo de disco, sistemas de archivos de red y
sistemas de archivos de propósito especial.
Ejemplos de sistemas de archivos son: FAT, UMSDOS, NTFS,
UDF, ext2, ext3, ext4, ReiserFS, XFS, etc.
6.2 JERARQUIA DE DATOS
Una Base de datos jerárquica es un tipo de Sistema Gestor de
Bases de Datos que, como su nombre indica, almacenan la información en una
estructura jerárquica que enlaza los registros en forma de estructura de árbol
(similar a un árbol visto al revés), en donde un nodo padre de información
puede tener varios nodos hijo.
Esta relación jerárquica no es estrictamente obligatoria, de
manera que pueden establecerse relaciones entre nodos hermanos. En este caso la
estructura en forma de árbol se convierte en una estructura en forma de grafo
dirigido. Esta variante se denomina Bases de datos de red.
6.3TIPOS DE ARCHIVOS
Existen básicamente dos tipos de archivos, los archivos
ascii y los archivos binarios. El vocablo ascii es un acrónimo para American
Standard Code for Information Interchange. Es un estándar que asigna un valor
numérico a cada carácter, con lo que se pueden representar los documentos
llamados de Texto Plano, es decir, los que son legibles por seres humanos. Los
archivos binarios son todos los demás. Como ejemplos tenemos:
Archivos binarios:
o De imagen: .jpg, .gif, .tiff, .bmp (Portable
bitmap), .wmf (Windows Meta File), .png (Portable Network Graphics), .pcx
(Paintbrush); entre muchos otros
o De video: .mpg,
.mov, .avi, .gif
o Comprimidos o
empaquetados: .zip, .Z, .gz, .tar, .lhz
o Ejecutables o
compilados: .exe, .com, .cgi, .o, .a
o Procesadores de
palabras: .doc
Archivos ascii
o Archivos fuente:
.f, .c, .p
o Formatos de texto:
.tex, .txt, .html
o Formatos de
intercambio: .rtf, .ps, .uu
o Dentro de los
archivos ASCII de uso común por los programas de bioinformática están los
siguientes:
o De secuencias:
.seq
o De secuencias
múltiples: .aln, .msf (Multiple Sequence Format, secuencias alineadas), .rsf
(Rich Sequence Format, estos archivos pueden incluir una o más secuencias
relacionadas o no).
Todos estos archivos se caracterizan por tener ciertos
formatos distintivos, que hacen posible su reconocimiento por parte de los
programas de manipulación y análisis de secuencias como el PHYLIP, el GCG;
entre muchos otros.
6.4 INTERFAZ CON USUARIO
Es el medio con que el usuario puede comunicarse con una
máquina, un equipo o una computadora, y comprende todos los puntos de contacto
entre el usuario y el equipo, normalmente suelen ser fáciles de entender y
fáciles de accionar.
Las interfaces básicas de usuario son aquellas que incluyen
cosas como menús, ventanas, teclado, ratón, los beeps y algunos otros sonidos
que la computadora hace, en general, todos aquellos canales por los cuales se
permite la comunicación entre el ser humano y la computadora. La mejor
interacción humano-máquina a través de una adecuada interfaz (Interfaz de
Usuario), que le brinde tanto comodidad, como eficiencia.
Tipos de interfaces de usuario
Dentro de las Interfaces de Usuario se puede distinguir
básicamente dos tipos: A) Una interfaz de hardware, a nivel de los dispositivos
utilizados para ingresar, procesar y entregar los datos: teclado, ratón y
pantalla visualizadora.
B) Una interfaz de software, destinada a entregar
información acerca de los procesos y herramientas de control, a través de lo
que el usuario observa habitualmente en la pantalla.
C) Una interfaz de Software-Hardware, esta permite un puente
entre la maquina y las personas, permite a la maquina entender la instruccion y
a el hombre entender el codigo binario traducido a informacion legible.
6.4.1 EL SISTE DE ARCHIVOS VISTO POR EL USUARIO
Los sistemas de archivos, estructuran la información
guardada en una unidad de almacenamiento (normalmente un disco duro de una
computadora), que luego será representada ya sea textual o gráficamente
utilizando un gestor de archivos. La mayoría de los sistemas operativos poseen
su propio sistema de archivos.
Lo habitual es utilizar dispositivos de almacenamiento de
datos que permiten el acceso a los datos como una cadena de bloques de un mismo
tamaño, a veces llamados sectores, usualmente de 512 bytes de longitud. El
software del sistema de archivos es responsable de la organización de estos
sectores en archivos y directorios y mantiene un registro de qué sectores
pertenecen a qué archivos y cuáles no han sido utilizados. En la práctica, un
sistema de archivos también puede ser utilizado para acceder a datos generados
dinámicamente, como los recibidos a través de una conexión de red (sin la
intervención de un dispositivo de almacenamiento).
Los sistemas de archivos tradicionales proveen métodos para
crear, mover, renombrar y eliminar tanto archivos como directorios, pero
carecen de métodos para crear, por ejemplo, enlaces adicionales a un directorio
o archivo (enlace duro en Unix) o renombrar enlaces padres (".." en
Unix)
6.4.2 DISEÑO DEL SISTEMA DE ARCHIVOS
El “Sistema de Archivos” es un componente importante de un
S. O. y suele contener:
“Métodos de acceso” relacionados con la manera de acceder a
los datos almacenados en archivos.
“Administración de archivos” referida a la provisión de
mecanismos para que los archivos sean almacenados, referenciados, compartidos y
asegurados.
“Administración del almacenamiento auxiliar” para la
asignación de espacio a los archivos en los dispositivos de almacenamiento
secundario.
“Integridad del archivo” para garantizar la integridad de la
información del archivo.
El sistema de archivos está relacionado especialmente con la
administración del espacio de almacenamiento secundario, fundamentalmente con
el almacenamiento de disco.
Una forma de organización de un sistema de archivos puede
ser la siguiente:
Se utiliza una “raíz ” para indicar en qué parte del disco
comienza el “directorio raíz ”.
El “directorio raíz ” apunta a los “directorios de
usuarios”.
Un “directorio de usuario” contiene una entrada para cada
uno de los archivos del usuario.
Cada entrada de archivo apunta al lugar del disco donde está
almacenado el archivo referenciado.
Los nombres de archivos solo necesitan ser únicos dentro de
un directorio de usuario dado.
El nombre del sistema para un archivo dado debe ser único
para el sistema de archivos.
En sistemas de archivo “jerárquicos” el nombre del sistema
para un archivo suele estar formado como el “nombre de la trayectoria” del
directorio raíz al archivo.
6.4.4 SEGURIDAD EN ARCHIVOS.
Los sistemas de archivos generalmente contienen información
muy valiosa para sus usuarios, razón por la que los sistemas de archivos deben
protegerla.
El Ambiente de Seguridad
Se entenderá por seguridad a los problemas generales
relativos a la garantía de que los archivos no sean leídos o modificados por
personal no autorizado; esto incluye aspectos técnicos, de administración,
legales y políticos.
Se consideraran mecanismos de protección a los mecanismos
específicos del sistema operativo utilizados para resguardar la información de
la computadora.
La frontera entre seguridad y mecanismos de protección no
está bien definida.
Dos de las más importantes facetas de la seguridad son:
La pérdida de datos.
Los intrusos.
Algunas de las causas más comunes de la pérdida de datos
son:
Actos y hechos diversos, como incendios, inundaciones,
terremotos, guerras, revoluciones, roedores, etc.
Errores de hardware o de software, como fallas en la cpu,
discos o cintas ilegibles, errores de telecomunicación, errores en los
programas, etc.
Errores humanos, por ej., entrada incorrecta de datos, mal
montaje de cintas o discos, ejecución incorrecta de programas, pérdida de
cintas o discos, etc.
La mayoría de estas causas se pueden enfrentar con el
mantenimiento de los respaldos (back-ups) adecuados; debería haber copias en un
lugar alejado de los datos originales.
Respecto del problema de los intrusos, se los puede
clasificar como:
Pasivos: solo desean leer archivos que no están autorizados
a leer.
Activos: desean hacer cambios no autorizados a los datos.
Para diseñar un sistema seguro contra intrusos:
Hay que tener en cuenta el tipo de intrusos contra los que
se desea tener protección.
Hay que ser consciente de que la cantidad de esfuerzo que se
pone en la seguridad y la protección depende claramente de quién se piensa sea
el enemigo.
Algunos tipos de intrusos son los siguientes:
Curiosidad
casual de usuarios no técnicos.
Conocidos
(técnicamente capacitados) husmeando.
Intentos
deliberados por hacer dinero.
Espionaje
comercial o militar.
Otro aspecto del
problema de la seguridad es la privacía:
Protección de
las personas respecto del mal uso de la información en contra de uno mismo.
Implica aspectos
legales y morales.
También debe
señalarse la posibilidad del ataque del caballo de Troya:
Modificar un
programa normal para que haga cosas adversas además de su función usual.
6.4.5 MECANISMOS DE PROTECCION DE ARCHIVOS
Muchos objetos del sistema necesitan protección, tales como
la cpu, segmentos de memoria, unidades de disco, terminales, impresoras,
procesos, archivos, bases de datos, etc.
Cada objeto se referencia por un nombre y tiene habilitadas
un conjunto de operaciones sobre él.
Un dominio es un conjunto de parejas (objeto, derechos):
· Cada pareja
determina:
o Un objeto.
o Un subconjunto de
las operaciones que se pueden llevar a cabo en él.
Un derecho es el permiso para realizar alguna de las
operaciones.
Es posible que un objeto se encuentre en varios dominios con
“distintos” derechos en cada dominio.
Un proceso se ejecuta en alguno de los dominios de
protección:
· Existe una
colección de objetos a los que puede tener acceso.
· Cada objeto
tiene cierto conjunto de derechos.
Los procesos pueden alternar entre los dominios durante la
ejecución.
Una llamada al S. O. provoca una alternancia de dominio.
En algunos S. O. los dominios se llaman anillos.
Una forma en la que el S. O. lleva un registro de los
objetos que pertenecen a cada dominio es mediante una matriz :
· Los
renglones son los dominios.
· Las columnas
son los objetos.
· Cada
elemento de la matriz contiene los derechos correspondientes al objeto en ese
dominio, por ej.: leer, escribir, ejecutar.
6.4.6IMPLEMENTACION DEL SISTEMA DE ARCHIVOS
El aspecto clave de la implantación del almacenamiento de
archivos es el registro de los bloques asociados a cada archivo.
Algunos de los métodos utilizados son los siguientes:
· Asignación
contigua o adyacente:
o Los archivos son
asignados a áreas contiguas de almacenamiento secundario.
o Las principales
ventajas son:
§ Facilidad de
implantación, ya que solo se precisa el número del bloque de inicio para
localizar un archivo.
§ Rendimiento
excelente respecto de la e / s.
o Los principales
defectos son:
§ Se debe conocer el
tamaño máximo del archivo al crearlo.
§ Produce una gran
fragmentación de los discos.
· Asignación
no contigua:
o Son esquemas de
almacenamiento más dinámicos, destacándose los siguientes:
o Asignación
encadenada orientada hacia el sector:
§ El disco se
considera compuesto de sectores individuales.
§ Los archivos
constan de varios sectores que pueden estar dispersos por todo el disco.
§ Los sectores que
pertenecen a un archivo común contienen apuntadores de uno a otro formando una
“lista encadenada”.
§ Una “lista de
espacio libre” contiene entradas para todos los sectores libres del disco.
§ Las ampliaciones o
reducciones en el tamaño de los archivos se resuelven actualizando la “lista de
espacio libre” y no hay necesidad de condensación.
§ Las principales
desventajas son:
§ Debido a la posible
dispersión en el disco, la recuperación de registros lógicamente contiguos
puede significar largas búsquedas.
§ El mantenimiento de
la estructura de “listas encadenadas” significa una sobrecarga en tiempo de
ejecución.
§ Los apuntadores de
la estructura de lista consumen espacio en disco.
o Asignación por bloques:
§ Es más eficiente y
reduce la sobrecarga en ejecución.
§ Es una mezcla de
los métodos de asignación contigua y no contigua.
§ Se asignan bloques
de sectores contiguos en vez de sectores individuales.
§ El sistema trata de
asignar nuevos bloques a un archivo eligiendo bloques libres lo más próximos
posible a los bloques del archivo existentes.
§ Las formas más
comunes de implementar la asignación por bloques son:
§ Encadenamiento de
bloques.
§ Encadenamiento de
bloques de índice.
§ Transformación de
archivos orientada hacia bloques.
o Encadenamiento de
bloques o lista ligada:
§ Las entradas en el
directorio de usuarios apuntan al primer bloque de cada archivo.
§ Cada uno de los
bloques de longitud fija que forman un archivo contiene dos partes:
§ Un bloque de datos.
§ Un apuntador al
bloque siguiente.
§ Cada bloque
contiene varios sectores.
§ Frecuentemente el
tamaño de un bloque se corresponde con el de una pista completa del disco.
§ Localizar un registro
determinado requiere:
§ Buscar en la cadena
de bloques hasta encontrar el bloque apropiado.
§ Buscar en el bloque
hasta encontrar el registro.
§ El examen de la
cadena desde el principio puede ser lento ya que debe realizarse de bloque en
bloque, y pueden estar dispersos por todo el disco.
§ La inserción y el
retiro son inmediatos, dado que se deben modificar los apuntadores del bloque
precedente.
6.5 LLAMADAS AL SISTEMA
Las llamadas al sistema proveen una interfaz entre los
procesos y el Sistema de Operación. Por lo general estas llamadas se encuentran
disponibles como instrucciones en lenguaje ensamblable. En algunos sistemas
podemos realizar llamadas al sistema desde programas en lenguajes de alto
nivel, en cuyo caso se asemejan a llamadas a funciones o procedimientos. Es el
mecanismo usado por una aplicación para solicitar un servicio al sistema
operativo.
Las llamadas al sistema comúnmente usan una instrucción
especial de la CPU que causa que el procesador transfiera el control a un
código privilegiado, previamente especificado por el mismo código. Esto permite
al código privilegiado especificar donde va a ser conectado así como el estado
del procesador.
Cuando una llamada al sistema es invocada, la ejecución del
programa que invoca es interrumpida y sus datos son guardados, normalmente en
su PCB, para poder continuar ejecutándose luego. El procesador entonces
comienza a ejecutar las instrucciones de código de alto nivel de privilegio,
para realizar la tarea requerida. Cuando esta finaliza, se retorna al proceso
original, y continúa su ejecución. El retorno al proceso demandante no
obligatoriamente es inmediato, depende del tiempo de ejecución de la llamada al
sistema y del algoritmo de planificación de CPU.
6.6 TIPOS DE INTERFAZ
· Control de
las funciones manipulables del equipo.
· Puesta en
marcha y apagado.
· Herramientas
de desarrollo de aplicaciones
· Manipulación
de archivos y directorios.
· Comunicación
con otros sistemas.
· Information
de estado.
·
Configuración de la propia interfaz y entorno.
· Intercambio
de datos entre aplicaciones.
· Control de
acceso.
6.7COMANDOS DE CONTROL
Secuencia de comandos de control
o Comprobar si
alguien está utilizando activamente el producto y, si es así, impedir la
reinstalación, la actualización o la eliminación.
o Asegurarse de que
el sistema host local es compatible con el software (las secuencias de comandos
pueden realizar comprobaciones de compatibilidad más a fondo que las aplicadas
por los atributos úname del producto).
o Eliminar archivos
anticuados o versiones del producto instaladas con anterioridad.
o Crear enlaces con
los archivos o copias adicionales de los mismos después de instalarlos.
o Copiar
los archivos configurables en su lugar durante la p