Next: Adesso tocca all'utente
Up: Iniziare ad usare il
Previous: Accendere il Computer
Linux parte
Dopo che il BIOS ha passato il controllo a LILO, LILO passa il
controllo al kernel di
.
Il kernel è il programma principale del sistema operativo, che
controlla tutti gli altri programmi.
La prima cosa che Linux fa quando parte, è commutare il sistema in
modalità
protetta.modalità protetta Il processore 80386,3.1 che controlla il computer, ha due modalità,
chiamate realemodalità reale e
protetta.modalità protetta Il DOS funziona in modalità reale,
come il BIOS, ma alcuni sistemi operativi avanzati devono
girare in modalità protetta. Per questo, quando Linux
parte, viene abbandonato il BIOS.
Altri tipi di processore compiranno questo stadio in maniera diversa:
nessun altro processore ha bisogno di cambiare modalità, e pochi
devono avere una costruzione sulla procedura di avvio pesante come
LILO e il BIOS. Una volta che il kernel è partito, Linux funziona
nello stesso modo.
Figure:
Il percorso che un PC Intel fa per arrivare al prompt di
shell.
init può avviare o no il Sistema X Window; se lo fa viene avviato
xdm, altrimenti viene avviato getty.
8#8 |
Linux controlla poi il tipo di hardware su cui sta girando:
vuole sapere
che tipo di disco fisso è presente, se c'è un bus mouse, se si lavora in
rete e altre cose simili. Linux non può ricordarsi queste cose tra un
avvio e l'altro, così le deve valutare ogni volta.
Fortunatamente non le chiede a voi--ma
all'hardware! Durante l'avvio, il kernel di Linux stampa un elenco
di messaggi, che si possono leggere nella
Sezione . Questo processo di richiesta di
informazioni sull'hardware può causare qualche problema con il
sistema, ma se lo fa, probabilmente è quando si installa Linux per
la prima volta. Se avete problemi, consultate la documentazione della
vostra distribuzione.
Il kernel gestisce semplicemente gli altri programmi
quindi, una volta
controllato che tutto sia a posto, deve avviarne uno per fare
qualcosa di utile. Il programma avviato dal kernel si chiama init (notare la differenza dei caratteri: le parti di testo
evidenziato con questo tipo di carattere normalmente sono nomi
di programmi,
file, directory o termini informatici). Dopo l'avvio di init il kernel
non avvia più nessun programma; diventa un gestore di risorse, non un
programma
attivo.
Così, per vedere cosa fa il computer dopo l'avvio del kernel, bisogna
esaminare init. init esegue una complicata sequenza di avvio che
non è la stessa per tutti i computer. Per Linux ci sono varie versioni di
init, e ognuna lavora a modo proprio. È importante anche se il
vostro
computer è in rete e quale distribuzione avete usato per installare
.
Alcune
cose che possono succedere quando parte init sono:
- Controllo dei filesystemfilesystem.
Cos'è un filesystem? È
l'organizzazione dei file in un disco fisso. In questo modo UNIX sa quali
parti del disco sono utilizzate e quali no (è come un indice di un
grosso archivio o lo schedario di una biblioteca). Sfortunatamente
alcuni fattori,
come una caduta di tensione, possono fare in modo che
quello che le informazioni nel filesystem pensano che stia accadendo
nel resto del disco e lo stato reale del disco siano in conflitto.
Un programma speciale, fsck, può scovare queste situazioni e
correggerle.
- Avviamento di speciali programmi di routingroute per
la rete. Questi programmi dicono al computer come fare per contattare
altri computer.
- Rimozione di file temporanei lasciati da alcuni programmi.
- Aggiornamento dell'orologio del sistema. È più complicato di
quanto possa sembrare, dato che Unix, per default, vuole l'ora in
UCT (Universal Coordinated Time, anche noto come GMT - Greenwich Mean
Time) e
l'orologio del CMOS, un orologio interno al computer alimentato a batterie,
è probabilmente impostato all'ora locale. Ciò significa che alcuni
programmi devono leggere l'ora dall'orologio hardware e portarlo in
UCT.
Dopo che init ha finito i suoi compiti all'avvio,
comincia
la sua
attività normale. init può essere considerato il
padre di tutti i processi processi di un sistema
Unix. Un processo è semplicemente un programma in esecuzione; siccome
ogni programma può girare più di una volta, possono esserci due o più
processi per ogni programma.
In Unix, un processo, cioè un'istanza di un programma, è creato da
una
chiamata di sistemachiamata di sistema--un servizio
fornito dal
kernel--chiamata fork
(si chiama ``fork'' - ``forchetta''- perché un processo si divide in
due processi separati).
init si divide in un paio di processi, che si
dividono a loro volta.
Nel
vostro
sistema , init esegue parecchie istanze di un programma chiamato
getty. getty è il programma che permette ad un utente di
collegarsi, e che alla fine chiama un programma chiamato login .
Next: Adesso tocca all'utente
Up: Iniziare ad usare il
Previous: Accendere il Computer
Eugenia Franzoni
1998-09-29