[inizio] [indice generale] [precedente] [successivo] [indice analitico] [contributi]


372. GNU/Linux rispetto ad altri sistemi operativi

372.1 Differenze tra FreeBSD e Linux

Quali sono le differenze fra FreeBSD e Linux?

Sostanzialmente, le origini.
Le BSD (OpenBSD, FreeBSD, BSDI tanto per nominarne qualcuna) derivano da un
progetto dell'Università di Berkeley durante il quale l'originale Unix di
ATnT, a disposizione in forma di sorgente, era stato completamente
riscritto allo scopo di avere a disposizione un prodotto alternativo senza
pagare altre licenze (allora l'unico Unix era commerciale, e molto caro).
Nel fare questo, scoppiò una battaglia legale tra ATnT e Berkeley, vinta
di stretta misura da quest'ultima. Da allora il codice BSD (Berkeley
Software Distribution), non essendo GNU/GPL ma quasi, ha circolato più o
meno liberamente un pò dappertutto. Per questa ragione attualmente ci sono
"molte" BSD per le macchine più disparate tra cui anche i personal computer
dal 386 in su. In questo, lo si può considerare molto simile a Linux. In 
realtà le sue origini sono ben più remote e influenzano in parte l'aspetto
intuitivo, allora poco considerato in un prodotto destinato a professori e
ingegneri.

Linux è stato scritto tentando di fondere alcuni concetti base di Minix
(il sistema scritto per scopi didattici da Andrew Tanenbaum, allora docente
di Linux Torvalds) attorno a un task scheduler del tutto originale, poi
aggiungendo tutte le parti esterne al kernel riadattando parecchio codice
già esistente. La 'bash', il 'gcc' e quasi tutto il resto, infatti, erano
state scritte in origine per un kernel chiamato prima GNU e poi HURD, che
sta faticosamente vedendo la luce soltanto ora.

BSD ha una gestione dei dischi fissi un pò particolare e ricalca lo Unix
originale molto da vicino, esattamente come oggi FreeDos cerca di rendersi
uguale ai Dos di MS, IBM, DR.
Linux, invece, è un misto di codice "nuovo", concetti base
presi di peso da Minix (senza riutilizzarne il codice) e comandi esterni
scritti per HURD. C'è da dire, per essere precisi, che Linux ha ormai
superato di parecchio Minix quanto a possibilità (Minix non gestisce file
o partizioni di swap, ad esempio).

Non è raro, comunque, vedere il gcc usato sotto BSD per ricompilare un
applicativo Linux: la portabilità delle applicazioni è da sempre un punto
di forza dei sistemi della famiglia Unix. Tale possibilità, infatti, esiste anche
per Unix commerciali come Solaris oppure HP/UX e può al massimo richiedere
alcune modifiche dei sorgenti. La forza dei sistemi aderenti a un certo
standard (System V) è che le chiamate di sistema sono sempre le stesse.
Pertanto, qualsiasi software che se ne serva senza usare caratteristiche
troppo "locali" può essere ricompilato così com'è su elaboratori
tecnicamente molto differenti.

---------------------------

LDR --- Copyright © 1999-2000 Gaetano Paolone --  bigpaul @ pluto.linux.it


[inizio] [indice generale] [precedente] [successivo] [indice analitico] [contributi]