Sistema de archivos
El sistema de archivos o ficheros, es el componente del sistema operativo encargado de administrar y facilitar el
uso de las memorias periféricas, ya sean secundarias o terciarias.
Sus
principales funciones son la asignación de espacio a los archivos, la
administración del espacio libre, y la administración del acceso a los datos
resguardados. 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.
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 (También denominados clústers).
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).
El acceso seguro a sistemas de archivos básicos puede estar basado en
los esquemas de lista de control de
acceso o capacidades. Las listas de control de acceso hace décadas que
demostraron ser inseguras, por lo que los sistemas operativos experimentales
utilizan el acceso por capacidades. Los sistemas operativos comerciales aún
funcionan con listas de control de acceso.
Rutas y nombre de archivos
Normalmente los archivos y carpetas se organizan jerárquicamente.
La estructura de directorios suele ser jerárquica, ramificada o "en
árbol", aunque en algún caso podría ser plana. En algunos sistemas de
archivos los nombres de archivos son estructurados, con sintaxis especiales
para extensiones de archivos y números de versión. En otros, los nombres de archivos son simplemente
cadenas de texto y los metadatos de cada archivo son alojados
separadamente.
En los sistemas de archivos jerárquicos, usualmente, se declara la
ubicación precisa de un archivo con una cadena de texto llamada "ruta" —o path en inglés—. La nomenclatura para rutas varía
ligeramente de sistema en sistema, pero mantienen por lo general una misma
estructura. Una ruta viene dada por una sucesión de nombres de directorios y
subdirectorios, ordenados jerárquicamente de izquierda a derecha y separados
por algún carácter especial que suele ser una diagonal ('/') o diagonal
invertida ('\') y puede terminar en el nombre de un archivo presente en la
última rama de directorios especificada.
Ejemplo de 'ruta' en un
sistema Unix
Así, por ejemplo, en un sistema tipo Unix como GNU/Linux, la ruta para la canción llamada "La canción.ogg" del usuario
"Alvaro" sería algo como:
/home/Alvaro/Mi
música/La canción.ogg
donde:
·
'/' representa el
directorio raíz donde está montado todo el sistema de archivos.
·
'home/Alvaro/Mi música/'
es la ruta del archivo.
'La canción.ogg' es el nombre
del archivo.
que se establece como único.
Ejemplo de 'ruta' en un
sistema Windows
Un ejemplo análogo en un sistema de archivos de Windows (específicamente en Windows
8) se vería como:
C:\Users\Alvaro\Music\canción.mp3
donde:
- 'C:' es la unidad de almacenamiento en la que se encuentra
el archivo.
·
'\Users\Alvaro\Music\'
es la ruta del archivo.
·
'canción' es el nombre
del archivo.
·
'.mp3' es la extensión del
archivo, este elemento, parte del nombre, es especialmente relevante en los
sistemas Microsoft Windows, ya que sirve para identificar qué tipo de archivo es y la aplicación
que está asociada con el archivo en cuestión, es decir, con qué programa se
puede editar o reproducir el archivo. Para la mayoría de los sistemas
operativos modernos la extensión del archivo es un complemento burocrático solo
útil para la observación del usuario, ya que los entornos de administración de
archivos y aplicaciones varias, analizan la información contenida en el
principio del interior del archivo (MIME headers) para determinar su función o
asociación, la cual normalmente está catalogada en la tabla MIME Content-Type en el sistema. El sistema Windows permite ocultar la
extensión de los archivos si el usuario lo desea, de no hacerlo la extensión
aparece en los nombres de todos los archivos. En el sistema operativo Windows
XP, si el usuario cambia la extensión de un archivo, éste puede quedar
inutilizable si la nueva extensión lo asocia a un programa que no tenga la
capacidad de editar o reproducir ese tipo de archivo. Algunos usuarios aun así
habilitan la visualización de las extensiones en los sistemas Windows como
medida de precaución para evitar virus que utilicen íconos o nombres parecidos
a los archivos personales del usuario, ya que la extensión permite identificar
a los ficheros .EXE, los ejecutables en Windows.
Resumen de características de
los sistemas de Archivos
- Seguridad o permisos
- Listas de control de acceso (ACLs)
- UGO (Usuario, Grupo, Otros, o por sus siglas en ingles, User, Group, Others)
- Capacidades granuladas
- Atributos extendidos (ej.: sólo añadir al
archivo pero no modificar, no modificar nunca, etc.)
- Mecanismo para evitar la fragmentario
- Capacidad de enlaces simbólicos o duros
- Integridad del sistema de archivos (Journalig)
- Soporte para archivos dispersos
- Soporte para cuotas de discos
- Soporte de crecimiento del sistema de archivos nativo
Tipo de sistemas de archivos
Sistemas de archivos de disco:
Un sistema de archivo de disco está diseñado para el almacenamiento de archivos
en una unidad de disco, que puede estar conectada directa o indirectamente a la
computadora.
Sistemas de archivos de red:
Un sistema de archivos de red es el que accede a sus archivos a través
de una red. Dentro de
esta clasificación encontramos dos tipos de sistemas de archivos: los sistemas
de archivos distribuidos (no proporcionan E/S en paralelo) y los sistemas de
archivos paralelos (proporcionan una E/S de datos en paralelo).
Sistemas de archivos de
propósito especial:
(Special purpose file system). Aquellos tipos de sistemas de archivos
que no son ni sistemas de archivos de disco, ni sistemas de archivos de red.
Ejemplos: acme (Plan 9), archfs, cdfs, cfs, devfs, udev, ftpfs, lnfs, nntpfs,
plumber (Plan 9), procfs, ROMFS, swap, sysfs, TMPFS, wikifs, LUFS, etc.
SISTEMAS DE BASE DE
DATOS vs. SISTEMAS DE ARCHIVOS
Sistema
de Base de Datos
|
Sistema
de Archivos
|
Se mantiene un único almacén de datos que se
define una sola vez y al cual tienen acceso
muchos usuarios
|
Cada usuario define e implementa los
archivos requeridos para una aplicación
específica.
|
Naturaleza
autodescriptiva de los sistemas
de base de
datos: el sistema no solo contiene
la base de datos misma, sino también una
definición o descripción completa de esta. Esta
definición se almacena en el catálogo del
sistema. La información del catálogo se
denomina metadatos y describen la estructura
de la base de datos primaria. El SGBD utiliza
el catálogo para conocer la estructura y el
manejo de una base de datos específica.
|
La definición de los datos es parte de los
programas de aplicación, por tanto dichos
programas sólo pueden trabajar con una base
de datos específica
|
Separación
entre los programas y los datos:
los programas de acceso del SGBD deben ser
independientes de cualquier archivo específico.
La estructura de los archivos de datos está en el
catálogo aparte de los programas de acceso.
|
La estructura de los archivos de datos viene
integrada en los programas de acceso, así que
cualquier modificación de la estructura de un
archivo puede requerir la modificación de
todos los programas que tienen acceso a
dicho archivo.
|
Manejo de
múltiples vistas de los datos: cada
uno de los usuarios de la base de datos puede
requerir una perspectiva o vista diferente de la
misma. Una vista puede ser un subconjunto de
la base de datos o contener datos virtuales que
se deriven de los archivos de la base de datos,
pero que no estén almacenados explícitamente.
|
En los sistemas de archivos no existen
diferentes vistas de datos.
|
Abstracción
de los datos: el SGBD provee al
usuario una representación conceptual de la
data que no incluye (necesariamente) detalles
de su implementación.
|
Cada archivo puede estar definido por su
longitud de registros (# de bytes por registro)
y cada campo puede ser especificado por su
byte de comienzo dentro de un registro y su
longitud en byte.
|
Comportamientote
datos y procesamiento
de
transacciones multiusuarios: los SGBD
deben permitir el acceso simultáneo a varios
usuarios. El SGBD debe incluir software de
control de concurrencia para asegurarse de que
las actualizaciones de un dato sean las
correctas, además de asegurarse de que estas
actualizaciones estén disponibles para todos lo
usuarios.
|
En los sistemas de archivos existen muchas
incoherencias en los datos, debido a la falla
en las actualizaciones.
|
No hay comentarios:
Publicar un comentario