/dev
De SergiTurWiki
Als sistemes de la família Unix, incloent Linux, el sistema de fitxers /dev o device fyle system permet al programari interactuar amb els dispositius de maquinari utilitzant les mateixes crides de sistema que s'utilitzarien per a treballar amb un fitxer.
Dins d'aquesta carpeta es poden troben fitxers d'un tipus especial, anomenats fitxers de dispositiu, que són una interfície al controlador del dispositiu (driver) al qual i podem accedir com si fos un fitxer ordinari.
Els fitxers de dispositiu poden ser:
- Perifèrics com impressores
- Dispositius d'emmagatzemament
- Particions
- Dispositius especials (generadors de números aleatoris, zeros...)
Contingut |
Tipus de dispositius
Els fitxers que hi ha a /dev també són coneguts com a nodes de dispositiu (device node) o fitxers especials de dispositiu. Es tracta de recursos que els sistema operatiu ja s'ha reservat per tal de poder accedir als dispositius de maquinari.
Hi ha 3 tipus de fitxers especials de dispositiu:
- Dispositius de caràcters.Exemples:
- Flux de dades (streams) de bytes
- Teletypes (tty)
- Consoles virtuals
- modems
- Dispositius de bloc
- Discs durs
- Dispositius d'emmagatzemament
- Normalment suporten accés aleatori.
- Pseudo-dispositius: No corresponen a cap maquinari específic
/dev/null: Accepta tot tipus de dades d'entrada i les descarta. No produeix cap mena de sortida/dev/full: Dispositiu que sempre està ple/dev/loop*: Dispositius de loop/dev/zero: Produeix un flux de dades continuo de caràcters NUL (zero)/dev/random: Produeix un flux de dades de números aleatoris de mida variable. Bloqueja/dev/urandom: Produeix un flux de dades de números aleatoris de mida variable. No bloqueja
La diferència entre ells està en com les dades són llegides o escrites en ells (caràcter a caràcter o per blocs)
Convenció de noms
Es segueix la següent convenció de prefixos alhora d'identificar fitxers de dispositiu a /dev:
- fb: frame buffer
- fd: disquets
- hd: Discs durs abans de la llibreria libata (sistema clàssic IDE)
- hda: el dispositiu master del primer canal IDE
- hdb: el dispositiu esclau del primer canal IDE
- hdc: el dispositiu master del segon canal IDE
- hdd: el dispositiu esclau del segon canal IDE
- lp: impressores
- parport, pp: Port paral·lel
- pt: Pseudo terminals
- Controlador SCSI, també utilitzat per libata (controlador IDE modern), USB, Firewire, etc.
- sd: controlador per a dispositius d'emmagatzemament massiu
- sda: Primer dispositiu registrat
- sda1: Primera partició del primer dispositiu registrat
- sda: Primer dispositiu registrat
- ses: Enclosure driver(???)
- sg: controlador SCSI genèric
- sr: controlador ROM” (dispositius òptics)
- st: controladors de cintes magnètiques
- sd: controlador per a dispositius d'emmagatzemament massiu
- tty: Consoles virtuals
- ttyS: controlador del port sèrie
- ttyUSB: convertidors sèrie USB
Per a la majoria de dispositius aquest prefix és seguit per un número que identifica el dispositiu concret.
Recursos:
Nomenclatura
IDE
Normalment té dos ports on és poden connectar fins a dos dispositius que comparteixen el cable:
Port IDE primari:
- Mestre. /dev/hda
- Esclau./dev/hdb
Port secundari IDE:
- Mestre/dev/hdc
- Esclau./dev/hdd
SCSI
En el cas d'SCSI les particions segueixen un ordre marcat pel número de BUS:
- /dev/sda1
- /dev/sda2
- /dev/sda3
Els usb també els detecta com scsi
Més informació sobre noms de dispositius a:
SATA
El funcionament actual dels disc sata és idèntic a SCSI.
mknod
Els dispositius de node es creen amb la crida de sistema mknod. Hi ha una ordre de línia de comandes amb el mateix nom
Consulteu chroot per veure un exemple.
devfs
TODO
devfs is a specific implementation of a device file system on Unix-like operating systems, used for presenting device files, an abstraction for accessing I/O and other peripherals. The underlying mechanism of implementation may vary, depending on the OS.
Maintaining these special files on a general-purpose file system is inconvenient, and as it needs kernel assistance anyway, the idea of a special-purpose file system that is not stored on disk arose.
Also defining when devices are ready to appear is not entirely trivial. The 'devfs' approach is for the device driver to request synchronously creation and deletion of 'devfs' entries related to the devices it enables and disables. There are pros and cons for a kernel-managed devfs vs. a userspace-managed /dev directory (e.g. via udev).
Pros:
- devfs is considered simplerPlantilla:Citation needed and easier to understandPlantilla:Citation neededPlantilla:Who semantics
- does not require any user-space daemon
Cons<ref>http://www.kroah.com/linux/talks/ols_2003_udev_paper/Reprint-Kroah-Hartman-OLS2003.pdf</ref>:
- forces a naming policy on userspace
- uses kernel memory that cannot be swapped out
Pseudo-dispositius
/dev/null
Accepta tot tipus de dades d'entrada i les descarta. No produeix cap mena de sortida
/dev/full
Dispositiu que sempre està ple
/dev/loop*
Consulteu Dispositius de loop
/dev/zero
Produeix un flux de dades continuo de caràcters NUL (zero)
/dev/urandom
Produeix un flux de dades de números aleatoris de mida variable. No bloqueja
/dev/random
Produeix un flux de dades de números aleatoris de mida variable. Bloqueja
Consulteu /dev/random.
Dispositius de loop
També coneguts com loop devices, vnd (vnode disk) o lofi (loopback file interface) són uns pseudo-dispositius que fan que un fitxer sigui accessible com si fos un dispositiu de blocs.
Abans de poder utilitzar un dispositiu de loop, aquest s'ha de connectar amb un fitxer existent al sistema de fitxers.
Els fitxers d'aquest tipus són utilitzats típicament per accedir a imatges ISO de CD o DVD. Es poden muntar aquest tipus de fitxers amb l'ordre mount i d'aquesta forma es pot accedir als fitxers de la imatges a través del punt de muntatge.
En sistemes Debian o Ubuntu teniu ja creats uns quants dispositius de loop:
$ ls /dev/loop loop0 loop1 loop2 loop3 loop4 loop5 loop6 loop7
Consulteu la ordre mount, concretament l'apartat:
Mount#Muntar_imatges_de_disc._Dispositius_loop
per veure com es munta una imatge de disc.
Vegeu també
/dev/mapper
Vegeu també
Consulteu Dispositius Linux.
- LPI_104.1. Crear particions i sistemes de fitxers
- LPI_104.2. Mantenir la integritat dels sistemes de fitxers
- LPI_104.3. Muntatge i desmuntatge de sistemes de fitxers
