los sistemas de archivos
Introducción
Dado que la gestión de archivos y directorios es la principal tarea básica que se realiza con los sistemas operativos vamos a profundizar un poco en los sistemas de archivos
Los sistemas de archivos permiten organizar los datos en los dispositivos de almacenamiento siguiendo una serie de normas y restricciones. Un sistema de archivos se implanta después de crear una partición en un dispositivo de almacenamiento (disco duro, USB, CD/DVD, etc.).
Gestión de archivos
El almacenamiento de la información de lleva a cabo mediante archivos (también llamados ficheros). Un archivo se define como un conjunto de datos almacenados en un dispositivo de almacenamiento.
El sistema operativo gestiona los archivos mediante el sistema de archivos.
El sistema de archivos es un conjunto de normas y procedimientos para almacenar información en los dispositivos de almacenamiento.
Tipos de archivos
En general, los sistemas operativos, distinguen entre estos tipos de archivos:
Normales: los archivos pueden contener cualquier tipo de información. En algunos casos los archivos pueden ser programas que una vez ejecutados pasan a ser procesos.
Directorios: son archivos que contienen información de otros archivos.
Especiales: son archivos que permiten comunicarse con dispositivos de entrada/salida (archivos especiales de caracteres) o con discos (archivos especiales de bloques).
Propiedades de los archivos
Algunas de las propiedades que tienen los archivos son:
Nombre sirve para identificarlo, la mayoría de los sistemas operativos permiten utilizar nombres de hasta 255 caracteres. Algunos sistemas operativos hacen distinciones entre minúsculas y mayúsculas (ejemplo: los ficheros Pepe y pepe son considerados distintos en Linux en cambio en Windows son el mismo archivo). En el caso de haber dos archivos con el mismo nombre en el mismo sistema de archivos estos deben estar en ubicaciones distintas.
Extensión sirve para indicarle al sistema operativo el tipo de programa que ejecuta o interpreta el archivo. Algunos sistemas operativos como Windows necesitan utilizar extensiones, otros como UNIX o Linux no las necesitan aunque las pueden utilizar.
Extensión Significado
.doc Extensión de los ficheros creados en word
.gif Formato gráfico muy utilizado en la web
.html Formato de lenguaje de marcado utilizado para la elaboración de páginas web
.jpg Formato gráfico
.mp3 Formato de audio digital comprimido
.txt Formato para archivos de texto
.zip Formato de compresión
Tipo de archivo: pueden ser normales, directorios o especiales.
Ubicación: lugar del sistema de archivos donde se encuentra un archivo.
Fecha de creación, modificación y último acceso: para cada archivo indica la fecha en que ha sido credo, modificado y la última vez que se accedió a él.
Atributos: propiedades que permiten asignara características especiales a los archivos, algunos ejemplos son atributos de sólo lectura, de archivo, de sistema, ocultar, cifrar, comprimir, etc.
Permisos: se utilizan para permitir o restringir el acceso a los archivos a determinados usuarios o grupos. Los permisos pueden ser para: leer, modificar, eliminar, renombrar, etc.
Directorios
Los directorios (también llamados carpetas) son un tipo de archivo que almacena información de otros archivos. Son como carpetas que sirven para organizar archivos dentro de un sistema, pueden contener archivos u otras carpetas.
En general, los sistemas de directorios son jerárquicos: un directorio puede incluir otros directorios y archivos.
Dentro de una estructura de directorios, el directorio actual es en el que está en un momento determinado (Se suele representar por el carácter ”.”). Si queremos saber el directorio donde nos encontramos en Linux se utiliza el comando pwd. El mismo comando se utiliza en el entorno de comandos (PowerShell) en Windows.
El directorio padre es el que está por encima del directorio en el que se encuentra el usuario (para representarlos es utiliza el carácter ”..”).
Se le llama directorio raíz al directorio en el que empieza la estructura de directorio (del que cuelga toda la estructura)
Para llamar a un archivo dentro de una estructura de directorios se utiliza el concepto de ruta. Se define como una concatenación de directorios y subdirectorios desde el directorio raíz hasta el directorio en el que está el archivo y por último se concatena el nombre del archivo.
Hay dos tipos de rutas:
Ruta absoluta: forma de llamar a un archivo desde el directorio raíz hasta el archivo. Un ejemplo de ruta absoluta en Windows es C:\Users\Juan\ejemplo.txt, un ejemplo de ruta absoluta en Linux sería/home/juan/ejemplo.txt. Vemos que el carácter separador es distinto en ambos casos.
Ruta relativa: se nombra al archivo respecto del directorio actual, ejemplo en Windows..\User\Juan\ejemplo.txt; ejemplo en Linux ..\Juan\ejemplo.txt
Principales sistemas de archivo
Vamos a ver algunos sitemas de ficheros de las principales familias de sistemas operativos:
Windows
FAT-16 (File Allocation Table, tabla de asignación de archivos) utilizado por las versiones Windows 95 y Windows 98. La norma para los nombres de archivos es de 8 letras para el nombre y 3 para la extensión.
FAT-32 Utilizado por Windows NT, 200, XP y Vista aunque estos sistemas operativos también pueden utilizar FAT-16. Los nombres de archivo pueden tener hasta 255 caracteres para el nombre y 3 para la extensión.
NTFS (New Technology File System, Sistema de archivos de nueva tecnología) utilizado por Windows 2000, XP, Vista, 7, Server 2003 y Server 2008). Al ser el más utilizado veamos algunas de sus características:
Es un sistema de archivos transaccional, es decir, lleva control de todas las operaciones del sistema. Ante fallos puede deshacer todos los cambios hechos.
Tiene capacidad de recuperarse automáticamente de algunos errores en el sistema de archivos.
Se puede trabajar con achivos de hasta 16TB.
Se pueden utilizar permisos y cifrado para restringir el acceso a archivos y directorios.
Nombres de archivo de hasta 255 caracteres.
Los nombres de archivo están en Unicode.
Estructura de directorios jerárquica. El directorio raíz comienza desde el nombre de la unidad de la partición (c:\, d:\, e:\, etc). El separador entre nombres es la contrabarra “\”
Linux
ext2 (Second Extended filesystem, Segundo sistema de archivos extendido) admite particiones de disco de hasta 4TBy archivos de has 2GB, se podían utilizar nombres de hasta 255 caracteres y es muy estable.
ext3 no es una versión nueva sino una modificación de ext2 y permite journaling (hacer un registro diario almacenando los cambios que se realizan en el sistema de ficheros)
ext4 soportado desde la versión 2.6.28 del kernel. Veamos algunas de sus características en detalle:
Sistema de archivos transaccional.
Recuperación frente a pérdida de datos.
Compatibilidad con ext3 y otros sistemas de archivos anteriores.
Ficheros de hasta 16TB de tamaño máximo.
Tamaño de los nombres de archivo de hasta 256 bytes.
El sistema de directorios tiene una estructura jerárquica. El directorio raíz comienza con una barra ”/”. El separador de nombres es también la barra ”/”
Existen otros sistemas de archivos en Linux como son XFS, ReiserFS, etc.
MacOS
El sistema de archivos Mac OS Extended (HFS Plus) reemplaza al HFS (Kieraquical File System, Sistema de archivos jerárquico). También es llamado Mac OS Standard. Los ficheros de este sistema usan Unicode y pueden llegar hasta los 255 caracteres. Otro sistema de archivos que utiliza Max OS es UFS
UNIX
Utiliza el sistema de archivos UFS (UNIX File System, Sistema de archivos de UNIX)