El almacenamiento en disco se organiza en dos elementos básicos, el fichero y el directorio. Intuitivamente la organización lógica de los ficheros y directorios en disco es similar a las hojas y ramas en un árbol. A cada hoja sólo se puede llegar siguiendo una serie de ramas y cada rama puede contener hojas y más ramas. En nuestro caso, las ramas serán los directorios y las hojas los ficheros.
Hablando con más propiedad, un fichero es un conjunto de datos en disco asociado a un i-nodo. El sistema operativo identifica a un fichero por su número de i-nodo. En el i-nodo se especifican entre otras cosas los permisos, el propietario y la distribución de los datos del fichero sobre el disco.
Un directorio es un fichero especial donde se asocia un nombre a un número de i-nodo. Esto produce la sensación de que el directorio contiene ficheros y otros directorios. Esta organización nos permite que podamos asignar varios nombres a un mismo conjunto de datos en disco.
En ocasiones puede suceder que cambiemos el nombre de un fichero y otro proceso que lo tuviera abierto y escribiendo en él, lo siga haciendo ya que el cambio de nombre no afecta al i-nodo en sí.
En el capítulo de administración del sistema de ficheros se trata todo esto con más profundidad.
Los sistemas Unix se organizan en un único árbol de directorios. Existe un directorio principal, denominado raíz (/) dentro del cual aparecen el resto de directorios que tenga el sistema.
Esto quiere decir que los distintos discos no aparecen como tales discos independientes en es sistema, sino que aparecen como un directorio más y esto lo podemos organizar de acuerdo con nuestros intereses. Cuando hablábamos del sistema de ficheros decíamos que intuitivamente se podía ver cada sistema de ficheros como un árbo con ficheros y directoriasl, pues ahora cada sistema de ficheros se integra en el árbol de directorio como una rama más. Los disspositivos extraibles se integran como ramas que se pueden poner o quitar.
En el siguiente ejemplo podemos observar una forma de organizar un sistema Linux
$ mount
/dev/hdb1 on / type ext3 (rw)
none on /proc type proc (rw)
/dev/hdb3 on /usr type ext3 (rw)
/dev/hdb4 on /opt type ext3 (rw)
/dev/hda5 on /tmp type ext3 (rw)
/dev/hda6 on /usr/src type ext3 (rw)
|
/dev/hda7 on /usr/local type ext3 (rw)
Esto quiere decir que la primera partición (1) del segundo disco duro (hdb) contiene el directorio raíz (/). La tercera partición (3) del segundo disco duro (hdb) aparece en en directorio /usr. La séptima partición (7) del primer disco duro (hda) aparece en el directorio /usr/local.