Il kernel Linux® è un kernel gratuito e open source che riveste un'importanza critica per molti sistemi informatici. Nel sistema operativo Linux (OS), il kernel Linux costituisce un'interfaccia critica tra i livelli hardware e software e consente al sistema operativo di gestire molti componenti diversi contemporaneamente.
I kernel sono programmi per computer che costituiscono il nucleo di un sistema operativo (OS) e offrono all'utente il controllo completo sui componenti hardware e software che compongono il sistema. I kernel aiutano a prevenire i conflitti tra processi importanti, essenziali per il corretto funzionamento del sistema. Il codice del kernel viene conservato nella memoria del computer e supporta tutte le interazioni tra software e hardware; ad esempio, input/output (I/O), utilizzo della CPU e della cache, driver di dispositivi, file system e socket di rete.
Il kernel Linux è stato sviluppato nel 1991 da Linus Torvalds quale alternativa gratuita a Unix, uno dei primi sistemi operativi che consentiva agli utenti di interagire direttamente con i computer. Negli anni successivi, il kernel Linux e le successive versioni del kernel sono diventati critici per le distribuzioni Linux. Oggi sono utilizzati da alcune delle più grandi aziende tecnologiche, software e informatiche al mondo.
Ogni 9-10 settimane viene rilasciata una nuova versione del kernel Linux. Queste versioni, chiamate "kernel stabili", sono curate dagli sviluppatori del kernel Linux e dai manutentori dei repository Linux e sono disponibili su kernel.org e GitHub.
Alcuni fornitori, tuttavia, come Debian e Red Hat, preferiscono mantenere per i propri progetti un source tree personalizzato, ovvero una raccolta di tutto il codice sorgente del kernel Linux. Questo approccio ha implicazioni critiche per l'utilizzo del kernel Linux in molte applicazioni aziendali moderne, come l'intelligenza artificiale (AI), l'edge computing e l'Internet of Things (IoT).
Ad esempio, Red Hat Enterprise Linux è una piattaforma Linux stabile e ad alte prestazioni che offre caratteristiche di sicurezza e gestione su misura ed è costruita utilizzando l'albero dei sorgenti Linux personalizzato di Red Hat. Debian usa il suo albero dei sorgenti per mantenere Ubuntu, un codice open source fondamentale per molte architetture IoT.
Un kernel è un programma per computer che funziona come il cuore pulsante del sistema operativo, il sistema che consente agli utenti di interagire con l'hardware e il software del computer. Nel caso del sistema operativo Linux, il kernel Linux è il codice che costituisce il componente principale del sistema operativo, consentendogli di svolgere le sue funzioni.
Il sistema operativo Linux è composto da vari componenti oltre al kernel Linux, come librerie di sistema, utility dello spazio utente e applicazioni. Tuttavia, tutti questi componenti si affidano al kernel Linux per comunicare con il sistema operativo in modo da poter ricevere comandi, come input/output (I/O), e soddisfare le richieste degli utenti. Il kernel Linux è noto per la sua flessibilità e può essere modificato in base alle esigenze dell'utente o per adattarsi ai requisiti di un programma specifico.
Ogni versione del kernel Linux ha un ciclo di vita in cui viene testata, rilasciata al pubblico e poi gradualmente eliminata. Il ciclo di vita del kernel Linux è suddiviso in cinque fasi: Prepatch, Mainline, Stable Review, Long Term Support (LTS) ed End of Life (EOL).
Newsletter di settore
Resta al passo con le tendenze più importanti e interessanti del settore relative ad AI, automazione, dati e oltre con la newsletter Think. Leggi l' Informativa sulla privacy IBM.
L'abbonamento sarà fornito in lingua inglese. Troverai un link per annullare l'iscrizione in tutte le newsletter. Puoi gestire i tuoi abbonamenti o annullarli qui. Per ulteriori informazioni, consulta l'Informativa sulla privacy IBM.
Linux è uno dei sistemi operativi open source più utilizzati al mondo. Ciò è dovuto in gran parte alla flessibilità e all'efficacia del kernel Linux. Fornisce molte delle funzionalità di gestione e controllo che rendono Linux OS una piattaforma così potente, comprese quelle che alimentano la CPU (il cervello attivo di un sistema informatico) e la sua capacità di networking (la sua capacità di connettersi con altri dispositivi e condividere risorse e informazioni). Ecco alcuni dei più ampi benefici aziendali del kernel Linux:
Il kernel Linux è composto da sei livelli distinti, o sottosistemi, che abilitano le sue funzioni principali:
Ecco uno sguardo più approfondito a ciascuno di essi e al loro funzionamento.
Il livello SCI contiene la funzionalità che consente al kernel di eseguire chiamate di sistema dallo spazio utente al kernel. Questa è una funzionalità critica del kernel Linux, perché lo spazio utente è il luogo in cui il software di applicazione e i driver eseguono il loro workload, mentre lo spazio del kernel è strettamente dedicato all'esecuzione delle funzioni critiche del sistema operativo. Il livello SCI funge da ponte tra i due spazi. Quando viene avviata una chiamata di sistema dallo spazio utente, ad esempio una richiesta di aggiornamento di una casella di e-mail o di apertura di un'applicazione di mobile banking, la chiamata di sistema attiva il passaggio al livello del kernel, consentendo la trasmissione della richiesta al sistema operativo.
Il livello di gestione dei processi consente al kernel Linux di eseguire i processi che consentono agli utenti di interagire con il computer. Ad esempio, quando Linux viene avviato per la prima volta, Init (abbreviazione di "inizializzazione"), porta il sistema a uno stato utilizzabile eseguendo script di avvio e gestendo i livelli di esecuzione. Ogni processo rappresenta una virtualizzazione individuale del processore, ad esempio codice thread, dati, stack e registri della CPU.
I computer gestiscono la memoria virtuale utilizzando le cosiddette "pagine". Le pagine sono l'unità più piccola in cui i dati possono essere suddivisi in un sistema operativo che si basa sulla memoria virtuale. Il livello di gestione della memoria del kernel Linux consente al sistema operativo e, per estensione, all'utente, di gestire la memoria disponibile di un computer. La memoria virtuale è critica per il funzionamento di programmi e applicazioni.
Il file system virtuale (VFS) del kernel Linux fornisce un'interfaccia comune per i file system. Il VFS funge da livello di commutazione tra lo SCI e i file system supportati dal kernel, supportando molte funzioni critiche (ad esempio, apertura, chiusura, lettura e scrittura).
Le astrazioni dei file system, in altre parole il modo in cui file, directory e file system appaiono agli utenti, sono un altro componente chiave del livello VFS, che aiuta a presentare la complessità di un sistema informatico in modo rappresentativo e facile da capire per un utente.
Ogni computer di una rete, o "nodo", deve seguire i protocolli di rete, ovvero una serie rigorosa di regole per condividere e ricevere dati. Questi protocolli sono fondamentali per consentire ai dispositivi incompatibili di utilizzare la stessa rete, ad esempio un telefono Android e un computer Mac.
Per facilitare questo tipo di comunicazione, i protocolli di rete si basano sui gateway, che sono dispositivi hardware (come i router) che facilitano la comunicazione tra due reti diverse. Lo stack di rete nel kernel Linux utilizza molti dispositivi gateway comuni, come convertitori di velocità, traduttori di protocollo e altri, per rendere possibile la comunicazione in rete tra dispositivi incompatibili.
I driver di dispositivo forniscono un sistema operativo con un'interfaccia software che consente il funzionamento di un dispositivo specifico, come una tastiera o un'unità esterna, un mouse o una stampante. Il codice sorgente del kernel Linux è costituito principalmente da codice contenuto nei driver di dispositivo specifici per un determinato dispositivo.
Il source tree di Linux, ovvero una directory contenente tutto il codice sorgente per il kernel Linux e i driver di dispositivo, è suddiviso nei vari dispositivi supportati e nelle relative connessioni, come Bluetooth o la porta seriale. Il driver di dispositivo riconosce i comandi impartiti a un singolo dispositivo, o classe di dispositivo, e crea richieste I/O contenenti questi comandi in modo che il dispositivo funzioni nel modo previsto dall'utente.
Le aziende di settori molto diversi si affidano al kernel Linux e alle varie funzionalità fornite per mantenere la forza lavoro innovativa e offrire i programmi, le applicazioni e i servizi su cui fanno affidamento i loro clienti. Ecco alcuni dei casi d'uso aziendali più comuni per il kernel Linux.
Il kernel Linux consente di connettere computer e dispositivi informatici in modo sicuro tramite Wi-Fi, Ethernet o altro tipo di connessione, indipendentemente dalla compatibilità del dispositivo. Questa funzionalità consente la condivisione di conoscenze e risorse critiche, come l'uso di intranet e la fornitura rapida ed efficiente dei prodotti software as a service (SaaS).
Il kernel Linux è dotato di solide funzionalità di sicurezza che aiutano a proteggere utenti e sistemi operativi dalle minacce informatiche che possono danneggiare computer, programmi, applicazioni e le reti su cui vengono eseguiti. Queste minacce includono molti tipi diversi di malware, come ransomware, rootkit, worm e molto altro. Le minacce che prendono di mira le vulnerabilità del kernel Linux vengono risolte tramite patch frequenti, come le correzioni di bug, che proteggono i sistemi e i programmi in esecuzione su di essi.
In una realtà in cui l'89% delle aziende sta intraprendendo iniziative di trasformazione digitale, 2, l'ottimizzazione delle risorse di calcolo dedicate alla trasformazione digitale è diventata una parte essenziale della maggior parte delle strategie aziendali.
Il kernel Linux aiuta le aziende a bilanciare le esigenze delle loro risorse più preziose, come server, database e software applicativi all'edge, in modo che possano essere certe che sistemi e reti funzionino ai massimi livelli, attraverso un processo chiamato tuning del kernel.
L'ottimizzazione del kernel consiste nella precisa regolazione delle impostazioni del kernel Linux per migliorare le prestazioni in specifici sottosistemi del kernel Linux come rete, memoria, pianificazione dei processi e file system. Nel caso dei file system, ad esempio, molte applicazioni ad alta intensità di dati, tra cui videogiochi, app di trading finanziario e siti di social media, richiedono l'ottimizzazione dei parametri del file system per funzionare ai massimi livelli. Il file system proc, un VFS nel sistema operativo Linux, si interfaccia tra le strutture di dati interne del kernel per ottenere dati sul sistema, in modo che i parametri del kernel possano essere regolati per ottimizzare le prestazioni delle applicazioni.
Per prosperare, le aziende di maggior successo devono dotare i dipendenti di tecnologie all'avanguardia, come laptop e dispositivi mobili. Il kernel Linux consente a programmi e reti che supportano migliaia di dipendenti in luoghi diversi e che utilizzano diversi tipi di dispositivi di collaborare senza problemi. Il kernel consente ai dispositivi hardware di interagire utilizzando moduli specifici che possono essere caricati sul kernel, in modo che possano essere gestiti dal sistema operativo.
Un popolare processo di gestione dei dispositivi Linux è noto come interrupt. Interrupt aiuta a conservare le risorse di calcolo consentendo al kernel Linux di interrompere la comunicazione tra un dispositivo e un'applicazione quando non è necessaria per un'operazione specifica. Un altro è udev, uno strumento di gestione dei dispositivi Linux che gestisce l'aggiunta e la sottrazione di dispositivi da un sistema operativo e controlla il modo in cui ciascun dispositivo appare in una directory.
Il cloud computing, ovvero l'invio on-demand di risorse informatiche su Internet, è diventato uno strumento essenziale per molte aziende moderne, poiché stimola l'innovazione e aiuta a fornire soluzioni ai clienti in modo rapido e scalabile.
Il kernel Linux supporta il cloud computing in modi critici ed è diventato un componente essenziale di tutti i maggiori provider di cloud al mondo, tra cui Amazon (AWS), Microsoft Azure, Oracle e Google Cloud.
La scalabilità del kernel gli consente di supportare enormi sistemi informatici, come supercomputer e data center, senza aumentare significativamente le risorse di calcolo (una capacità essenziale per le architetture cloud). Il kernel Linux è ideale anche per i workload cloud perché è altamente stabile, con tempi di inattività relativamente bassi. Infine, il kernel Linux è altamente versatile e può funzionare su molti tipi di hardware, una capacità chiave negli ambienti virtualizzati che sono fondamentali per il cloud moderno.
1. Top five containerization technologies in 2024, (link esterno a ibm.com), 6Sense, 2024
2. The Value of Digital Transformation, (link resides outside ibm.com), Harvard Business Review, 31 luglio 2023
IBM Cloud Infrastructure Center è una piattaforma software compatibile con OpenStack per gestire l'infrastruttura di cloud privati su IBM zSystems e IBM LinuxONE.
Scopri i server, lo storage e il software progettati per l'hybrid cloud e la strategia AI della tua azienda.
Trova la soluzione di infrastruttura cloud adatta alle esigenze della tua azienda e scala le risorse on-demand.