back

Si può notare come il server (/hurd/console con PID=552) è avviato dal translator /hurd/ext2fs.static (PPID=3), che a sua volta è avviato da /hurd/init (che prende parte al processo di avvio del kernel).
Nella tabella dei processi, inoltre, si possono notare sia l'istanza del server della console mach (/hurd/term con PID=7) collegata al dispositivo /dev/console che le istanze di altri sei translator /hurd/term per altrettante console virtuali (PID=551 e PID da 561 a 565).

L'inzializzazione dei translator /hurd/term, essendo questi ultimi di tipo passivo, avviene, analogamente a quanto accade con la console hurd, al momento dell'avvio del file system che contiene i file o directory a cui sono collegati.
Anche il translator /hurd/term (per ciascuno dei file a cui è collegato) è impostato in fase di configurazione inziale del sistema utilizzando lo script /dev/MAKEDEV impartendo il seguente comando:

# sh /dev/MAKEDEV console tty1 tty2 tty3 tty4 tty5 tty6

che, per il dispositivo /dev/console, corrisponde ai comandi:

# cd /dev
# settrans -cg console
# chown root tty1
# settrans console /hurd/term /dev/console device console

e per i dispositivi da /dev/tty1 a /dev/tty6 corrisponde ai comandi (ad esempio, per /dev/tty1)

# cd /dev
# settrans -cg tty1
# chown root tty1
# settrans tty1 /hurd/term /dev/tty1 hurdio /dev/vcs/1/console

I file da /dev/tty1 a /dev/tty6 rappresentano dispositivi di tipo "a carattere", ovvero il cui input e output avviene un carattere per volta. Il server /hurd/console monitorizza questi dispositivi (ciascuno collegato ad un translator /hurd/term di tipo hurdio) [8] e, per ciascuno di essi, crea nel percorso /dev/vcs un struttura dati visualizzabile con il comando):

# ls -laR /dev/vcs

il cui risultato (riferito limitatamente a /dev/vcs/1 e /dev/vcs/2 perché si ripete sempre secondo la stessa struttura) è:

/dev/vcs:
totale 4
drwx------ 1 root root    0 29 set 00:17 .
drwxr-xr-x 3 root root 4096 28 set 22:42 ..
drwx------ 1 root root    0 29 set 01:16 1
drwx------ 1 root root    0 29 set 01:16 2
drwx------ 1 root root    0 29 set 01:16 3
drwx------ 1 root root    0 29 set 01:16 4
drwx------ 1 root root    0 29 set 01:16 5
drwx------ 1 root root    0 29 set 01:16 6
back