back
	
/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:

  1. console
  2. input
  3. 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..]
back