Sistemas de BD y Sistema de Archivos

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
La mayoría de los sistemas operativos manejan 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 (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 inglesUserGroupOthers)
    • 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