Linux parte
Keywords: guide

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