fichier spécial de la console

Objectif

Permet d'accéder à la console système.

Descriptif

Le fichier spécial /dev/console permet d'accéder à l'unité ou au fichier désigné comme console système. Ce fichier peut être désigné comme unité de console par la personne qui administre le système ou par un utilisateur disposant des droits appropriés. Le fichier spécial console character permet d'accéder au pilote de périphérique de la console. Le pilote de périphérique de console dirige à son tour les entrées et sorties vers l'unité ou le fichier sélectionné comme console système.

La console système est généralement un terminal ou un écran situé à proximité de l'unité centrale. Il a deux fonctions dans le système d'exploitation. Tout d'abord, il permet d'accéder au système lorsqu'il fonctionne en mode non multi-utilisateur. (Ce serait le cas lors des sessions de maintenance et de diagnostic.) Une connexion à la console est également normalement fournie sur cette unité pour tous les niveaux d'exécution du système d'exploitation.

Ensuite, la console système affiche des messages d'erreurs système et d'autres problèmes nécessitant une intervention. Ces messages sont générés par le système d'exploitation et ses différents sous-systèmes lors du démarrage ou de l'exploitation. La console système peut également être redirigée vers un fichier ou vers le fichier spécial /dev/null pour les systèmes fonctionnant sans console.

Support de configuration du pilote de console

La prise en charge de la configuration du pilote de console permet d'affecter ou de réaffecter la console système à une unité ou à un fichier spécifié. Cette prise en charge fournit également des fonctions de requête pour déterminer les noms de chemin en cours et configurés pour l'unité ou le fichier désigné comme console. Cette prise en charge de la configuration est utilisée par les commandes de gestion de système de haut niveau swcons, Chconset lscons . Il est également utilisé par la méthode de configuration de la console au démarrage du système.

La commande swcons (switch console) peut être utilisée pendant le fonctionnement du système pour basculer temporairement la sortie de la console système vers une autre cible. Cette commande permet de basculer uniquement les messages d'information système, d'erreur et d'intervention requis vers la destination indiquée. La commande swcons n'affecte pas le fonctionnement de la console système qui fournit une connexion via la commande Getty . L'unité ou le fichier spécifié lors de l'utilisation de la commande swcons reste la cible de la sortie de la console jusqu'à ce que l'une des situations suivantes se produise:

  • Une autre commande swcons est émise.
  • Le système est redémarré.
  • Le pilote de console a détecté une erreur lors de l'accès au périphérique ou au fichier désigné.

Si une erreur d'ouverture ou d'écriture est détectée sur l'unité ou le fichier spécifié par la commande swcons , le pilote de l'unité de la console bascule toutes les sorties vers l'unité ou le fichier fournissant la prise en charge de la console au démarrage du système.

La commande Chcons (modifier la console) peut être utilisée pour basculer la sortie de la console système vers une unité ou un fichier différent pour le prochain démarrage. Cette commande n'affecte pas la sélection de la console en cours, mais elle prend effet lorsque le système est redémarré.

Lorsqu'il est demandé d'activer une connexion sur la console, le programme Getty (qui fournit la prise en charge de la connexion) utilise la prise en charge de la configuration de la console pour déterminer le nom de chemin de la console cible utilisée au démarrage. Cette action garantit que la commande swcons n'affecte pas l'unité de console utilisée pour la connexion.

Usage Considerations

Les sous-routines open, close,read, write, ioctl, selectet poll sont prises en charge par le pilote de périphérique de la console et peuvent être utilisées avec le fichier spécial /dev/console . Ces sous-routines sont redirigées vers le périphérique ou le fichier servant de périphérique de la console système en cours par le pilote de périphérique de la console.

Ouvrir et fermer des sous-routines

Lorsqu'un appel de sous-routine ouvrir est émis vers le pilote de périphérique de la console, il est redirigé vers le périphérique ou le fichier actuellement choisi comme périphérique de la console. Si le choix de la console système est un fichier, le fichier est ouvert avec les options ajout et créer lorsque la première ouverture du fichier dev/console est reçue. Les ouvertures suivantes n'ont aucun effet lorsque la sélection de la console est un fichier. Cependant, les ouvertures sont ensuite transmises au pilote de périphérique prenant en charge le périphérique choisi comme console.

Si la sélection de la console a été temporairement basculée à l'aide de la commande swcons et que la première ouverture de la nouvelle unité sous-jacente échoue, le pilote de la console bascule à nouveau sur l'unité de la console ou sur le fichier avec lequel le système a été amorcé. Cela permet d'éviter la perte de messages système importants.

Un paramètre Extension transmis à l'aide de la sous-routine openx est transmis au pilote de périphérique prenant en charge la cible de la console ou ignoré. (Ce dernier est vrai si la sélection de la console est un fichier.)

La prise en charge de la sous-routine fermer est standard.

Sous-routines select, poll et ioctl

Les sous-routines sélectionner, interrogationet ioctl sont redirigées vers l'unité de la console système en cours lorsque la sélection de la console n'est pas un fichier. Si l'unité de console sélectionnée est un fichier, le pilote d'unité de console renvoie une erreur indiquant que la sous-routine n'est pas prise en charge.

Un paramètre Extension transmis à la sous-routine ioctlx est ensuite transmis au pilote de périphérique prenant en charge la cible de la console, ou ignoré. (Ce dernier est vrai si la sélection de la console est un fichier.)

lire et écrire des sous-routines

Les appels de sous-routine écriture sont redirigés vers le périphérique ou le fichier de la console en cours. Si la sélection de la console a été temporairement commutée à l'aide de la commande swcons et que l'écriture sur l'unité ou le fichier cible n'a pas abouti, le pilote de la console revient sur l'unité ou le fichier de la console à partir duquel le système a été démarré et tente à nouveau l'écriture. Cela permet d'éviter la perte de messages système importants en cas d'indisponibilité ou d'échec de la cible de console temporaire. Le pilote de périphérique de la console doit rester connecté à l'unité système d'origine jusqu'à ce qu'une autre commande swcons soit émise.

Si la console en cours est une unité, elle redirige l'appel de sous-routine lecture . Si la sélection de console en cours est un fichier, l'appel lecture est rejeté avec une erreur (EACCES).

Un paramètre Extension transmis à la sous-routine readx ou writex est transmis au pilote de périphérique prenant en charge la cible de la console ou ignoré. (Ce dernier est vrai si la sélection de la console est un fichier.)

Remarque: Les erreurs EIO résultant de la fonction d'écriture de la console sont restreintes. En effet, lorsqu'une unité tty connectée à un modem est déconnectée, le fichier STREAM est marqué. La console redirige toutes les écritures vers la console vers laquelle la console pointe. Ensuite, toutes les écritures dans le descripteur de fichier sont renvoyées avec des erreurs EIO. Ces erreurs EIO se poursuivent jusqu'à ce que certains processus rouvre la console. Par conséquent, les erreurs EIO sont limitées dans certaines situations lorsque la connexion à la console est perdue.

Consignation de la sortie de la console

Toutes les sorties envoyées à la console sont consignées dans un fichier journal système. Seule la sortie envoyée à la console est consignée. Toute sortie envoyée à une unité agissant en tant que console n'est pas consignée. Cela signifie que les messages d'information système, d'erreur et d'intervention requise sont capturés (consignés), alors que les autres types de sortie vus sur la console ne le sont pas ; par exemple, la sortie getty, la sortie smitty, l'interaction de l'utilisateur sur le périphérique de la console, etc.

Le fichier journal est basé sur le format alog ; ce format permet au fichier d'être encapsulé après avoir atteint une taille maximale prédéterminée. La commande alog est généralement utilisée pour afficher le fichier journal de la console. Le fichier journal de la console s'écarte du format alog normal dans la mesure où chaque enregistrement du fichier contient, en plus du texte consigné, l'ID utilisateur qui a écrit sur la console et l'heure de l'époque à laquelle il a été écrit. L'heure de l'époque est formatée et affichée dans la date et l'heure de l'environnement local de l'utilisateur lorsque le fichier est généré par la commande alog .

Lorsque l'unité de console est configurée ou lorsqu'une modification est apportée au fichier journal de la console, la propriété du fichier est définie sur root et les droits sont définis sur 620. L'utilisateur root peut modifier la propriété ou les droits d'accès, mais ils ne seront pas conservés d'un amorçage à l'autre.

La commande swcons est utilisée pour apporter des modifications aux paramètres de consignation de la console lors du fonctionnement du système ; ces modifications sont annulées lors de la configuration suivante de l'unité de la console (en général, réamorçage) et les paramètres de consignation de la console d'origine sont rétablis.

La commande Chcons permet d'apporter des modifications aux paramètres de consignation de la console pour la configuration d'unité de console suivante (en général, réamorçage). Ces modifications ne s'appliquent pas au système en cours d'exécution.

La fonction de consignation de la console peut également être configurée à l'aide de la commande alog . Lorsque l'option alog -C est utilisée, les modifications sont effectives dans le système en cours d'exécution et sont persistantes d'un démarrage à l'autre. Lorsque l'indicateur -s est utilisé (sans l'indicateur -C ) pour modifier la taille du fichier, le fichier est modifié immédiatement, mais cette modification n'est pas enregistrée dans ODM et n'est pas persistante d'un démarrage à l'autre.

Les paramètres qui contrôlent la fonction de consignation de la console sont le nom de chemin du fichier journal, la taille maximale du fichier journal et l'index de prolixité pour la consignation. Les restrictions concernant ces paramètres sont les suivantes:

  • le chemin d'accès au fichier journal doit être absolu
  • la taille de fichier maximale ne doit pas dépasser l'espace disponible en cours du système de fichiers sur lequel elle est stockée (et la valeur saisie par l'utilisateur est arrondie à la limite 4K la plus proche)
  • Les valeurs de prolixité sont comprises entre 0 et 9, toute valeur supérieure à 0 indiquant que toutes les sorties de la console doivent être enregistrées.

Etiquetage de la sortie de la console

Une fonction est fournie pour préfixer chaque message de sortie de la console avec l'ID utilisateur effectif de l'utilisateur qui a envoyé le message à la console. Seule la sortie envoyée à la console est balisée, toute sortie envoyée à l'unité faisant office de console ne l'est pas.

La commande swcons et les commandes Chcons peuvent être utilisées pour activer et désactiver le balisage de sortie de la console avec les mêmes mises en garde sur la persistance des valeurs qui s'appliquent comme indiqué ci-dessus dans la consignation de la sortie de la console.

La valeur de prolixité du balisage de la sortie de la console est limitée à la plage de 0 à 9. Toute valeur supérieure à 0 entraîne l'étiquetage de toutes les sorties de la console.

Limitation des fichiers spéciaux de la console

Les erreurs d'entrée-sortie d'erreur (EIO) sont limitées dans certains cas lorsque la connexion à la console est perdue. Les erreurs EIO résultant de la fonction d'écriture de la console sont restreintes car le fichier STREAM est marqué lorsqu'une unité Tty connectée à un modem est déconnectée. Toutes les opérations d'écriture sur la console sont redirigées vers l'endroit où la console pointe et où les opérations d'écriture sur le descripteur de fichier sont renvoyées avec des erreurs EIO. Ces erreurs EIO se poursuivent jusqu'à ce qu'un processus rouvre la console.

Fichiers

Article Descriptif
/dev/null Permet d'accéder à l'unité null.