Il sistema operativo Linux

Linux

Agosto 1991, Finlandia. Linus Torvalds, venti anni, studente all’Università di Helsinki e appassionato di programmazione legge un codice sul monitor del suo computer, del tutto ignaro del fatto che ciò che ha appena creato è destinato a entrare nella storia dell’informatica.

Cos’è oggi
Linux è un sistema operativo – quell’insieme di programmi essenziali per far funzionare un computer – di tipo Unix. La fondamentale differenza rispetto ai veri sistemi Unix sta nel fatto che Linux viene distribuito con una licenza la quale consente di copiarlo liberamente e in modo gratuito, compreso l’intero codice sorgente. Per la precisione, il termine Linux si riferisce esclusivamente al Kernel.
Il kernel è la parte centrale e fondamentale di un sistema operativo, si occupa della gestione della memoria, dei processi e del controllo Hardware, permette a tutti i programmi di funzionare. Grazie alla sua capacità di trasposizione, tramite il kernel Linux sono stati sviluppati sistemi operativi Linux per una vasta selezione di tecnologie e strumenti: personal computer, cellulari, tablet, varie console, mainframe e supercomputer, esistono dei sistemi Linux installabili anche come server.
Una prerogativa sostanziale che rende Linux diverso da tutti gli altri sistemi operativi commerciali è il fatto di essere cresciuto grazie all’aiuto di moltissimi gruppi di programmatori Unix ed esperti di sistemi operativi che hanno messo a disposizione il codice da loro prodotto, sempre in forma gratuita. Negli ultimi anni Linux è diventato il sistema operativo più evoluto tecnicamente dell’intera categoria.
Molte persone quando discutono di Linux, intendono un sistema operativo completo e alternativo a Microsoft Windows e Apple MacOS.
Le potenziali di Linux sono legate a tre principali caratteristiche: Multi-utenza, Interattività e Multi tasking. Vediamo nello specifico gli elementi distintivi che rendono unico Linux:

  • Ha specifiche funzioni di protezione della memoria tra processi, in modo che un programma non possa mandare in crash l’intero sistema;
  • Liberie statiche e dinamiche;
  • Multitasking: è possibile eseguire più programmi contemporaneamente;
  • Contiene il supporto interno per diverse tastiere internazionali;
  • Funzionamento multiutente: è possibile un uso simultaneo della macchina da parte di più utenti;
  • La gestione della memoria virtuale avviene attraverso la paginazione;
  • Permette di accedere tranquillamente a file system diversi: MS–DOS, VFAT, HPFS, NTFS, HFS, FFS, Minix, NFS, SMB, Xenix, System V, etc.;
  • E’ multipiattaforma, in pratica è compatibile con tutti i comuni hardware di Personal Computer, può funzionare anche su processori non Intel come “Digital Alpha, AMD, Sun Sparc, Motorola, Mips, PowerPC, etc.”;
  • Può scaricare nuclei (core) per analisi di processi morti, permettendo l’uso di un debugger su un programma non solo mentre sta funzionando, ma anche dopo che è caduto;
  • Utilizza un proprio tipo di file system in cui i file possono avere nomi composti da non più di 255 caratteri e dimensioni fino a 2 Gbyte, con file system fino a 4 Tbyte;
  • Supporta un’ampia gamma di protocolli di rete: TCP/IP, PPP, SLIP, FTP, Telnet, etc.;
  • Un File System CD–ROM che legge tutti i formati standard di CD–ROM;
  • Include al suo interno un pool di memoria unificato per i programmi e la memoria cache;
  • Linux legge dal disco solo le parti di un programma che sono in quel momento in uso;
  • Tutto il codice sorgente è disponibile, incluso l’intero kernel e tutti i driver, gli strumenti di sviluppo e tutti i programmi utente, sono anche liberamente distribuibili.

La Shell di Linux
Per Shell si intende l’interfaccia testuale tramite la quale l’utente può operare sul sistema. La Shell di Linux nello specifico è un programma che gestisce la comunicazione tra utente e sistema operativo, interpretando ed eseguendo i comandi diretti dell’utente. La sua funzione consiste nel leggere la linea di comando, interpretare il suo significato, eseguire il comando e poi rinviare il risultato in uscite.
La Shell è un qualcosa di simile all’interprete dei comandi del DOS, ma è molto più potente e versatile. Ogni utente ha una Shell di default, che viene avviata all’apertura di un prompt. Sono disponibili diverse Shell, ma la più diffusa è la Bash o Bourne Shell. La Shell ha diversi e specifici utilizzi:

  • Utilizzando comandi di sistema e funzionalità della Shell è possibile realizzare piccoli programmi (detti script Shell) in grado di automatizzare operazioni e reagire ad eventi;
  • Per un uso interattivo: il sistema attende i comandi digitali dall’utente;
  • È possibile configurare la propria sessione. Si possono definire variabili e parametri che vengono utilizzati in ogni interazione dell’utente con macchina.

La questione sicurezza
Il dibattito principale all’interno di ogni sistema operativo si incentra sulla sicurezza e l’efficienza dei sistemi di anti–intrusione. La caratteristica peculiare per la quale Linux è più sicuro di Windows risiede semplicemente nel suo attuale sistema di permessi. Linux utilizza un controllo della autorizzazioni intelligente, vietando, a differenza di Windows, i permessi di default come amministratore. Ogni volta che vogliamo realizzare una modifica che incide sul sistema, viene richiesta una password di amministratore. Se non siamo amministratori all’interno del sistema, tutte le modifiche non vengono eseguite. In questo caso, se l’impianto operativo è infettato, i virus non hanno l’autorizzazione per cancellare o modificare il sistema.
Un altro punto a favore di Linux è la sua bassa diffusione tra i computer, con una minore percentuale di creazione di Malware appositi per tale sistema. Essendo Linux un sistema open source e free, il suo codice è esaminato costantemente da migliaia di persone, di cui moltissimi scoprono i bug sulla sicurezza in maniera molto più veloce e in anticipo. (Giuseppe Latella)

Related Posts

Leave A Comment