La tendenza oggi è di affiancare processori invariati dal punto di vista della velocità di calcolo, ma capaci di lavorare in parallelo. Questo ha portato all’arrivo sul mercato di sistemi dual core, quad core e via dicendo…
Ma da grandi poteri derivano grandi responsabilità! La responsabilità, in questo caso, è del software: è infatti sua la responsabilità (o meglio, di chi lo progetta e sviluppa) di sfruttare tutti i core che ha a disposizione. Questo, in sostanza, vuol dire che oggi progettare software reattivo significa soprattutto progettare software in grado di parallelizzare il lavoro: solo in questo modo più core potranno lavorare in parallelo e il nostro nuovissimo PC potrà sfruttare tutta la sua “putenza”.
systemd (la lettera minuscola non e’ un errore 🙂 ) è il nuovo gestore di avvio ideato da Lennart Pottering, che attualmente ha rimpiazzato initd su Fedora e che si prevede diventerà il nuovo standard anche per le altre distribuzioni.
La caratteristica principale di questo nuovo sistema, l’avrete intuito, è che fa ruotare tutto attorno alla parallelizzazione dei task di boot up, con lo scopo quindi di sfruttare al 100% l’architettura dei sistemi moderni.
Che siate quindi utenti di Fedora o no, molto probabilmente da qui a qualche tempo dovrete averci a che fare. Nel seguito quindi, vorrei riassumere alcuni dei comandi principali che potete/potrete utilizzare per gestire i demoni del Pinguino.
Il comando principale per gestire systemd è systemctl. Da bash:
systemctl
Senza nessun parametro otterremo l’elenco di tutti i demoni controllati da systemd ed il relativo stato.
Se ci interessa lo stato di un servizio in particolare, ad esempio sshd:
systemctl status sshd.service
Per abilitare (o disabilitare) un servizio, possiamo usare il comando enable (o disable):
systemctl enable sshd.service
Mentre per avviarlo (o fermarlo) possiamo utilizzare il comando start (o stop):
systemctl start sshd.service
Possiamo interrogare lo stato (avviato o no) di un servizio anche usando il comando:
echo $( systemctl is-enabled sshd.service )
Questi sono solo alcuni esempi ovviamente, maggiori informazioni sono disponibili sulla pagina dedicata:
http://www.freedesktop.org/wiki/Software/systemd
Una funzionalità a mio avviso utile, in particolare, è quella di analisi dei tempi di boot.
Proviamo ad usare i comandi:
systemd-analyze
E
systemd-analyze blame