Les fichiers spéciaux (HPUX)
par
popularité : 5%
Les fichiers spéciaux
A. introduction
1. présentation
Les fichiers spéciaux font référence aux
périphériques et se trouvent dans le répertoire
/dev.
ls -l /dev/term
crw—w---- |
1 |
root |
tty |
128,12 |
Dec 31 |
17:21 |
app1 |
||||||||||||||
| |
| |
| |
| |
| |
| |
| |
| |
||||||||||||||
type et droits |
liens |
propriétaire |
groupe |
majeur,mineur |
date |
heure |
nom du fichier |
||||||||||||||
| |
|
|
|
| |
| |
|
|
||||||||||||||
c caractères |
| |
identifie les périphériques d’une classe |
|||||||||||||||||||
b blocs |
|
classe du périphérique |
|
|
|
||||||||||||||||
p tubes |
Le répertoire /dev
/dev/pts |
contient les fichiers spéciaux pour les |
/dev/pty |
répertoire des pseudos tty esclaves |
/dev/md |
contient les fichiers spéciaux pour les |
/dev/dsk |
contient les fichiers spéciaux pour les |
/dev/rdsk |
contient les fichiers spéciaux pour les |
/dev/term |
contient les fichiers spéciaux pour les |
/dev/.... |
fichiers spéciaux pour streams, accès |
Les noms des fichiers spéciaux changent d’une machine à
l’autre. Ils sont gérés à l’aide de programmes
spécialisés du noyau. Ces gestionnaires de
périphériques sont appelés des drivers. Il
existe deux types de « drivers » : mode bloc et mode
caractère .
Deux entiers sont associés à chaque fichier spécial
:
le majeur qui désigne
le driver,-
le mineur ( transmis au majeur ) qui désigne un
périphérique particulier pour ce driver ou une
utilisation particulière du périphérique ( une
densité par exemple )
2. Les modes d’accès aux périphériques :
-
Mode bloc ( disques durs, disquettes )
L’accès à ces périphériques se fait à
l’aide de requêtes au système de gestion de fichiers du
noyau. Celui-ci gère un ensemble de tampons caches permettant
de différer les écritures physiques et d’anticiper
éventuellement les lectures. Un périphérique
géré en mode bloc donne la possibilité de
création d’un filesystem.
-
Mode caractère ( terminaux , bandes , imprimantes ...
)
- Transferts d’octets séquentiels ( accès brut )
- Gestion de caractères spéciaux et d’interruptions
Dans ce mode caractère, il existe deux types de lecture :
- Type canonique : Les caractères, stockés dans un tampon, ne sont transmis que sur réception d’un caractère de validation.
- Type raw : La lecture s’effectue caractère par caractère.( Exemple : un éditeur plein écran )
De ce fait, les périphériques en mode bloc ont deux
entrées sous /dev : l’une de type b et l’autre de type c .
droits d’accès |
nombre de lien |
proprio |
groupe |
major |
minor |
date et heure |
Nom du fichier |
||
crw-rw-rw- |
2 |
bin |
bin |
212 |
0x010040 |
Dec |
12 |
12:11 |
/dev/rmt/0mn |
crw-r------ |
1 |
bin |
bin |
214 |
0x002000 |
Dec |
12 |
12:11 |
/dev/rdsk/c0t2d0 |
brw-rw-rw |
1 |
bin |
bin |
26 |
0x002000 |
Dec |
12 |
12:11 |
/dev/dsk/c0t2d0 |
3. Les fichiers spéciaux associés aux terminaux
Les fichiers spéciaux associés aux
terminaux, modems et imprimantes n’ont pas de sous répertoires
spécifiques et sont stockés dans le répertoire
/dev.
/dev/ttyCpP |
terminaux |
/dev/ttydCpP |
terminaux |
/dev/culCpP |
modem |
/dev/lpC |
imprimante |
avec
C : Désigne le numéro d’unité du contrôleur de la carte MUX
P : Désigne le numéro de port sur la carte MUX.
4. Les fichiers spéciaux associés aux disques
/dev/[r]dsk/cCtTdD[sS]
C |
désigne le contrôleur |
T |
désigne le numéro de cible, numéro |
D |
désigne le numéro d’unité du périphérique |
S |
désigne le numéro de section |
5. Les fichiers spéciaux associés aux cassettes
/dev/rmt/cCtTdD[options]
Options :
T |
désigne le numéro de cible |
BEST |
Active les options les plus performantes offertes par le |
h|m|l |
indique la densité h (high):6250bpi, m(medium):1600, |
n |
non rembobinage |
c |
compression des données |
b |
mode Berkeley en lecture |
B. La mise en oeuvre de nouveaux périphériques
1. commande ioscan
La commande ioscan pemet de détecter les modules hardware
du système ( processeurs, mémoire, cartes d’interface,
disques, lecteurs de bandes, ...). Pour chaque module, la commande
liste par défaut le "hardware path" du module, sa
clase et une description.
Syntaxe :
/usr/sbin/ioscan
[-k
|-u
]
[-d
driver|-C
class] [-I
instance] [-H
hw_path] [-f
[-n
]|-F
[-n
]] [devfile]
/usr/sbin/ioscan
-M <I>driver</I>
-H
<I>hw_path</I>
[-I
instance]
Les options :
k |
Liste les données d’entrées/sorties du noyau. |
u |
Restreint l’affichage aux matériels "utilisables" |
d driver |
Restreint l’affichage aux matériels contrôlés |
C class |
Restreint l’affichage à la classe de matériels |
I instance |
Restreint l’affichage à l’instance mentionné |
H |
Restreint l’affichage aux matériels correspondant à |
f |
liste détaillée |
n |
liste également les noms des fichiers spéciaux |
M divers |
Spécifie le driver à utiliser (à combiner |
-F |
la liste est affichée sous forme de champs séparés |
Exemples :
/usr/sbin/ioscan -k H/W Path Class Description ========================================== 56 bc Bus Converter 56/52 ext_bus HP 28655A - SCSI Interface 56/52.0 target 56/52.0.0 tape SCSI Tape 56/52.1 target 56/52.1.0 disk HP C2247M1 - SCSI Disk 56/52.2 target 56/52.2.0 disk HP C2247M1 - SCSI Disk 56/52.3 target 56/52.3.0 disk TEAC FC-1 ... - SCSI Disk 56/52.5 target 56/52.5.0 disk HP C2247M1 - SCSI Disk 56/52.6 target 56/52.6.0 disk HP C2247M1 - SCSI Disk ... /usr/sbin/ioscan -f Class I H/W Path Driver S/W State H/W Type Description ======================================================================== ... ext_bus 0 8/0 c720 CLAIMED INTERFACE F/W SCSI target 0 8/0.5 tgt CLAIMED DEVICE disk 0 8/0.5.0 sdisk CLAIMED DEVICE HP C2247 ba 0 8/12 bus_adapter CLAIMED BUS_NEXUS Core I/O Adapter ext_bus 2 8/12/0 CentIf CLAIMED INTERFACE Parallel Interface audio 0 8/12/1 audio CLAIMED INTERFACE Audio tty 0 8/12/4 asio0 CLAIMED INTERFACE RS-232C ext_bus 1 8/12/5 c700 CLAIMED INTERFACE SCSI target 1 8/12/5.0 tgt CLAIMED DEVICE disk 1 8/12/5.0.0 sflop CLAIMED DEVICE TEAC FC-1 ... lan 0 8/12/6 lan2 CLAIMED INTERFACE LAN bc 2 10 ccio CLAIMED BUS_NEXUS I/O Adapter graphics 0 10/0 graph3 CLAIMED INTERFACE Graphics ... /usr/sbin/ioscan -fn -H 2/0/7 Class I H/W Path Driver S/W State H/W Type Description =========================================================================== ext_bus 1 2/0/7 c700 CLAIMED INTERFACE Built-in F/W SCSI target 3 2/0/7.5 target CLAIMED DEVICE disk 2 2/0/7.5.0 sdisk CLAIMED DEVICE HP C2247 /dev/dsk/c1t5d0 /dev/rdsk/c1t5d0 ...
2. commande mknod
Dans une configuration standard, les fichiers spéciaux sont
fournis à l’installation du système et l’ajout des
périphériques usuels se fait à l’aide d’un
utilitaire qui lance lui-même la commande.
De ce fait, il est rare que cette commande « mknod »
soit utilisée directement par l’administrateur, sauf, par
exemple, pour recréer une entrée accidentellement
détruite ou pour créer délibérément
des synonymes ( mêmes couples « majeur - mineur » ).
La commande /etc/mknod permet de créer :
un fichier spécial
/etc/mknod nom b | c majeur mineur
/etc/mknod /dev/term/app1 c 128 12
un tube nommé
/etc/mknod nom p
/etc/mknod /dev/fifo p
3. commande mksf
La commande mksf est utilisée afin de créer un
fichier spécial si le périphérique est déjà
connu du système.
Syntaxe :
/sbin/<B>mksf</B>
[-C
class | -d
driver] [-D
directory] [-H
hw-path] [-I
instance] [-q
|-v
]
[options-spécifiques] [fichier-spécial]
/sbin/<B>mksf</B>
[-C
class | -d
driver] [-D
directory] [-H
hw-path] -m
minor [-q
|-v
]
[-r
] fichier-spécial
Les options :
C |
sélectionne les périphériques qui |
d |
sélectionne un périphérique particulier |
D |
installe le fichier spécial dans le répertoire |
H |
choisir le périphérique en donnant son adresse |
I |
sélectionne l’instance du périphérique |
q |
mode silencieux |
v |
mode verbeux |
r |
création du fichier spécial en mode RAW |
options-spécifiques |
Permet l’activation d’options spécifiques, possible avec |
fichier spécial |
sélection un nom alternatif de fichier spécial |
Exemple
mksf -d tape2 -I 0 -b DDS2 |
crée un fichier spécial de type caractère |
mksf -d mux2 -I 0 -p 5 -c -i -a 2 |
crée un fichier spécial type terminal pour un |
mksf -C printer -I 1 /dev/laser |
crée un fichier /dev/laser et le connecte à |
4. commande insf
La commande insf est utilisée pour créer un ou
plusieur fichiers spéciaux si le périphérique
n’a pas encore été initialisé. Elle crée
le ou les fichiers spéciaux pour ce périphérique
et obtient aussi un numéro d’instance pour le périphérique.
syntaxe :
/sbin/<B>insf</B>
/sbin/<B>insf</B>
[-C
class | -d
driver] [-D
directory] [-e
]
[-H
hw-path] [-I
instance]
[-n
npty] [-q
|-v
] [-s
nstrpty] [-p
<I>first-optical-disk</I>:<I>last-optical-disk</I>
]
Les options :
C |
sélectionne les périphériques qui |
d |
sélectionne un périphérique particulier |
D |
installe le fichier spécial dans le répertoire |
H |
choisir le périphérique en donnant son adresse |
I |
sélectionne l’instance du périphérique |
q |
mode silencieux |
v |
mode verbeux |
e |
crée ou ré-installe le ou les fichiers des |
n |
Spécifie le nombre d’enter. Par défaut : npty |
s |
Spécifie le nombre d’enter pour le drivers |
p |
Options pour les disques optiques |
Exemples :
insf -C tty |
Pour créer les fichiers spéciaux de tous les |
insf -H 4.2.0 -e |
Pour créer les fichiers spéciaux pour le |
insf -e -n 100 -d ptym |
Pour créer 100 fichiers spéciaux liés au |
C. Autres commandes :
1. Commande lsdev :
Pour connaître les drivers et leur numéro.
syntaxe :
/usr/sbin/<B>lsdev</B>
[-h
] [-d
driver | -C
class] [-b
block_major] [-c
char_major] [-e
major] [major ...]
Tapez lsdev vous obtenez :
Character |
Block |
Driver |
Class |
64 |
64 |
lv |
lvm |
175 |
27 |
disc2 |
disk |
177 |
28 |
disc3 |
disk |
212 |
-1 |
tape0 |
tape |
... |
Le driver d’un logical volume s’appelle lv, il a comme major
number 64 en mode caractère et en mode bloc. Le driver d’un
lecteur de DAT s’appelle tape0, il a comme major number 212 en mode
caractère, un lecteur de DAT ne peut être accédé
en mode bloc, d’où le -1.
Vous pouvez regarde le fichier /usr/conf/master.d vous
avez la liste exhaustive des major number et des drivers susceptibles
d’être reconnus par le système.
2. commande lssf :
La commande lssf affiche les caractéristiques des fichiers
spéciaux.
syntaxe :
/sbin/<B>lssf</B>
fichier_spécial ...
Exemples :
Après avoir exécuter: mksf -d tape2 -H 8.6.1
-b 1600 -a rmt/c2t6d0m
. <BR># lssf
dev/rmt/c2t6d0m
tape2 instance 2 bpi 1600 att
address 8.6.1 rmt/c2t6d0m
# /usr/sbin/lssf /dev/rdsk/c0t6d0
disc3 card instance 0 SCSI
target 6 SCSI LUN 0
# /usr/sbin/lssf /dev/rmt/c0t3d0BESTn
tape2 card instance 0
SCSI target 3 SCSI LUN 0 at&t no rewind best density available at
address 2.0.3/dev/rmt/c0t3d0BEST
Commentaires Forum fermé