Cos'è Linux?

Donna che lavora al laptop all'interno di una sala di controllo

Autori

Mesh Flinders

Staff Writer

IBM Think

Ian Smalley

Staff Editor

IBM Think

Cos'è Linux?

Linux è un sistema operativo (OS) open source basato su Unix. Funziona su computer, server, telefoni mobili e un'ampia gamma di altri dispositivi.

Dalla sua invenzione nel 1991, è diventato uno dei sistemi operativi più utilizzati al mondo, offrendo un'alternativa gratuita ad altri sistemi operativi proprietari, come Microsoft Windows e macOS.

Linux è stato sviluppato da Linus Torvalds quale alternativa Unix-like a Unix, uno dei primi sistemi operativi in assoluto. Si basa molto sul kernel Linux per le sue funzionalità. In un sistema operativo, il kernel è un programma informatico che consente agli utenti di controllare l'hardware e il software del sistema. Oltre al kernel, il sistema operativo Linux utilizza vari componenti, come librerie di sistema e utility, che tuttavia si affidano tutti al kernel per comunicare e ricevere comandi dagli utenti.

Design 3D di palline che rotolano su una pista

Le ultime notizie e insight sull'AI


Scopri notizie e insight selezionati da esperti in materia di AI, cloud e molto altro nella newsletter settimanale Think. 

Cos'è il kernel Linux?

Il kernel Linux è un kernel open source gratuito utilizzato da tutti i dispositivi e sistemi che eseguono il sistema operativo Linux. Il kernel è un programma informatico che collega hardware e software, consentendo agli utenti di gestire diversi componenti di sistema tra cui reti, file system, driver e molto altro.

Il design del kernel è critico per prevenire i conflitti e mantenere la stabilità di importanti processi che fanno funzionare un sistema informatico, come l'input/output (I/O), l'utilizzo dell'unità di elaborazione del computer (CPU) e l'esecuzione delle applicazioni. Il kernel Linux è celebre per la sua flessibilità, stabilità e le alte prestazioni e il sistema operativo Linux è diventato uno dei sistemi operativi più popolari al mondo, soprattutto grazie all'efficacia del kernel Linux.

Nel sistema operativo Linux, il kernel è combinato con pacchetti software e utility per creare distribuzioni Linux che consentono agli utenti di utilizzare i propri computer in modo sicuro ed efficace.

Cosa sono le distribuzioni del kernel Linux?

Uno degli aspetti di Linux che lo ha reso così efficace è che viene costantemente migliorato da una community globale di sviluppatori. Ogni 9-10 settimane viene rilasciata nel mondo una nuova versione del kernel Linux con aggiornamenti per migliorare le prestazioni, aggiungere funzionalità e aumentare la compatibilità con i nuovi dispositivi. Ogni nuova versione di Linux è chiamata "kernel stabile" e viene aggiunta a un repository di distribuzioni Linux conservato su kernel.org e GitHub.

Gli utenti Linux si affidano ai package manager per integrare ogni nuova versione. I package manager sono strumenti software che assistono nell'installazione, l'aggiornamento e la rimozione dei pacchetti software.

Alcuni vendor che fanno molto affidamento su Linux per le funzionalità del proprio software potrebbero voler mantenere un albero dei sorgenti personalizzato o una raccolta di codice sorgente del kernel Linux da utilizzare per i propri scopi. Questo approccio, noto come mantenimento di un "kernel Linux personalizzato" o "distribuzione Linux fork", è stato critico nello sviluppo di molte applicazioni aziendali moderne che si basano su tecnologie più recenti, come l'intelligenza artificiale (AI), l' edge computing e l'Internet of Things (IoT).

Ad esempio, Red Hat implementa una versione di Linux nota come Red Hat Enterprise Linux, una piattaforma stabile e ad alte prestazioni con speciali funzionalità di sicurezza e gestione di Linux. CentOS (Community Enterprise Operating System) è un'altra distribuzione Linux gratuita e open source basata su Red Hat. Un'altra opzione è Debian, un sistema operativo personalizzabile costruito sul kernel Linux che utilizza il proprio albero dei sorgenti specificamente per mantenere Ubuntu, un codice open source fondamentale per molte architetture IoT. 

AI Academy

Prepararsi all'AI con l'hybrid cloud

Condotto dai migliori leader di pensiero di IBM, il programma di studi è stato progettato per aiutare i dirigenti aziendali ad acquisire le conoscenze necessarie per dare priorità agli investimenti in AI che possono favorire la crescita.

Come funziona Linux?

L'architettura del sistema operativo Linux è basata su un design modulare, una caratteristica chiave delle sue numerose versioni e di molte popolari distribuzioni Linux. Sebbene le distribuzioni Linux siano tutte basate sul kernel Linux, ogni versione può differire in base alle versioni e ai moduli del kernel.

  • Versioni: ogni sistema operativo Linux può essere personalizzato in base alle esigenze specifiche di un utente. Ad esempio, se qualcuno vuole usare Linux con tecnologie più recenti come AI, machine learning (ML) ed edge computing, può optare per una versione più recente. Tuttavia, se desidera una maggiore affidabilità, può scegliere di utilizzare una versione del kernel precedente che è più stabile ma meno compatibile con le tecnologie più recenti.
  • Moduli: i moduli sono applicazioni software specifiche che possono essere inserite in un kernel o tolte per estenderne il funzionamento senza riavviare. In sostanza, un modulo kernel rende il sistema operativo compatibile con un nuovo dispositivo, spesso un driver, senza dover riavviare il sistema affinché riconosca e supporti il dispositivo. Inoltre, i driver del file system si basano su un codice che determina il modo in cui il kernel opera con diversi file system.

Esecuzione del kernel Linux

Tutti i sistemi che eseguono il sistema operativo Linux devono eseguire il kernel Linux, che funziona in tre semplici fasi.

  • Processo di avvio: quando viene avviato, il BIOS (Basic Input/Output System) del sistema Linux carica un programma bootloader, in genere chiamato GRUB (Grand Unified Bootloader) che trova e avvia l'immagine del kernel Linux dal disco rigido alla memoria. Ciò consente al kernel di assumere il controllo del sistema e iniziare a eseguire le attività.
  • Gestione input/output: una volta avviato, il kernel ha il controllo del sistema e può avviare e controllare tutti i processi associati. Linux gestisce l'input/output attraverso una serie di flussi (come standard input, output ed error) a cui hanno accesso le applicazioni sottostanti del sistema. Il kernel Linux controlla tutte le comunicazioni tra applicazioni e dispositivi hardware esterni, inviando richieste dalle applicazioni ai dispositivi tramite driver.
  • Utilizzo dell'interfaccia a riga di comando (CLI) di Linux: un'interfaccia a riga di comando (CLI) è un modo basato su testo per interagire con un sistema operativo attraverso una tastiera. L'interfaccia a riga di comando di Linux consente agli utenti di controllare e gestire facilmente le risorse di un sistema informatico digitando semplici istruzioni attraverso la CLI. Una volta avviato il sistema, Linux avvia i processi in risposta alle richieste degli utenti. Ad esempio, le funzioni del server di rete che sono critiche per il funzionamento di una rete informatica si basano sul fatto che Linux esegua un "servizio" o "demone", ovvero un programma software che elabora le richieste degli utenti e dei nodi in base a un protocollo di rete predefinito.

Vantaggi e svantaggi di Linux

In qualità di sistema operativo open source più popolare al mondo, Linux è gratuito e chiunque può utilizzarlo e personalizzarlo come desidera. È considerato ad alte prestazioni, flessibile, stabile e sicuro. Con una community dedicata di sviluppatori che lo aggiorna costantemente, è altamente compatibile con le tecnologie più recenti.

A seconda del caso d'uso di un'organizzazione o di un utente, l'utilizzo di Linux offre molti vantaggi, ma anche alcuni svantaggi. Ecco alcuni aspetti chiave da tenere in considerazione se si desidera utilizzare Linux per le proprie esigenze aziendali.

Flessibilità

Ogni nuova distribuzione del kernel Linux, nota come distro, è rilasciata con una licenza chiamata GNU GPL (GNU General Public License) open source, che offre agli utenti il diritto di eseguire, condividere e modificare la base di codice secondo le proprie necessità. Con la stessa licenza, anche tutte le opere derivate che vengono create devono essere distribuite come open source, assicurando che siano aperte, accessibili e gratuite anche per gli altri utenti.  

Costo

A differenza dei sistemi operativi proprietari, come Microsoft Windows o macOS, Linux non addebita alcun costo di licenza. Tuttavia, i fornitori di Linux, come RedHat, Debian e SUSE, addebitano una tariffa per fornire il supporto. Sebbene le organizzazioni possano acquisire il sistema operativo gratuitamente e utilizzarlo come desiderano, i contratti di supporto con fornitori terzi possono ridurre i potenziali risparmi sui costi derivanti dal passaggio a Linux da un sistema operativo proprietario.

Affidabilità

Linux è considerato un sistema operativo altamente affidabile, grazie soprattutto alla community globale di sviluppatori che aggiorna e mantiene costantemente la sua base di codice. Per questo stesso motivo, è anche considerato altamente stabile. Il suo design unico, in cui le funzioni di sistema sono tenute separate in modo che un problema tecnico in un'area del linguaggio di programmazione non influisca sugli altri, noto come design modulare, consente agli utenti di controllare costantemente il codice sorgente e trovare e correggere i bug.

Tuttavia, il design modulare ha i suoi svantaggi; può essere difficile per gli utenti abituati ad altri tipi di design imparare Linux e il fatto che si tratti di un kernel monolitico (diversamente da un design a microkernel o kernel ibrido) può renderlo meno flessibile rispetto ad altri sistemi operativi proprietari.

Compatibilità

Linux è considerato " compatibile con le versioni precedenti " come molti altri tipi di software open source. Ciò significa che il suo codice sorgente viene costantemente modificato e aggiornato per risolvere problemi di sicurezza e compatibilità, il tutto mantenendo la funzionalità originale. Con le diverse distribuzioni Linux disponibili, migliaia di applicazioni supportate e un'ampia gamma di opzioni di configurazione, Linux è considerato altamente compatibile.

Tuttavia, molti produttori di hardware che producono dispositivi proprietari non creano driver di dispositivo Linux per i loro prodotti, lasciando ad alcuni utenti meno scelta rispetto a un sistema operativo proprietario più ampiamente supportato, come macOS o Windows. Inoltre, poiché non esiste una versione standard di Linux, trovare supporto per la versione specifica di un'organizzazione può essere difficile, soprattutto per gli sviluppatori che desiderano implementare un server o un'immagine desktop standardizzati.

Principali casi d'uso di Linux

Con ogni nuova versione del sistema operativo Linux, diventano disponibili per gli utenti Linux nuove risorse hardware, applicazioni e funzionalità. Linux è attualmente utilizzato per vari scopi, ad esempio come sistema operativo per server web, istanze scientifiche e di edge computing, smartphone tramite il sistema operativo Android e molto altro. Ecco alcuni dei modi più diffusi in cui Linux viene utilizzato in tutto il mondo.

PC desktop

Linux è utilizzato per aumentare la produttività e semplificare le operazioni su molte istanze desktop. Per i programmatori che preferiscono un sistema operativo open source gratuito a uno disponibile in commercio per il proprio ambiente desktop, Linux è una delle opzioni più utilizzate in circolazione.

Ad esempio, Linux Fedora è un sistema operativo (OS) open source gratuito basato sul kernel Linux che include software per molte attività di base. Linux Mint, un altro sistema operativo gratuito basato su Linux, è diventato una delle distribuzioni Linux finora più popolari.

Server di rete

Linux è ampiamente utilizzato per connettere dispositivi e sistemi in una vasta gamma di ecosistemi allo scopo di scambiare informazioni e risorse su una rete. Come sistema operativo di rete, Linux viene utilizzato su router, switch, server DNS (Domain Name System) e molti altri dispositivi critici per il networking.

Un server che utilizza il sistema operativo Linux è noto come server Linux. Cisco, ad esempio, si affida al kernel Linux per supportare una versione del suo popolare sistema operativo Cisco Internetwork (IOS). Secondo un recente sondaggio di W3Techs, Linux alimenta più della metà dei server web operativi a livello globale.

Server headless

La maggior parte dei server web attualmente in uso è "headless", il che significa che questi server non dispongono di un'interfaccia utente grafica (GUI) come un monitor o una tastiera. I sistemi headless, gestiti in remoto attraverso una rete, spesso si basano su un sistema operativo Linux per consentire agli utenti di interagire e utilizzarli. K Desktop Environment (KDE), ad esempio, è una GUI gratuita e open source per Linux, gestita dalla community e considerata più intuitiva di molti altri ambienti desktop.  

Ambienti DevOps

DevOps, una metodologia di sviluppo software utilizzata per accelerare la distribuzione delle applicazioni, si basa fortemente sul sistema operativo Linux. La natura open source di Linux e le ampie funzionalità di interfaccia lo rendono fondamentale per l'aggiunta di funzionalità di automazione e controllo dell'infrastruttura nell'ambiente DevOps.

Dispositivi Internet of Things (IoT)

Il sistema operativo Linux è utilizzato in molti dispositivi Internet of Things (IoT) tra cui smartwatch, altoparlanti, termostati e molto altro. La flessibilità e scalabilità lo rendono ideale per i dispositivi IoT la cui funzionalità dipende da applicazioni complesse che si connettono al cloud.

Su un dispositivo IoT, il sistema operativo Linux aiuta a gestire le risorse informatiche e hardware critiche e fornisce la piattaforma sottostante per l'esecuzione delle app e la connessione ad altre reti.

Cloud computing

Linux è il sistema operativo sottostante in molte istanze di cloud computing. Tutti i principali provider di cloud, tra cui Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform (GCP), IBM e altri, offrono distribuzioni del kernel Linux sulle proprie piattaforme. Ancora una volta, la sua flessibilità, scalabilità ed economicità lo rendono una scelta popolare per i provider di cloud e le applicazioni basate sul cloud. Secondo la Linux Foundation, Linux esegue il 90% del workload del cloud pubblico.

Supercomputer

Molti supercomputer (computer che velocizzano i tempi di risoluzione nell'elaborazione ad alte prestazioni) si affidano a Linux e gli sviluppatori di supercomputer personalizzano il codice open source di Linux per soddisfare le proprie esigenze specifiche. Ad esempio, l'Avalon Cluster, utilizzato nell'informatica scientifica, è stato costruito con hardware facilmente disponibile, come i PC, e software open source, al fine di renderlo utilizzabile da una gamma più ampia di ricercatori rispetto ad altri supercomputer.

Soluzioni correlate
IBM Cloud Infrastructure Center 

IBM Cloud Infrastructure Center è una piattaforma software compatibile con OpenStack per gestire l'infrastruttura di cloud privati su IBM zSystems e IBM LinuxONE.

Esplora Cloud Infrastructure Center
Soluzioni per l'infrastruttura IT

Scopri i server, lo storage e il software progettati per l'hybrid cloud e la strategia AI della tua azienda.

Scopri le soluzioni per le infrastrutture IT
Soluzioni per l'infrastruttura cloud

Trova la soluzione di infrastruttura cloud adatta alle esigenze della tua azienda e scala le risorse on-demand.

Soluzioni cloud
Fai il passo successivo

Trasforma la sua infrastruttura aziendale con l'hybrid cloud e le soluzioni pensate per l'AI di IBM. Scopri i server, lo storage e i software progettati per proteggere, scalare e modernizzare la tua azienda o ascolta i pareri degli esperti per migliorare la tua strategia di AI generativa.

Scopri le soluzioni per le infrastrutture IT Scarica l'ebook