El documento describe las características del sistema de archivos en Unix/Linux. Posee una estructura jerárquica organizada como un árbol invertido con un nodo raíz. Permite crear, borrar y modificar archivos dinámicamente y trata los dispositivos como archivos. Los nombres de archivo se especifican mediante rutas absolutas o relativas.
1. Sistema de Archivo
Unix - Linux
Prof. Pablo Macón
http://pablomacon.wix.com/home
profemacon@gmail.com
2. Sistema de Archivo ¿para qué sirve?
Permite realizar una abstracción de los dispositivos
físicos de almacenamiento de la información para que
sean tratados a nivel lógico, como una estructura de
más alto nivel y más sencilla que la estructura de su
arquitectura hardware particular.
3. Sistema de Archivo UNIX - Características
Posee una estructura jerárquica, organizado, a nivel
lógico, en forma de árbol invertido.
Un nodo principal conocido como nodo raíz (“/”).
Cada nodo dentro del árbol es un directorio y puede contener a su
vez otros nodos (subdirectorios), archivos normales o archivos de
dispositivo.
4. Sistema de Archivo UNIX - Características
Permite crear y borrar archivos
Permite el crecimiento dinámico de los archivos
Trata a los dispositivos y periféricos (terminales,
unidades de disco, cinta, etc.) como si fuesen archivos
5. Sistema de Archivo UNIX - Características
Los nombres de los archivos (pathname) se especifican
mediante la ruta (path), que describe cómo localizar un
archivo dentro de la jerarquía del sistema.
6. Sistema de Archivo UNIX - Características
La ruta de un archivo puede ser:
absoluta (referida al nodo raíz) o
relativa (referida al directorio de trabajo actual, CWD
current work directory).
7. Sistema de Archivo UNIX - Características
Dirección absoluta: Siempre comienza con / que indica
la raíz del sistema
cat /etc/network/interfaces
8. Sistema de Archivo UNIX - Características
Dirección relativa: Nunca comienza con /
Dentro del directorio /etc
cat network/interfaces
9. Sistema de Archivo UNIX - Características
Un sistema UNIX puede manejar uno o varios discos
físicos, cada uno de los cuales puede contener uno o
varios sistemas de archivos. Los sistemas de archivos
son particiones lógicas del disco.
10. Sistema de Archivo UNIX - Características
Tener varios sistemas de archivos permite una
administración más segura, ya que si uno de los
volúmenes se rompe, perdiéndose la información que
hay en él, este accidente no se habrá transmitido al
resto de los sistemas de archivos que hay en el disco y
se podrá seguir trabajando con ellos para intentar una
restauración o una reinstalación.
11. Sistema de Archivo UNIX - Características
El kernel del sistema operativo trabaja con el sistema de
archivos a un nivel lógico y no trata directamente con
los discos a nivel físico.
Cada disco es considerado como un dispositivo lógico
que tiene asociados unos números de dispositivo
(minor number y major number).
12. Sistema de Archivo UNIX - Características
Estos números se utilizan para acceder al controlador
del disco. Un controlador del disco se va a encargar de
transformar las direcciones lógicas (kernel) de nuestro
sistema de archivos a direcciones físicas del disco.
13. Sistema de Archivo UNIX - Características
major & minor:
Éstos números indican el tipo de dispositivo
(normalmente disco duro) y el número que se le ha
asignado si hay varios del mismo tipo.
14. Sistema de Archivo UNIX - Características
major & minor:
El número mayor indica el tipo de dispositivo. Puede
indicar si es un disco duro, una controladora RAID, etc.
No indica qué tipo de unidad es exactamente, indica el
tipo de driver que lo está controlando.
15. Sistema de Archivo UNIX - Características
major & minor:
Por ejemplo, el número 8 corresponde a "SCSI disk
devices" (discos duros SCSI) pero pueden estar
conectados por USB o ser internos.
16. Sistema de Archivo UNIX - Características
major & minor:
El número menor indica qué número tiene dentro de un
mismo driver. Por ejemplo, dentro de "SCSI disk
devices" puede haber varios discos duros, los cuales
son diferenciados por el número menor.
17. Sistema de Archivo UNIX - Características
major & minor:
No es lo mismo que el nombre por el que se accede de
fora sencilla (por ejemplo /dev/sda), sino que se refiere
al número que le ha asignado el driver que controla el
dispositivo.
18. Sistema de Archivo UNIX - Características
major & minor: lsblk
Comando que nos permite consultar los dispositivos de
almacenamiento de un sistema Unix-like
19. Sistema de Archivo UNIX - Características
major & minor: lsblk – ejemplo de salida
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 596,2G 0 disk
├─sda1 8:1 0 50G 0 part /
├─sda2 8:2 0 4G 0 part [SWAP]
└─sda3 8:3 0 542,2G 0 part /home
sr0 11:0 1 1024M 0 rom
20. Sistema de Archivo UNIX - Características
Un sistema de archivos se compone de una secuencia
de bloques lógicos, cada uno de los cuales tiene un
tamaño fijo (homogéneo).
El tamaño del bloque es el mismo para todo el sistema
de archivos y suele ser múltiplo de 512. ¿por qué?
21. Sistema de Archivo UNIX - Características
A pesar de que el tamaño del bloque es homogéneo en
un sistema de archivos, puede variar de un sistema a
otro dentro de una misma configuración UNIX con
varios sistemas de archivos.
El tamaño elegido para el bloque va a influir en las
prestaciones globales del sistema.
22. Sistema de Archivo UNIX - Características
Por un lado, interesa que los bloques sean grandes
para que la velocidad de transferencia entre el disco y la
memoria sea mayor.
Sin embargo, si los bloques lógicos son demasiado
grandes, la capacidad de almacenamiento del disco se
puede ver desaprovechada cuando abundan los
archivos pequeños que no llegan a ocupar un bloque
completo.
23. Sistema de Archivo UNIX - Características
El bloque de arranque (boot). Ocupa la parte del
principio del sistema de archivos y contiene el código
de arranque. Un programa que se encarga de buscar el
sistema operativo y cargarlo en memoria.
24. Sistema de Archivo UNIX - Características
El superbloque describe el estado de un sistema de
archivos. Contiene información acerca de su tamaño,
total de archivos que puede contener, qué espacio libre
queda, etc.
25. Sistema de Archivo UNIX - Características
La lista de inodos (nodos índice). Contiene una entrada
por cada archivo, que guarda una descripción del
mismo: situación del archivo en el disco, propietario,
permisos de acceso, fecha de actualización, etc.
26. Sistema de Archivo UNIX - Características
La lista de inodos (nodos índice). El administrador del
sistema es el encargado de especificar el tamaño de la
lista de inodos al configurar el sistema.
27. Sistema de Archivo UNIX - Características
Los bloques de datos: empiezan a continuación de la
lista de inodos y ocupa el resto del sistema de archivos.
En esta zona es donde se encuentra situado el
contenido de los archivos a los que hace referencia la
lista de inodos.
28. Sistema de Archivo UNIX - Características
Los bloques de datos: Cada uno de los bloques
destinados a datos sólo puede ser asignado a un
archivo, tanto si lo ocupa totalmente como si no.
29. Sistema de Archivo UNIX - Dispositivos
Básicamente, los discos se nombran con una letra.
Por ejemplo:
el primer disco duro es sda (SCSI Disc a),
el segundo es sdb (SCSI Disk b),
el tercero es sdc (SCSI Disk c), etc.
Anteriormente se usaba hda (Hard Disk a).
30. Sistema de Archivo UNIX - Dispositivos
Dentro de cada disco duro puede haber cuatro
particiones primarias (normalmente).
Las particiones se nombran con un número.
De ésta forma, la primera partición del primer disco
duro será sda1, la segunda partición será sda2, etc. A
las particiones extendidas se las asigna un número a
partir del 5 (para reservar los números a las cuatro
particiones primarias).