Nuovo appuntamento con l’evento del giorno per i lettori di YLU.

Ogni giorno un nuovo appuntamento con i nostri lettori. Si chiama Evento del giorno e servirà a ricordare qualcosa accaduto nel giorno in cui ci troviamo negli anni passati. Buona lettura 🙂

Evento del giorno: nel 1991 accadde…Linus Torvalds pubblica la prima versione del kernel Linux

Linux è un kernel distribuito con licenza GNU General Public License; è stato creato nel 1991 da Linus Torvalds. Integrato con il Sistema GNU, sviluppato daRichard Stallman, ha dato vita al sistema operativo GNU/Linux (chiamato comunemente con il solo nome Linux).

Il kernel è il “cuore” di un sistema operativo (nucleo) e fornisce tutte le funzioni essenziali per il sistema, in particolare la gestione della memoria primaria, delle risorse hardware del sistema e delle periferiche, assegnandole di volta in volta ai processi in esecuzione. La controparte del kernel è la shell, ovvero l’interfaccia utente del sistema, la parte più esterna. I programmi chiedono le risorse al kernel attraverso delle chiamate (system call) e non possono accedere direttamente all’hardware. Il kernel si occupa quindi di gestire il tempo processore, le comunicazioni e la memoria distribuendole ai processi in corso a seconda delle priorità (scheduling) realizzando così il multitasking.

L’architettura scelta da Torvalds per il kernel (ovvero una struttura monolitica, considerata da alcuni obsoleta a differenza della più moderna architettura a microkernel) fu causa di un dibattito molto acceso conAndrew S. Tanenbaum nel 1992 sul newsgroup comp.os.minix. Sebbene oggi il kernel possa essere compilato in modo da avere un’immagine binaria ridotta al minimo e i driver caricabili da moduli esterni, l’architettura originaria è chiaramente visibile: tutti i driver infatti devono avere una parte eseguita in kernel mode, anche quelli per cui ciò non sarebbe affatto necessario (ad esempio i driver dei file system).

Come ogni progetto che sia software libero, anche il kernel Linux è in continua evoluzione. La dimensione del kernel Linux cresce in maniera esponenziale, aggiungendo nuovi moduli, nuovo hardware supportato e così via.

Linux è un kernel che supporta il multitasking ed è multi utente. Ciò permette che diversi utenti (con privilegi differenziati) possano eseguire sullo stesso sistema diversi processi software in simultanea. Attualmente Linux supporta gran parte dell’hardware disponibile per PC e supporta un numero enorme di architetture (tra cui SPARC, PowerPC, ARM e le più moderne CPU a 64 bit).

Il codice sorgente di Linux è disponibile a tutti, è ampiamente personalizzabile, al punto da rendere possibile, in fase di compilazione, l’esclusione di codice non strettamente indispensabile. La flessibilità di questo kernel lo rende adatto a tutte quelle tecnologie embedded emergenti e anche nei centri di calcolo distribuito (cluster Beowulf) fino ad essere incorporato in alcuni videoregistratori digitali e nei telefoni cellulari.