Differenze tra Windows e GNU/Linux

Loris Tissino

20 aprile 2009

Differenze tra Microsoft Windows e GNU/Linux

Tra i sistemi operativi Windows e GNU/Linux esistono differenze notevoli in termini di:

Sicurezza

Virus e malware. Con Windows ci sono più rischi a causa di:

Al riguardo, può essere utile la lettura di Linux, Unix e i virus.

Disponibilità di software

A seconda del tipo di software, può esserci una disponibilità maggiore per Windows o per Linux.

Ad esempio, è lecito aspettarsi un maggior numero di programmi di contabilità per Windows e un maggior numero di applicazioni scientifiche per Linux.

I driver (programmi per l'uso di determinate periferiche) spesso sono resi disponibili (dal produttore hardware) solo per Windows.

i18n e l10n

I programmi per Linux sono molto spesso internazionalizzati e localizzati nelle diverse lingue (e/o per le diverse culture).

È possibile usare uno stesso programma in diverse lingue, e l'intera interfaccia utente può seguire le preferenze dell'utente.

Gestione del software

Il software viene gestito da Linux, generalmente, in maniera centralizzata. Con un paio di clic si può aggiornare il sistema operativo e anche tutto il software applicativo. In Windows invece ogni applicazione ha storia a sé.

In Windows il programma X viene installato in una directory con tutto ciò che gli compete (es. documentazione, file di esempio, ecc.).

In Linux il software è installato con una suddivisione dei file tra diverse directory (eseguibili in una directory, documentazione in un'altra, file di configurazione in un'altra ancora, ecc.).

File system

In Windows vi è il supporto solo di NTFS e FAT32. Linux supporta oltre cento diversi tipi di filesystem (es. ext2, ext3, reiserfs, hfs, hpfs, ecc.).

In Windows il file system è organizzato in maniera dipendente dalla posizione fisica dei dischi (es. disco C, D, E, ecc.), mentre Linux gestisce un unico file system gerarchico, con un'unica radice ed un meccanismo di punti di innesto (detti mount points).

Linux gestisce i link simbolici, Windows solo i collegamenti (che sono cosa ben diversa).

Linux usa tabelle di nodi indice con meccanismi di indirizzamento ai blocchi, che non crea necessità di deframmentazione del disco.

Nomi di file e directory

Linux, per quanto riguarda i nomi dei file e delle directory, è case-sensitive (sensibile alla differenza tra maiuscole e minuscole). In una stessa directory posso avere i file lettera, Lettera e LETTERA.

Windows invece è case-preserving: memorizza i nomi con le maiuscole così come li si scrive (salvo qualche caso), ma non tiene in considerazione la differenza quando si fanno ricerche.

Il carattere separatore nei percorsi per Linux è la barra ordinaria (/), mentre per Windows è quella rovescia (\).

Estensioni

In Windows il concetto di estensione per i nomi dei file è parte integrante del sistema operativo. Ad esempio, un programma eseguibile deve avere l'estensione .EXE, un file batch deve avere l'estensione .BAT, ecc.

In Linux il sistema operativo in quanto tale non usa il concetto di estensione. Sono le singole applicazioni che, se lo desiderano, possono usare le estensioni a qualche fine. Ad esempio, un compilatore di programmi C potrebbe rifiutarsi di compilare un file sorgente se questi non ha l'estensione .c.

Permessi su file e directory

I permessi su file e directory di Windows sono più granulari e dettagliati di quelli tradizionali di Unix (per le versioni di Windows che usano NTFS, come Windows 2000, XP, Vista, ecc.).

Linux permette di ottenere granularità paragonabili tramite strumenti aggiuntivi (attributi estesi, access control lists, meccanismi di delega).

File nascosti e attributi

In Windows i file hanno degli attributi speciali, quali nascosto, da archiviare, di sistema.

In Linux i file vengono considerati nascosti quando il loro nome inizia con un punto.

Gli altri attributi non esistono, poiché non servono (si possono utilizzare le date o le posizioni per ottenere le informazioni necessarie).

File binari

In Windows vi è una differenza nel modo in cui vengono considerati file binari e file di testo. In Linux non c'è questa distinzione (in un certo senso, tutti i file sono considerati binari).

Flessibilità nell'uso dell'interfaccia grafica

Windows impone l'uso di un'interfaccia grafica, che è integrata con il sistema operativo. Il crash dell'interfaccia, o di una qualsiasi applicazione, compromette la stabilità dell'intero sistema.

In Linux l'ambiente grafico è applicazione separata e può essere attivata o meno, a scelta.

Inoltre:

Interfaccia a riga di comando

Linux mette a disposizione un'ampia gamma di interfacce di amministrazione (shell). La shell più comunemente usata si chiama bash (Bourne Again Shell) ed è flessibile e potente.

In Windows esiste un interprete dei comandi (cmd.exe), poco pratico, oppure, ma come componente aggiuntivo da installare separatamente, Windows PowerShell.

Multiutenza

Linux è intrinsecamente multiutente: sullo stesso calcolatore possono lavorare, contemporaneamente, più utenti, sia con interfaccia grafica sia in emulazione di terminale.

In Windows la multiutenza è tale solo nel senso che utenti diversi possono succedersi nell'uso del calcolatore, a turno (salvo il caso di uso dei Remote Desktop Services, componenti aggiuntive).

Gestione dei processi

I processi in Linux sono organizzati in maniera gerarchica: ogni processo discende da un processo padre. Terminando un processo, si terminano tutti i suoi discendenti (salvo casi particolari appositamente gestiti).

In Windows tutti i processi hanno lo stesso livello.

Sistemi di autenticazione

Linux usa un sistema di autenticazione modulare (Pluggable Authentication Module), che consente diverse modalità (file semplici, LDAP, dominio Windows, ecc.). Windows è molto più limitato in proposito.

Lettere accentate

Con Linux è facile scrivere una È! (basta usare il tasto fissa-maiuscole).

Altre differenze

Ulteriori informazioni si possono trovare su Why Linux is better.