/dev/vcs/1: totale 0 drwx------ 1 root root 0 29 set 01:16 . drwx------ 1 root root 0 29 set 00:17 .. crw------- 1 root root 0, 0 29 set 00:17 console -rw------- 1 root root 36164 29 set 2009 display prw------- 1 root root 0 29 set 2009 input /dev/vcs/2: totale 0 drwx------ 1 root root 0 29 set 01:16 . drwx------ 1 root root 0 29 set 00:17 .. crw------- 1 root root 0, 0 29 set 00:17 console -rw------- 1 root root 36164 29 set 2009 display prw------- 1 root root 0 29 set 2009 input [..omissis..]
dove, cioè, per ogni dispositivo da /dev/tty1 a /dev/tty6 collegato ad un translator della console mach (/hurd/term), il server della console hurd genera nella directory /dev/vcs una sotto-directory corrispondente al numero del terminale e, quindi, al di sotto di essa tre files corrispondenti a:
- console
- input
- display
Il file console è quello che costituisce l'argomento del translator della console mach ed è il canale di comunicazione tra i comuni programmi in esecuzione su una console virtuale (collegata ai dispositivi da /dev/tty1 a /dev/tty6), il translator /hurd/term (che gestisce l' input - output dei programmi collegati alle periferiche) e il translator /hurd/console che gestisce centralmente le singole console virtuali.
Avvio del client
Il client (programma /bin/console) è avviato successivamente al server ed, in particolare, dallo script denominato /etc/alternatives/runsystem (PID=6 nella tabella dei processi). Si riporta di seguito la sequenza di codice interessata con indicazione dei numeri di riga:
console[..omissis..] 143 # This program reads /etc/ttys and starts the programs it says to. 144 ${RUNTTYS} & 145 runttys_pid=$! 146 147 # Startup the Hurd console if configured. 148 if [ -e /etc/default/hurd-console ]; then 149 unset DISPLAY KBD KBD_REPEAT MOUSE MOUSE_REPEAT SPEAKER 150 . /etc/default/hurd-console 151 fi 152 if [ "$ENABLE" = "true" ]; then 153 console ${DISPLAY} ${KBD} ${KBD_REPEAT} \ 154 ${SPEAKER} ${MOUSE} ${MOUSE_REPEAT} -c /dev/vcs 155 fi [..omissis..]