logo

Cos'è il sistema operativo Linux?

Introduzione a Linux

Linux è una famiglia di sistemi operativi open source simile a Unix basata sul kernel Linux e il kernel del sistema operativo è stato pubblicato per la prima volta il 17 settembre 1991 da Linus Torvalds . Tipicamente, Linux è confezionato come distribuzione Linux, che contiene le librerie di supporto, il software di sistema e il kernel, molti dei quali sono offerti dal progetto GNU. Diverse distribuzioni Linux usano il termine 'Linux' nel titolo, ma la Free Software Foundation utilizza l'estensione 'GNU/Linux' titolo si concentra sulla necessità del software GNU, causando alcune controversie.

Famose distribuzioni Linux sono Ubuntu, Fedora Linux e Debian, quest'ultima composta da diverse modifiche e distribuzioni, tra cui Xubuntu e Lubuntu. Le distribuzioni commerciali sono SUSE Linux Enterprise e Red Hat Enterprise Linux. Le distribuzioni desktop di Linux sono sistemi a finestre come Wayland o X11 e ambienti desktop come KDE Plasma e GNOME.

  • Originariamente, Linux è stato progettato per personal computer basati sull'architettura Intel x86, ma da allora è stato spostato in più ambienti rispetto ad altri sistemi operativi.
  • Includendo Android, Linux ha la base installata più grande di ogni sistema operativo generico grazie al controllo di Android basato su Linux sugli smartphone a partire da maggio 2022.
  • Tuttavia, a novembre 2022, Linux è utilizzato solo dal 2,6% circa dei computer desktop.
  • Inoltre, Linux viene eseguito su molti sistemi embedded, ovvero dispositivi il cui sistema operativo è tipicamente progettato nel firmware ed è estremamente personalizzato per il sistema.
  • Comprende veicoli spaziali (rover Perseverance, capsula dell'equipaggio Dragon e razzo Falcon 9), automobili (Toyota, Hyundai, Mercedes-Benz, Audi e Tesla), televisori (LG e Samsung Smart TV), console per videogiochi, dispositivi domestici intelligenti, controlli di automazione e router.

Linux è uno degli esempi più eccezionali di collaborazione tra open source e software libero. Il codice sorgente può essere distribuito, modificato e utilizzato a scopo non commerciale o commerciale da chiunque nelle condizioni delle rispettive licenze, come la GNU GPL (General Public License). Ad esempio, il kernel Linux è concesso in licenza con GPLv2.

Storia del sistema operativo Linux

Cos'è il sistema operativo Linux?
    Precursori
    Il sistema operativo basato su Unix è stato implementato e concepito nel 1969 a La campana di AT&T laboratori di Joe Ossanna, Douglas Mcllroy, Dennis Ritchie e Ken Thompson negli Stati Uniti. Pubblicato per la prima volta nel 1971, Unix era interamente scritto in linguaggio assembly, come era la pratica di base dell'epoca. È stato aggiornato nel linguaggio C da Dennis Ritchie in modo pionieristico nel 1973. La disponibilità di un'implementazione del linguaggio Unix di alto livello ha reso conveniente il suo porting su piattaforme informatiche distinte.Creazione
    Torvalds si iscrisse ad un corso Unix mentre visitava l'Università di Helsinki nell'autunno degli anni '90. Il corso utilizzava un minicomputer MicroVAX che eseguiva Ultrix e uno dei testi necessari era Sistemi operativi: progettazione e implementazione di Andrews S. Tanenbaum. Il libro di testo conteneva una copia del sistema operativo MINIX di Tanenbaum. Fu insieme a questo corso che Torvalds si aprì inizialmente a Unix. Si interessò ai sistemi operativi nel 1991. Frustrato dalla licenza MINIX, che all'epoca la limitava al solo uso didattico, iniziò a lavorare sul kernel del suo sistema operativo, che alla fine divenne il kernel Linux.
    Torvalds iniziò lo sviluppo del kernel Linux su MINIX e il software scritto per MINIX fu utilizzato anche su Linux. Successivamente fu coltivato Linux e poi lo sviluppo del kernel Linux apparve sui sistemi Linux. Inoltre, le applicazioni GNU hanno sostituito ogni componente MINIX perché era vantaggioso utilizzare il codice libero attraverso il progetto GNU con il nuovo sistema operativo; il codice concesso in licenza con la GNU GPL può essere riapplicato in altre funzioni del computer purché anch'esse siano pubblicate con una licenza compatibile o uguale.
    Torvalds iniziò il passaggio dalla sua licenza attuale, che vietava la distribuzione commerciale, alla GNU GPL. Gli sviluppatori hanno operato per sviluppare elementi GNU con il kernel Linux, creando un sistema operativo gratuito e completamente funzionale.Sviluppo attuale
    Il principale manutentore del kernel Linux è Greg Kroah-Hartman che ne guida lo sviluppo. Il direttore esecutivo della Free Software Foundation è William John Sullivan , che a sua volta supportava i componenti GNU. Aziende e individui finalmente sviluppano componenti di terze parti non GNU.
    I componenti di terze parti sono composti da un ampio corpus di lavoro e possono contenere sia librerie e applicazioni utente, sia moduli del kernel. La comunità Linux e i fornitori distribuiscono e combinano il kernel, i componenti non GNU e i componenti GNU con software di gestione dei pacchetti extra alla moda delle distribuzioni Linux.Adozione popolare e commerciale
    Negli ambienti di produzione, l’adozione di Linux cominciò a decollare inizialmente a metà degli anni ’90 nella comunità dei supercalcoli invece di essere utilizzata solo dagli hobbisti, dove organizzazioni come la NASA iniziarono a sostituire sempre più le loro macchine costose con cluster di computer economici che eseguivano Linux. L'uso commerciale iniziò quando IBM e Dell, perseguite da Hewlett-Packard, iniziarono a fornire supporto Linux per sfuggire al monopolio di Microsoft nel mercato dei sistemi operativi desktop.
    I sistemi Linux sono oggi completamente utilizzati nell'informatica, dai sistemi embedded a praticamente ogni supercomputer, e si sono assicurati una posizione nelle installazioni server come il famoso stack di applicazioni LAMP. L'utilizzo delle distribuzioni Linux nei desktop aziendali e domestici si è sviluppato.
    Inoltre, le distribuzioni Linux sono diventate famose nel mercato dei netbook, con diversi dispositivi che si spostano con distribuzioni Linux personalizzate installate e Google pubblica il proprio ChromeOS sviluppato per i netbook.

Progettazione del sistema operativo Linux

Vari sviluppatori open source ammettono che il kernel Linux non è stato sviluppato ma si è invece evoluto dalla selezione naturale. Un sistema basato su Linux è un sistema operativo compatibile simile a Unix, che deriva gran parte del suo design comune dai principi realizzati in Unix negli anni '70 e '80. Un sistema di questo tipo applica il kernel Linux, un kernel monolitico che gestisce file system, accesso alle periferiche, rete e controllo dei processi. I driver del dispositivo sono direttamente integrati con il kernel o inclusi come moduli caricati mentre il dispositivo è attivo.

Cos'è il sistema operativo Linux?

I componenti del sistema Linux installati includono quanto segue:

  • UN boot loader , ad esempio systemd-boot, SYSLINUX, LILO e GNU GRUB. È un programma che può caricare il kernel Linux nella memoria principale del computer essendo eseguito dal computer dopo aver effettuato l'accesso al firmware e quando è acceso.
  • UN entrare nel programma , come il tradizionale sysvinit e i più recenti Upstart, OpenRC e systemd. È il primo processo annunciato dal kernel Linux e dalla radice dell'albero dei processi. In altre parole, ogni processo viene aperto da init. Avvia processi come richieste di accesso e servizi di sistema (sia in modalità terminale che grafica).
  • Librerie software , che includono codice che può essere applicato eseguendo processi. Il linker dinamico che gestisce l'utilizzo delle librerie dinamiche si chiama Id-linux.so sui sistemi Linux con file eseguibili in formato ELF. Inoltre, verranno aggiunti file di intestazione per definire l'interfaccia delle librerie installate se il sistema è configurato per consentire all'utente di raccogliere il software da solo. Inoltre, la libreria software più utilizzata è la GNU C Library (glibc) sui sistemi Linux. Ci sono molte altre passività come Mesa e SDL.
    • La libreria standard C è necessaria per eseguire programmi C su un sistema che utilizza la libreria GNU C come standard. Sono state sviluppate alternative come uClibc (sviluppato per uClinux), EGLIBC (fork glibc utilizzato una volta da Debian) e musl. Tuttavia, i primi due non vengono mantenuti ora. Android utilizza la sua libreria C, nota come Bionico .
    Interfaccia utente
    Inoltre, l'interfaccia utente è chiamata shell. Si tratta di una GUI (interfaccia utente grafica), di una CLI (interfaccia della riga di comando) o di controlli collegati al relativo hardware, il che è normale per i sistemi embedded. L'interfaccia utente predefinita è grafica per i sistemi desktop. Tuttavia, la CLI è disponibile tramite le finestre dell'emulatore di terminale o su una console virtuale isolata.
    Le shell dell'interfaccia della riga di comando sono interfacce utente basate su testo, che utilizzano il testo sia per l'output che per l'input. La shell dominante è la bash (Bourne-Again Shell) utilizzata in Linux, originariamente progettata per il progetto GNU. Quasi tutti i componenti di basso livello di Linux, comprese diverse parti dello spazio utente, utilizzano esclusivamente la CLI. In particolare, la CLI è compatibile con l'automazione di attività ritardate o ripetitive e offre una comunicazione tra processi molto semplice.
    • Le shell GUI sono le interfacce utente più famose sui sistemi desktop, confezionate con ampi ambienti desktop come Xfce, Pantheon, LXDE, Cinnamon, MATE, GNOME e KDE Plasma, sebbene sia disponibile una gamma di diverse interfacce utente.
    • Le interfacce utente più famose funzionano con il concetto del sistema X Window, noto come 'X' .
    • Offre trasparenza alla rete e consente a un'applicazione grafica attiva su un sistema di essere mostrata su un altro in cui un utente può collaborare con l'applicazione.
    • Tuttavia, alcune estensioni del sistema X Window non sono in grado di funzionare sulla rete.
    • Molti server di visualizzazione X sono disponibili con X.Org Server e l'implementazione di riferimento è la più famosa.
    Infrastruttura di ingresso video
    Attualmente, Linux ha due API kernel-userspace per gestire i dispositivi di input video: API DVB per la ricezione TV e API V4L2 per flussi radio e video.
    Questa infrastruttura deve evolversi per adattarsi meglio ad altri dispositivi a causa della diversità e della complessità dei diversi dispositivi e a causa del gran numero di standard e formati gestiti da tali API. Una migliore libreria di dispositivi in ​​spazio utente è anche la chiave del successo per avere applicazioni in spazio utente che possano funzionare con ogni formato supportato dai dispositivi.

Usi del sistema operativo Linux

Diversi studi quantitativi sul software open source/libero si concentrano su argomenti come l'affidabilità e la quota di mercato, con molti studi che esaminano specificamente Linux. Il mercato Linux è in fase di sviluppo e le dimensioni del mercato dei sistemi operativi Linux dovrebbero registrare uno sviluppo del 19,2% entro il 2027, raggiungendo i 15,64 miliardi di dollari, rispetto ai 3,89 miliardi del 2019. I sostenitori e gli analisti attribuiscono il successo associativo di Linux alla sua libertà, al basso costo , affidabilità e sicurezza grazie al vincolo del fornitore.

Cos'è il sistema operativo Linux?
    Server Web
    W3Cook pubblica statistiche che utilizzano i primi 1.000.000 di domini Alexa, che stimano che il 96,55% dei server web utilizza Linux, l'1,73% utilizza Windows e l'1,72% utilizza FreeBSD a partire da maggio 2015.Laptop e desktop
    A partire da maggio 2022, la quota di mercato stimata di Linux sui computer desktop è di circa il 2,5%, secondo le statistiche dei server web. Microsoft Windows detiene una quota di mercato di circa il 75,5%, mentre macOS ha circa il 14,9%.Dispositivi mobili
    Android è diventato il sistema operativo principale per smartphone basato sul kernel Linux. Nel luglio 2022, il 71,9% degli smartphone in tutto il mondo che utilizzavano Internet utilizzavano Android. Inoltre, Android è un famoso sistema operativo per tablet, responsabile di oltre il 60% delle vendite di tablet nel 2013.Produzione del film
    Linux è da anni la piattaforma preferita nell'industria cinematografica. Il primo grande film pubblicato su un server Linux è stato Titanic del 1997. Da allora, i grandi studi cinematografici, tra cui Industrial Light & Magic, Weta Digital, Pixar e DreamWorks Animation, si sono trasferiti su Linux.Uso governativo
    Le distribuzioni Linux hanno guadagnato popolarità anche in diversi governi nazionali e locali. Il Kerala è arrivato al punto di imporre che ogni scuola superiore statale utilizzi Linux sui propri sistemi. La Cina utilizza Linux esclusivamente come sistema operativo per la sua famiglia di processori Loongson per raggiungere l'indipendenza tecnologica.
    Alcune regioni hanno integrato la loro distribuzione Linux in Spagna, che è ampiamente utilizzata nelle istituzioni ufficiali ed educative. Inoltre, Germania e Francia hanno fatto passi avanti verso l'adozione di Linux. Il sistema operativo Red Star della Corea del Nord è basato su una versione Fedora Linux sviluppata a partire dal 2002.

Sistema operativo Linux funzionante

Il sistema operativo Linux segue un design standard che è la chiave delle sue numerose distribuzioni e varianti. Ogni distribuzione Linux è basata sul kernel Linux ma può differire in base a fattori come:

    Versione del kernel:Le distribuzioni possono essere configurate con versioni più recenti per aggiungere nuovi aspetti o con versioni precedenti per essere più bilanciate.Moduli del kernel:È un software che può essere scaricato e caricato nel kernel per sviluppare funzionalità senza riavviare. Spesso i moduli del kernel vengono utilizzati per supportare:
    • Driver di dispositivo, che utilizzano codice che gestisce il funzionamento dei dispositivi collegati.
    • Driver del file system, che utilizzano codice che gestisce il modo in cui il kernel funziona con file system distinti.
    • Chiamate di sistema, che utilizzano codice che gestisce il modo in cui i programmi richiedono i servizi attraverso il kernel.
    Opzioni di configurazione:I kernel unificati con opzioni di configurazione configurate per aggiungere solo file system o driver di dispositivo vengono utilizzati per alcune distribuzioni specializzate; ad esempio, compilare il kernel per qualsiasi dispositivo wireless senza driver di dispositivo di rete cablata.
    Il kernel è l'unica cosa che ogni sistema ha in comune con Linux. Linux opera tramite:
  • Avvio e caricamento del kernel Linux.
  • Il kernel gestisce ogni output e input del sistema una volta avviato. Il sistema viene avviato e i processi possono essere inizializzati.
  • Il sistema può essere utilizzato per processi che contengono comandi immessi in modo interattivo dalla riga di comando, funzioni del server di rete, applicazioni desktop o qualsiasi programma o applicazione durante l'avvio dei processi di sistema.

L'esperienza dell'utente può variare ampiamente, a seconda di come viene utilizzato il sistema Linux, mentre il kernel può essere quasi identico con alcune differenze di compilazione e divergenze per la configurazione. Ad esempio, alcuni casi d'uso di Linux con esperienze utente distinte sono:

    Produttività da tavolo sistemi, come quelli utilizzati dagli sviluppatori di software o da molti altri professionisti. Le workstation di sviluppo software possono essere migliorate in termini di prestazioni, mentre i desktop possono essere migliorati per l'utilizzo di strumenti di produttività desktop per i professionisti amministrativi. Server di rete potrebbe non aggiungere nemmeno una finestra della riga di comando per l'accesso diretto. In remoto, questi server headless sono gestiti da sessioni Windows o terminali di rete. I server possono essere utilizzati da più persone, ma l'accesso diretto è consentito solo agli amministratori di sistema autorizzati. Thin client consentire agli utenti di utilizzare un ambiente desktop ricco con un dispositivo leggero. Include Google Chromebook e sistemi a scheda singola Raspberry Pi.

Linux funziona in modo molto simile a qualsiasi sistema operativo basato su GUI quando lo si utilizza come GUI con un ambiente desktop. Le applicazioni e molte altre risorse possono essere avviate premendo le icone e i file possono essere eliminati, copiati o spostati utilizzando il trackpad o il mouse.

Distribuzioni Linux

Linux ha accettato le disposizioni sul copyleft della Free Software Foundation, che ha prodotto la GNU GPL sin dal suo sviluppo iniziale. La GPL descrive che qualsiasi cosa modificata e gratuita deve essere distribuita liberamente.
Sono disponibili centinaia di versioni Linux, chiamate anche distro o distribuzioni. Di solito, le distribuzioni si differenziano attraverso il pacchetto definendo un obiettivo, un mercato target, una funzione o una filosofia specifici.

Esistono molte distribuzioni realizzate per funzioni target particolari, come sicurezza, giochi, desktop, server o dispositivi incorporati, come i sistemi Raspberry Pi. Quasi tutte le distribuzioni moderne sono pronte per l'uso e precompilate, mentre altre, come Gentoo Linux, sono composte da codice sorgente che qualsiasi utente può compilare localmente durante l'avvio dell'installazione per utilizzare la configurazione del proprio sistema.

Pro e contro del sistema operativo Linux

Alcuni vantaggi derivanti dall'utilizzo di Linux sono elencati e spiegati di seguito:

Cos'è il sistema operativo Linux?
    Fonte aperta:Il kernel Linux è pubblicato sotto la licenza software open source GNU GPL. La maggior parte delle distribuzioni contiene diverse applicazioni con diverse opzioni in quasi tutte le categorie. Inoltre, diverse distribuzioni contengono software proprietario, come i driver di dispositivo offerti dai produttori, per supportare l'hardware.Affidabilità:Linux è considerato un sistema operativo affidabile ed è ben supportato con diverse patch di sicurezza. Inoltre, Linux è considerato un sistema operativo stabile, il che significa che può essere eseguito in quasi tutte le circostanze. Linux può anche gestire gli errori durante l'esecuzione di input e software imprevisti.Costi di licenza:Linux non prevede costi di licenza precisi, a differenza di Apple macOS o Microsoft Windows. Sebbene il supporto del sistema sia disponibile a pagamento da diversi fornitori Linux, il sistema operativo stesso è gratuito da utilizzare e copiare. Alcune organizzazioni IT hanno aumentato i propri risparmi trasferendo il software server su Linux da un sistema operativo commerciale.Retrocompatibilità:Linux e molti software open source tendono ad essere aggiornati frequentemente per patch funzionali e di sicurezza pur mantenendo le funzionalità di base. È probabile che gli script e le configurazioni della shell funzionino invariati anche se vengono utilizzati gli aggiornamenti software. In generale, Linux e altre applicazioni open source non modificano le loro modalità operative con le nuove versioni, a differenza dei fornitori di software economici che montano nuove versioni dei loro sistemi operativi con nuove forme di lavoro.Diverse scelte:Tra quasi tutte le infinite opzioni, diverse distribuzioni disponibili e molte opzioni applicative per configurare, compilare ed eseguire Linux su quasi tutte le piattaforme hardware, è possibile sviluppare Linux per quasi tutte le applicazioni.

Alcuni svantaggi di Linux sono:

Cos'è il sistema operativo Linux?
    Mancanza di standard:Non è disponibile una versione standard per Linux, il che può essere utile per ottimizzare Linux per applicazioni specifiche, ma meno per distribuire immagini desktop e server standardizzati. L’enorme varietà di opzioni può trasformare il sostegno in una conseguenza.Costi di supporto:Il supporto non è gratuito, mentre un'organizzazione può acquisire liberamente Linux senza costi di licenza. Quasi tutti i distributori Linux aziendali, come Red Hat e SUSE, forniscono contratti di supporto. Questi costi di licenza possono ridurre significativamente i risparmi a seconda della situazione.Software proprietario:Il software di produttività per PC, come Microsoft Office, non può essere utilizzato sui desktop Linux e molti software proprietari potrebbero non essere disponibili per le piattaforme Linux.Ripida curva di apprendimento:Diversi utenti lottano per imparare a utilizzare applicazioni basate su Linux e desktop Linux.Hardware non supportato:Diversi produttori di hardware rendono accessibili i driver di dispositivo di Linux per i loro prodotti, ma molti non lo fanno.