Architettura di un sistema Linux

di staff 1

Il concetto che sta alla base di un sistema Linux è di nucleo, o parlando tecnicamente Kernel; questa parte fondamentale e basilare di un sistema Linux gestisce le risorse fondamentali di tutto il sistema, cioè la CPU (Central Processing Unit), la memoria e le diverse periferiche collegate al computer. Tutto il resto, cioè la parte che prevede l’interazione con l’utente deve essere realizzato tramite programmi appositi che sono gestiti ed eseguiti dal Kernel, che accedono alle risorse hardware tramite le richieste a quest’ultimo.

La base di un sistema Unix nel nostro caso Linux è di un sistema Multitasking, cioè in grado di eseguire contemporaneamente più programmi, inoltre è possibile che più utenti siano connessi a una stessa macchina eseguendo più programmi insieme.

In realtà, la maggior parte dei computer ha un solo processore, per cui il fatto di eseguire diversi programmi contemporaneamente è un’illusione perché il processore in un determinato momento lavora soltanto per un singolo programma; il fatto di essere Multitasking funziona nel seguente modo:
• Sono eseguiti 2/3 programmi insieme (cioè uno dopo l’altro);
• Il processore esegue il primo programma per 1 secondo, poi lo blocca;
• Parte il secondo programma per un tempo uguale al precedente e così via.

Il fatto di essere eseguito per un lasso piccolo di tempo, sembra che i programmi funzionino tutti insieme e in maniera contemporanea.

Come detto prima il kernel è il cuore di tutto il sistema, diversi sono i kernel diffusi, ma ognuno è realizzato sfruttando le caratteristiche dei processori moderni come la gestione dell’hardware della memoria e la modalità protetta, infatti, con i processori moderni si possono disabilitare temporaneamente sia l’uso di certe istruzioni e sia l’uso di alcune zone della memoria fisica.

Commenti (1)

Lascia un commento

Il tuo indirizzo email non verrà pubblicato.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>