back
Console hurd: funzionamento

L'avvio della console hurd si articola in due fasi che impegnano, rispettivamente, i due elementi di cui si compone: il server ed il client. Nei paragrafi successivi è illustrato l'avvio di tali componenti con un breve riferimento alla loro configurazione eseguita generalmente durante l'installazione dei sistema.

Avvio del server

Come precedentemente accennato, il server della console hurd (programma /hurd/console) è un translator di tipo "passivo": è, quindi, avviato automaticamente quando ha luogo un tentativo di accesso al nodo a cui è collegato.
Nel dettaglio, all'avvio del sistema, il processo /hurd/init attiva il translator /hurd/ext2fs.static (che gestisce il file system di tipo ext2) il quale attiva, a sua volta, tutti i translators collegati a file o directory contenuti al proprio interno qualora un programma tenti di accedervi: i server della console mach e della console hurd sono tra questi.
Tale comportamento è verificabile consultando l'elenco dei processi attivi e le loro dipendenze reciproche impartendo il comando:

$ ps Axjf

il cui risultato è esemplificato nell'elenco sotto riportato (tavola dei processi):

USER   PID  PPID TTY     TIME COMMAND
root     0     1   ?  0:04.80 /hurd/proc
root     1     1   -  0:00.04 /hurd/init /boot/gnumach.gz root=device:hd0s1
   -     2     1   ?  0:00.54 /boot/gnumach.gz root=device:hd0s1
root     3     1   -  1:48.24 /hurd/ext2fs.static \
                              --multiboot-command-line=/boot/gn
[...snip...]
root     6     1   -  0:00.18 /bin/bash /libexec/runsystem \
                              /boot/gnumach.gz root=de
root     7     3   -  0:00.31 /hurd/term /dev/console device console
[...snip...]
root   551     3   -  0:00.09 /hurd/term /dev/tty1 hurdio /dev/vcs/1/console
root   552     3   -  0:00.20 /hurd/console --encoding=ISO8859-1
root   553     6   -  0:00.18 /libexec/runttys
root   561     3   -  0:00.10 /hurd/term /dev/tty2 hurdio /dev/vcs/2/console
root   562     3   -  0:00.09 /hurd/term /dev/tty3 hurdio /dev/vcs/3/console
root   563     3   -  0:00.12 /hurd/term /dev/tty4 hurdio /dev/vcs/4/console
root   564     3   -  0:00.04 /hurd/term /dev/tty5 hurdio /dev/vcs/5/console
root   565     3   -  0:00.10 /hurd/term /dev/tty6 hurdio /dev/vcs/6/console

nel quale:

  • la colonna PID rappresenta il numero identificativo del processo (che rispetta, nella sequenza crescente, l'ordine di avvio dei singoli processi);
  • la colonna PPID corrisponde al PID del processo padre (parent process id);
  • la colonna COMMAND rappresenta il programma corrispondente a quel determinato processo.
back