Entra

View Full Version : kernel BSD


Psycotic
16-02-2005, 10:43
Visto ke tra un po' mettero un bel freebsd mi stavo documentando sul kernel..
Qualcuno di voi ha esperienza con BSD?

Mi interessava sapere in grandi linee le differenze con il classico linux.. Per il resto poi leggero la documentazione...

krokus
22-02-2005, 22:42
All'atto pratico, nessuna grande differenza, visto che le applicazioni sono al 99% le stesse!
Le vere differenze sono sul piano "filosofico": Linux è un kernel, poi esistono decine di distribuzioni basate su kernel Linux, FreeBSD invece è un sistema operativo a tutti gli effetti (kernel, librerie, utility...)
Secondo, mentre Linux è piuttosto "anarchico" (tranne che per il kernel), FreeBSD ha uno sviluppo centralizzato, o meglio ufficiale: esiste un elenco ufficiale delle applicazioni che possono essere installate con FreeBSD, disponibili in due formati, i packages e i ports. I primi sono pacchetti già pronti per l'uso, si scaricano e si installano, i secondi invece sono i sorgenti da compilare, generalmente i normali sorgenti patchati per FreeBSD.

Vantaggi (SLMMO)
- Forti garanzie che una applicazione installata funzioni effettivamente!! :)
- Possibilità di costruirsi un sistema davvero "bleeding edge", con sistema operativo e applicazioni aggiornatissimi (si parla di ore) e compilati sulla stessa macchina che li farà girare.
- Come ho già detto in un precedente post, FreeBSD fa figo (Linux ce l'hanno tutti) :sofico:
- Il sistema è collaudato, molto collaudato, la versione 4.11 a livello di Debian stable...
- Incredibile ma vero, il supporto hardware è a volte meglio di Windows....(leggi RAID Promise...)
.....in effetti non ho mai trovato qualcosa che non funzionasse!

Svantaggi (sempre SLMMO)
- C'è poco da fare: se si vuole un sistema figo, ci vuole un processore potente e una connessione a banda larga. Packages ce ne sono pochi e diventano obsoleti in fretta, i ports sono più di 12000, ma vanno scaricati e compilati e ci vuole tempo....
- Conoscere l'inglese: per leggere il manuale, cosa DA NON SALTARE, pena la formattazione inconsapevole del disco rigido....

Psycotic
23-02-2005, 08:29
Ti ringrazio x la tua risposta.. :D
Ma qualcosina gia' la so su linux ecc..

Io parlavo del kernel.. Se viene rilasciato tipo Linux.. E che differenze ha con il kernel Linux..

"Possibilità di costruirsi un sistema davvero "bleeding edge", con sistema operativo e applicazioni aggiornatissimi (si parla di ore) e compilati sulla stessa macchina che li farà girare."

Vedi che le applicazioni aggiornate nn dipendono da bsd..
E la compilazione delle applicazioni ce sempre stata fin l'inizio dei tempi.. Si dice che anche dio quando fini di costruire la terra dopo la dovuta compilare.. :oink:

kingv
23-02-2005, 08:42
Originariamente inviato da Psycotic

Io parlavo del kernel.. Se viene rilasciato tipo Linux..


i sorgenti sono pubblicati con una licenza molto libera.
se non vuoi usare il kernel fornito lo puoi ricompilare.

#!/bin/sh
23-02-2005, 09:02
Originariamente inviato da Psycotic
Visto ke tra un po' mettero un bel freebsd mi stavo documentando sul kernel..
Qualcuno di voi ha esperienza con BSD?

Mi interessava sapere in grandi linee le differenze con il classico linux.. Per il resto poi leggero la documentazione...

io ho usato un po' sia freebsd che netbsd (per uso personale, niente server in produzione). li ho installati entrabe e ci ho smanazzato un po' (aggiornato il sistema, ricompilato il kernel, installato e rimosso software). quello che posso dire dalla mia breve esperienza su bsd e' che ho avuto l'impressione di una maggiore organicita' del sistema. tutto e' al posto giusto e ben integrato. Questo e' dovuto al sistema di sviluppo centralizzato e suprattutto al maggior livello di maturita' del sistema operativo in generale. il bello di un qualsiasi bsd e' che tutti quelli che usano bsd usano la stessa versione punto e basta. le cose sotto freebsd si fanno in un unico modo. con linux invece ogni distribuzione fa storia a se.
per contro ti devi scordare alcune comodita' di che linux ti mette a disposizione di default e che forse (qui solo un esperto puo' rispondere) sono ottenibili con una customizzazione del sistema (es. bash di default invece di sh).
come sistema di gestione del software quello che va piu' vicino come idea ai port di freebsd e a pkgsrc di netbsd e' sicuramente portage di gentoo (a livello concettuale).
altra differenza e' il sistema di gestione degli script di inizializzazione. se vuoi vedere bene le differenze tra i vari *bsd e sistemi systemV-like guarda qui:

http://www.mewburn.net/luke/papers/rc.d.pdf

altra differenza significativa e' che c'e' una netta differenza tra cio' che compone il sistema base e il software "accessorio". il sistema base contiene il kernel, la shell, openssh e tutto cio' che serve per avere un sistema funzionante. le applicazioni che costituiscono il sistema base posso anche venir profondamente modificate dagli sviluppatori per integrarsi con il sistema stesso. poi ci sono tutte le altre applicazioni "accessorie" che sono portate su bsd e incluse nel sistema di pacchettizzazione. su linux invece hai tanti pezzi sparsi che vengono pacchettizzati e che costruiscono l'intero sistema.
cmq per un confronto piu' completo prova a guardare qui:

http://www.over-yonder.net/~fullermd/rants/bsd4linux/bsd4linux1.php

Psycotic
23-02-2005, 10:12
Ma quindi nn e' un kernel modulare? Dove li trovo i sorgenti del kernel? sempre sul sito di freeBSD?
Un'altra cosa..
NetBSD e' libero come il freeBSD oppure no? Suppongo ke il kernel sia uguale no?

#!/bin/sh
23-02-2005, 10:37
Originariamente inviato da Psycotic
Ma quindi nn e' un kernel modulare? Dove li trovo i sorgenti del kernel? sempre sul sito di freeBSD?
Un'altra cosa..
NetBSD e' libero come il freeBSD oppure no? Suppongo ke il kernel sia uguale no?

in che senso non e' modulare? a quanto ne so neanche linux ha un kernel modulare. il fatto che un componente possa essere compilato come modulo e non come built-in non vuol dire che il kernel non sia monolitico a livello strutturale.
cmq i sorgenti li scarichi dai vari mirror. puoi aggiornare o solo il kernel o tutto il sistema base. poi decidere di seguire il ramo current oppure di aggiornare la release che installi. io quando aggiornavo usavo cvsup e poi compilavo quello che avevo scaricato.
tutti i BSD sono rilasciati a quanto ne so con licenza bsd quindi anche netbsd e' libero. Il kernel di netbsd e' diverso da quello di freebsd. Sono partiti dalla stessa base, ma hanno seguito sviluppi diversi.

Psycotic
23-02-2005, 10:44
Come nn e' un kernel modulare.. E' piano di moduli che si possono caricare e scaricare...

ok grazie delle risposte.. Adesso cerco qualche documentazione sul kernel bsd perche' nn mi e' molto chiaro...

Quindi se hanno le stesse licenze..
X esperiena cosa mi consigliate?
NetBSD o FreeBSD?

parlo sempre su una sparc..

krokus
23-02-2005, 11:44
Originariamente inviato da Psycotic
Ti ringrazio x la tua risposta.. :D
Ma qualcosina gia' la so su linux ecc..

Io parlavo del kernel.. Se viene rilasciato tipo Linux.. E che differenze ha con il kernel Linux..

"Possibilità di costruirsi un sistema davvero "bleeding edge", con sistema operativo e applicazioni aggiornatissimi (si parla di ore) e compilati sulla stessa macchina che li farà girare."

Vedi che le applicazioni aggiornate nn dipendono da bsd..
E la compilazione delle applicazioni ce sempre stata fin l'inizio dei tempi.. Si dice che anche dio quando fini di costruire la terra dopo la dovuta compilare.. :oink:

Sì, era solo una differenza di "comodità", come ha detto #!/bin/sh è tutto al posto giusto, anche i sorgenti dei programmi di base o accessori.
Per la questione del kernel monolitico o no, alla fine non è molto diverso da un kernel linux, sfrutta un file di configurazione che permette di dichiarare quali parti del kernel compilare come moduli separati. Se uno per assurdo usa un file vuoto, si compila un kernel con tutto incluso dentro, senza bisogno di moduli.
Un aspetto molto importante è che il kernel FreeBSD può eseguire i binari compilati per Linux in modo praticamente nativo, senza perdita di prestazioni. Tutti i giochi 3D in effetti girano in questo modo su FreeBSD. Questo vuole anche dire la possibilità di usare applicazioni per Linux non disponibili come sorgenti. Di fatto FreeBSD costruisce nella directory /usr/compat/linux una vera e propria installazione di Linux (a scelta tra RedHat, SuSE o altro) per avere a disposizione le librerie necessarie.

Fingal
23-02-2005, 11:44
[ot]
a quanto ne so io il kernel di linux è in parte modulare, a differenza di altri kernel (vedi quello di qnx o di minix) che invece constano di un microkernel statico che carica e scarica dinamicamente tutto..
esempio: senon compili il kernel linux con il modulo per la tua partizione in statico non parte un tubo; mi sembra che sia cosi anche per scsi. minix e qnx invece hanno solo il microkernel statico, gli altri moduli sono tutti dinamici.
[fine ot[

Psycotic
23-02-2005, 12:20
"senon compili il kernel linux con il modulo per la tua partizione in statico non parte un tubo; mi sembra che sia cosi anche per scsi."

Non nn e' proprio cosi'.. l'initrd serve proprio x questo.. infatti quasi di sucuro, se controlli.. Anche tu avrai il modulo x il tuo filesystem caricato come modulo.. Ovviamente puoi anche metterlo statico..

/\/\@®¢Ø
23-02-2005, 14:06
Originariamente inviato da #!/bin/sh
in che senso non e' modulare? a quanto ne so neanche linux ha un kernel modulare. il fatto che un componente possa essere compilato come modulo e non come built-in non vuol dire che il kernel non sia monolitico a livello strutturale.

Uhm, se un kernel ha i moduli e' modulare, o no ? :mbe:
Kernel modulare non e' la stessa di microkernel. Al piu' si puo' dire che non sono piu' puramente monolitici.



cmq i sorgenti li scarichi dai vari mirror. puoi aggiornare o solo il kernel o tutto il sistema base. poi decidere di seguire il ramo current oppure di aggiornare la release che installi. io quando aggiornavo usavo cvsup e poi compilavo quello che avevo scaricato.

Se rimani nell'ambito della stessa release, puoi in linea di massima ricompilare il solo kernel. Sarebbe comunque buona cosa tenere sincronizzati kernel e userland, cosa che diventa invece indispensabile se si fa un salto di release (ad esempio dalla 5.2 alla 5.3), o si seguono i rami -STABLE e -CURRENT.
[/QUOTE]

#!/bin/sh
23-02-2005, 14:23
Originariamente inviato da /\/\@®¢Ø
Uhm, se un kernel ha i moduli e' modulare, o no ? :mbe:
Kernel modulare non e' la stessa di microkernel. Al piu' si puo' dire che non sono piu' puramente monolitici.


chiarifico la risposta di prima. e' modulare nel senso che puo' caricare dinamicamente i moduli. strutturalmente linux ha un kernel monolitico.