Berkeley Software Distribution

Da Wikipedia, l'enciclopedia libera.
(Reindirizzamento da BSD)
bussola Disambiguazione – "BSD" rimanda qui. Se stai cercando altre voci che possono riferirsi alla stessa combinazione di 3 caratteri, vedi BSD (disambigua).
BSD Unix
Sviluppatore CSRG, UC Berkeley
Famiglia SO Unix
Modello del sorgente Open Source
Release iniziale (1977)
Release corrente 4.4-Lite2 (1995)
Tipo di kernel Monolitico
Piattaforme supportate PDP-11, VAX, Intel 80386
Licenza Licenza BSD
Stadio di sviluppo Sospeso
Sito web http://www.bsd.org/

L'acronimo BSD (Berkeley Software Distribution) indica la variante originaria di Unix sviluppata presso l'Università di Berkeley in California e alla base di una delle due famiglie principali di sistemi operativi liberi attualmente più diffusi, tra cui gli esponenti più noti sono FreeBSD, OpenBSD, NetBSD, PC-BSD, DesktopBSD, FreeSBIE, DarwinOS (il cuore unix di Mac OS X) e DragonFly BSD (con le sue distribuzioni FireflyBSD e GoBSD).

Storia[modifica | modifica sorgente]

La prima versione del sistema operativo BSD (1BSD) venne rilasciata dall'Università di Berkeley nel 1977. Si trattava di una serie di patch di uno studente del campus, Bill Joy, alla sesta edizione dello Unix dell'AT&T, che girava su PDP-11. Il sistema fu distribuito, come si usava a quei tempi, su di un nastro sotto forma di codice sorgente ed includeva, tra le altre cose, anche un editor scritto dallo stesso Joy (ex) ed un compilatore Pascal.

L'anno successivo, il 1978, vide l'uscita della seconda versione del sistema BSD (2BSD), sempre sotto la supervisione di Joy, che correggeva alcuni bug della prima edizione ed introduceva la C shell e una versione visuale di ex, vi. Questa versione fu la prima ad essere portata sul VAX, sebbene non riuscisse a sfruttare ampiamente le capacità di memoria virtuale della macchina.

Per ottenere migliori risultati sul VAX gli studenti dell'Università riscrissero gran parte del kernel di Unix/32V ed introdussero un'implementazione della memoria virtuale. Il nuovo sistema, il 3BSD, corredato dalle utility di 2BSD e dal port per il VAX venne rilasciato nel 1979.

Il successo di 3BSD indusse la DARPA a fondare il CSRG, che avrebbe avuto il compito di supervisionare lo sviluppo di una piattaforma Unix standard destinata alla ricerca. Il CSRG rilasciò, nel 1980, 4BSD che includeva interessanti miglioramenti a 3BSD.

Seguì la versione 4.1BSD (1981), che grazie ai miglioramenti apportati da Joy al kernel, riuscì ad eguagliare nei benchmark le prestazioni del sistema operativo nativo del VAX, OpenVMS.

Ci vollero altri due anni affinché venisse rilasciata la versione successiva definitiva, 4.2BSD; nel frattempo vennero sviluppate tre release intermedie: la 4.1a, che conteneva una primitiva implementazione del protocollo TCP/IP, la 4.1b, che introduceva il nuovo file system del sistema operativo, FFS, implementato da Marshall Kirk McKusick, e la 4.1c che comprendeva vari bugfix.

4.2BSD venne rilasciata nell'agosto del 1983, quando Bill Joy aveva ormai lasciato la leadership del progetto a McKusick e Mike Karels per fondare la Sun Microsystems. Fu per questa versione che apparve la mascotte di BSD, un demone disegnato dallo stesso McKusick, sulla copertina dei manuali distribuiti da USENIX.

Nel 1986 uscì 4.3BSD, che includeva miglioramenti in termini di performance rispetto all'edizione precedente e, cosa ben più importante, introdusse la prima implementazione del protocollo TCP/IP scelta come standard dalla DARPA per la superiorità dimostrata nel confronto dei concorrenti.

Siccome fino a quel punto tutte le versioni erano basate sempre sull'implementazione di Unix dell'AT&T, si decise, nel 1989, di rilasciare sotto i termini della licenza BSD, soltanto la parte relativa al networking, che prendeva nome Net/1 (Networking release 1). Sotto la guida di Keith Bostik si fece in modo di riscrivere totalmente tutte le utility del sistema operativo per rilasciarle sotto licenza BSD. In diciotto mesi il lavoro fu realizzato ed un nuovo sistema completo, totalmente soggetto alla licenza BSD, nacque sotto il nome Net/2 (Networking release 2) nel 1991.

Da Net/2 presero il via altri due progetti: 386BSD di William Jolitz - dalla vita breve ma dal quale nacquero NetBSD prima e FreeBSD poi - e una versione commerciale del sistema operativo, BSDi.

In questi anni si concretizzò per i progetti BSD una disputa legale con AT&T, che rivendicava la paternità del marchio Unix e il copyright su alcune porzioni del codice sorgente del sistema operativo. Ciò rallentò notevolmente lo sviluppo dei sistemi e favorì lo sviluppo di Linux, che non accusava problemi di questo genere.

Nel gennaio del 1994 la causa legale cessò ampiamente in favore di Berkeley. Su oltre 18000 file soltanto 3 dovevano essere rimossi dal sistema e 70 modificati in termini di licenza. Così, nel giugno dello stesso anno, venne rilasciata la definitiva versione di 4.4BSD, epurata dal codice e dal marchio AT&T: 4.4BSD-lite.

La versione finale del sistema operativo fu la 4.4BSD-lite Release 2 (1995). I progetti discendenti sono attualmente in fase di sviluppo e vengono distribuiti in diverse distribuzioni, ognuna delle quali persegue uno scopo.

Grazie alla permissiva licenza BSD, Windows, il sistema operativo della Microsoft, include, soprattutto per quanto riguarda la parte di networking (protocolli e utility relative), codice dei progetti BSD vivi.

Tecnologia[modifica | modifica sorgente]

Gli obiettivi principali nello sviluppo di BSD sono sempre stati la standardizzazione, la qualità del prodotto, l'affidabilità e l'innovazione.

Nello Unix di Berkeley sono stati implementati protocolli, librerie e strumenti che hanno dato un grande contributo allo sviluppo dell'informatica moderna.

Tra le più importanti novità introdotte vanno ricordati i protocolli di rete, come il TCP/IP, le relative librerie che realizzavano il rivoluzionario concetto di socket (il quale semplificava le implementazioni dei programmi di comunicazione attraverso la rete stessa), la memoria virtuale, il Berkeley Fast File System, la C shell, gli editor ex e vi.

I sistemi BSD sono tutt'oggi ampiamente utilizzati in ambiti di ricerca, di produzione, in prodotti commerciali ed in apparecchi embedded. In particolare, la qualità del codice e della documentazione (le cui "manpage" sono molto complete), nonché l'elevata aderenza agli standard IEEE, ANSI, ISO, e POSIX, li rendono un vero e proprio paradiso per i programmatori.

Un fatto interessante è che questi sistemi possono eseguire programmi nativi per altri sistemi operativi grazie ad un "layer" di emulazione, più propriamente chiamato "di compatibilità binaria".
Ciò si rivela un enorme vantaggio, da un lato perché fornisce prestazioni migliori di un'emulazione vera e propria e dall'altro perché consente, indirettamente, agli utenti di BSD di disporre di più programmi di quanto non sia possibile con altri sistemi: gli amministratori possono migrare le loro applicazioni commerciali da sistemi operativi proprietari verso soluzioni libere ma allo stesso tempo affidabili e moderne.

Distribuzioni open source[modifica | modifica sorgente]

Le diverse distribuzioni open source di BSD sono ampiamente utilizzate in vari ambiti ma ognuna si differenzia dalle altre per l'obiettivo particolare sul quale si concentra:

La licenza[modifica | modifica sorgente]

L'acronimo viene usato anche per indicare la licenza BSD, una licenza libera non copyleft molto semplice sotto la quale è rilasciata la maggior parte delle componenti dei sistemi citati. In breve, la licenza consente la redistribuzione del software anche in forma proprietaria, purché venga riconosciuto il merito all'autore.

Mascotte[modifica | modifica sorgente]

Beastie è l'entità mascotte del mondo BSD. Rappresenta un demone rosso e per questo noto anche come BSD Daemon. È stato disegnato da John Lasseter ed è stato adottato da BSD a partire dal 1988.[senza fonte] È armato di forcone e porta scarpe da ginnastica azzurre. Oggigiorno viene adottato unicamente dal sistema FreeBSD e suoi derivati.

La sua rappresentazione con caratteri alfanumerici viene resa in questo modo (potrebbe essere visualizzato diversamente a causa delle differenze tra i browser e lo zoom usato):

                ,        ,         
               /(        )`        
               \ \___   / |        
               /- _  `-/  '        
              (/\/ \ \   /\        
              / /   | `    \       
              O O   ) /    |       
              `-^--'`<     '       
             (_.)  _)     /        
              `.___/`    /         
                `-----' /          
   <----.     __ / __   \          
   <----|====O)))==) \) /====      
   <----'    `--' `.__,' \         
                |        |         
                 \       /       /\
            ______( (_  / \______/ 
          ,'  ,-----'   |          
          `--(__________)          

Collegamenti esterni[modifica | modifica sorgente]