Mandrake Linux 8.1: Manual de Referencia | ||
---|---|---|
Anterior | Capítulo 9. El sistema de archivos de Linux | Siguiente |
Como ya se mencionó, dichos archivos son archivos creados por el sistema o bien, representan periféricos en su máquina. También hemos mencionado que el contenido de los archivos en modo bloque está guardado en memoria mientras que el de los de modo caracter no lo está. Para ilustrar esto, inserte un disquete en la disquetera e ingrese el comando siguiente dos veces:
$ dd if=/dev/fd0 of=/dev/null |
Ud. puede observar lo siguiente: mientras que, la primera vez que se lanzó el comando, se leyó todo el contenido del disquete, la segunda vez no se accedió a la disquetera en absoluto. Esto se debe simplemente a que el contenido de la disquetera se guardó en memoria la primera vez que se lanzó el comando - y entre tanto Ud. no cambie el disquete, el mismo permanece allí.
Pero ahora, si quiere imprimir un archivo grande de esta forma (sí, va a funcionar):
$ cat /a/big/printable/file/somewhere >/dev/lp0 |
el comando tardará el mismo tiempo si lo lanza una vez, dos veces, o cincuenta veces. Esto se debe a que /dev/lp0 es un archivo de modo caracter y su contenido no se conserva en memoria.
El hecho de que los archivos de modo bloque se conserven en memoria tiene un efecto secundario interesante: no sólo se conservan las lecturas sino también las escrituras. Esto permite que las escrituras en el disco sean asíncronas: cuando Ud. escribe un archivo en disco, la operación de escritura en sí misma no es inmediata. Sólo ocurrirá cuando GNU/Linux lo decida.
Finalmente, cada archivo especial tiene un número mayor y uno menor. Aparecen en la respuesta de ls -l, en lugar del tamaño, debido a que el tamaño para este tipo de archivos es irrelevante:
$ ls -l /dev/hda /dev/lp0 brw-rw---- 1 root disk 3, 0 may 5 1998 /dev/hda crw-rw---- 1 root daemon 6, 0 may 5 1998 |
Aquí, los números mayor y menor de /dev/hda son 3 y 0, respectivamente, mientras que para /dev/lp0 son 6 y 0, respectivamente. Note que estos números son únicos por categoría de archivo, lo que significa que puede haber un archivo de modo caracter con 3 por mayor y 0 por menor (de hecho, este archivo existe: /dev/ttyp0), y similarmente sólo puede haber un archivo de modo bloque con 6 por mayor y 0 por menor. Estos números existen por una razón simple: le permiten a GNU/Linux asociar las operaciones adecuadas para estos archivos (es decir, con los periféricos a los cuales se refieren estos archivos). No se puede controlar una disquetera de la misma manera que, digamos, un disco rígido SCSI.
Anterior | Inicio | Siguiente |
Tuberías "anónimas" y tuberías nombradas | Subir | Los vínculos simbólicos y la limitación de los vínculos "duros" |