Capitolo 2. Che cos'é NetBSD

Sommario
2.1. Le origini di NetBSD
2.2. Caratteristiche di NetBSD
2.3. Piattaforme supportate
2.4. A chi si rivolge NetBSD
2.5. Applicazioni per NetBSD
2.6. La filosofia della distribuzione NetBSD
2.7. Come procurarsi NetBSD

NetBSD è un sistema operativo UNIX-like altamente portabile, free, disponibile per molte piattaforme, dai server alpha a 64 bit fino ai dispositivi palmari. Il suo design pulito e le sue caratteristiche avanzate lo rendono idoneo a ambiti sia produttivi sia di ricerca. È completamente disponibile in forma sorgente e ha una ricca dotazione di applicazioni.

2.1. Le origini di NetBSD

La prima versione di NetBSD (0.8) risale al 1993 e deriva dal sistema operativo 4.3BSD Lite, una versione di Unix sviluppata all'Università della California di Berkeley (BSD = Berkeley Software Distribution) e dal sistema 386BSD, il primo port per sistemi Intel 386. In seguito sono state integrate le modifiche provenienti dal sistema 4.4BSD Lite, l'ultima release ufficiale del gruppo di sviluppatori di Berkeley prima dello scioglimento. Il ramo BSD di Unix ha avuto una grande importanza nella storia di questo sistema operativo, al quale ha contribuito con svariate innovazioni che oggi fanno parte di tutti i sitemi Unix (l'editor vi, la C shell, il job control, il Berkeley fast file system, l'integrazione del TCP/IP, tanto per menzionarne alcune). Questa tradizione di sviluppo e di ricerca sopravvive oggi nei sistemi BSD (sia freeware sia commerciali) e, in particolare, in NetBSD.

2.2. Caratteristiche di NetBSD

NetBSD funziona su una vasta gamma di piattaforme hardware ed è molto portabile. Con NetBSD viene fornito il codice sorgente dell'intero sistema operativo per tutte le piattaforme supportate. Senza dilungarmi in eccessivi dettagli, per i quali rimando senz'altro al sito ufficiale del progetto NetBSD, le caratteristiche fondamentali di questo sistema operativo sono le seguenti

Le caratteristiche appena menzionate portano dei vantaggi anche indiretti. Per esempio, chi lavora su una piattaforma sola potrebbe non essere interessato alla portabilità; in realtà, però, la portabilità è strettamente legata alla qualità del codice: non sarebbe possibile supportare tutte queste piattaforme se il codice non fosse ben scritto e ben organizzato. L'attenzione verso l'aspetto architetturale e qualitativo del sistema viene ripagata con le grandi potenzialità del suo codice e la qualità dei suoi driver e quindi interessa tutti gli utenti.

Una delle caratteristiche del sistema è quella di non accontentarsi di implementazioni parziali: "se deve essere fatto, deve essere fatto bene"; il panorama informatico già tristemente abbonda di esempi di programmi e sistemi operativi iperviluppati e pieni di errori che collassano sotto il proprio stesso peso.

Un elenco dettagliato di caratteristiche di NetBSD si può trovare all'indirizzo http://www.netbsd.org/Misc/features.html.

2.3. Piattaforme supportate

La release 1.4.1 supporta le seguenti piattaforme

Sul sito di NetBSD si possono trovare i dettagli tecnici per tutte le piattaforme precedenti.

2.4. A chi si rivolge NetBSD

Secondo quanto compare sul sito di NetBSD, i suoi destinatari sono i professionisti, gli appassionati e i ricercatori che vogliono un sistema stabile che privilegi la qualità. Ma anche chi vuole imparare a usare Unix troverà in NetBSD la piattaforma ideale, soprattutto per la sua aderenza agli standard (uno degli scopi del progetto) e, infine, chi ha bisogno di una piattaforma Unix disponibile su una grande varietà di macchine, non può trovare migliore alleato di NetBSD.

Un'altra caratteristica interessante è che con NetBSD si possono riutilizzare sistemi hardware considerati obsoleti per la maggior parte dei sistemi operativi, il che rende NetBSD un'ottima piattaforma per apprendere Unix. Come dire "non c'è bisogno di comprare nuovo hardware per avere la vostra versione di Unix in funzione: potete tranquillamente riutilizzare il vecchio MacIIcx che avete in soffitta".

2.5. Applicazioni per NetBSD

Chi installa NetBSD non si trova certo a corto di applicazioni tra cui scegliere. A parte il corredo di applicazioni standard di produttività personale e di sviluppo (C/C++) di ogni sistema Unix, è disponibile un gran numero di pacchetti esterni (oltre un migliaio e il numero è in costante aumento), installabili attraverso il comodo sistema dei package. In generale, tutti i principali pacchetti per Unix sono disponibili per NetBSD. Inoltre NetBSD è in grado di emulare Linux e di eseguire molti programmi Linux nativi (Netscape, Acrobat Reader, ... e persino Doom e Quake!). L'emulazione Linux è molto curata e viene considerata molto importante: quasi tutti gli utenti di NetBSD la usano per alcuni programmi.

Oltre a eseguire programmi Linux, NetBSD è in grado di emulare anche altri sistemi, in particolare FreeBSD, BSDI e altri ancora.

2.6. La filosofia della distribuzione NetBSD

A differenza di molti sistemi odierni, la distribuzione NetBSD è tutt'altro che mastodontica poiché si basa sul concetto di produrre un sistema di base stabile, completo ed efficiente ma privo di ridondanze. Al termine dell'installazione ci si trova con un sistema funzionante ma ancora privo di una serie programmi di utilità (per esempio, un browser per Internet): tutte queste applicazioni non fanno parte del nucleo di base; deve essere l'utente a decidere se vuole Netscape o Lynx, quale release di Perl gli serve e così via. Un altro vantaggio è che il sistema di base funziona in modo autosufficiente senza aver bisogno di questi pacchetti "aggiuntivi". Per esempio, il sistema dei package non richiede Perl: se si decide di installare una nuova versione di Perl non si rischia di "rompere" nessun componente standard del sistema. Quando si installa NetBSD, dunque, non si trovano selezioni preconfigurate di centinaia di pacchetti che vanno a ingombrare il disco fisso e sono destinati per la maggior parte a rimanere inutilizzati. L'utente BSD deve sempre essere consapevole di cosa installa e perché: il processo di installazione dei programmi, tra l'altro, è reso semplicissimo dal sistema dei package, di cui parleremo più avanti.

Anche quando si comincia a conoscere un po' il sistema e a orizzontarsi bene al suo interno, una delle cose che continua a stupire è l'estrema coerenza e logicità dell'insieme; niente è casuale o gratuito e tutto appare pensato con grande attenzione ai dettagli. A pensarci bene ritengo che, tutto sommato, questa sia la caratteristica più interessante di NetBSD; si possono passare giorni a discutere sui relativi meriti dei vari sistemi operativi (e qualcuno trova anche il tempo per farlo) ma solo quando si prova e si arriva a conoscere un sistema si può fare una scelta motivata. Sono convinto, per averlo osservato tante volte nelle mailing list, che chi prova NetBSD non può che rimanere conquistato dal perfetto bilanciamento tra complessità ed efficacia realizzato da questo sistema: NetBSD riesce sempre a realizzare le cose più complesse nella maniera più semplice. È un'attitudine mentale contagiosa: dopo un po' riesce difficile tollerare le inutili complicazioni (solitamente travestite da "miglioramenti" o da "comode interfacce grafiche") di altri sistemi.

2.7. Come procurarsi NetBSD

A tutt'oggi NetBSD non ha un rivenditore ufficiale, anche se esistono vari punti di distribuzione. Per un elenco aggiornato conviene consultare la relativa pagina sul sito del progetto. Naturalmente è sempre possibile scaricare il sistema da Internet da uno dei vari mirror.