Buch: The Design and Implementation of the FreeBSD Operating System

rMarkus

Chuck The Plant
Hallo zusammen,

schon wieder spiele ich mit dem Gedanken, mir oben genanntes Buch zuzulegen.

Ist das eher ein besseres Handbuch wie "The Complete FreeBSD" (1) oder geht es da mehr ans Eingemachte wie z.B. bei Andrew S. Tanenbaum (2).
Oder ist es eher wie Linux-Treiberentwicklung (Reizwort) (3), also mehr die praktische Umsetzung.

Von der ersten Sorte wollte ich mir dann doch nicht noch ein Exemplar ins Regal stellen, das ich nicht lese, da man diese Informationen besser und aktueller aus dem Internet holen kann.

Gruss
Markus
 

d4mi4n

volksoperator on duty
das buch überhauot nichts mit "the complete freebsd" zu tun
also dir werden schön die innereien von fbsd erklärt, aber nicht wie mans installiert
 

Fusselbär

Makefile Voyeur
Hallo,

nach dem Buch:
"The Design and Implementation of the FreeBSD Operating System"
habe ich auch hier in Köln
schon in verschiedenen Buchläden geschaut,
aber keiner hatte es da,
nicht mal Lehmanns Fachbuchhandlung. ;'(

Dabei würde ich gerne erst mal einen Blick reinwerfen,
ob ich es verstehen kann.


Gruß, Fusselbär
 

Stormchild

Active Member
Hallo,

ich hab das Werk hier rumliegen, und es geht ganz schön ans eingemachte.
Richtet sich hauptsächlich an Informatikstudenten, die wirklich wissen
wollen, wie ein Betriebssystem funktioniert.
Hier ein paar Abschnitte aus dem Inhaltsverzeichnis:
...
2.3 Kernel Services
2.4 Process Management
2.5 Memory Management
...
3.1 Kernel Organisation
3.2 System Calls
3.3 Traps and Interrupts
...

Immerhin konnte ich mich bis Mitte des 2. Kapitels durchbeissen.
Aber momentan fehlt mir da echt die Motivation zum weiterzulesen,
obwohl bei dem Wetter....
 

minix

misleading to nowhere
markus.r schrieb:
Ist das eher ein besseres Handbuch wie "The Complete FreeBSD"
Nein, überhaupt nicht! Es ist auch keinerlei Anleitung und Ratgeber o. ä.

markus.r schrieb:
oder geht es da mehr ans Eingemachte
Ja, geht es. Es ist definitiv nichts für Anfänger oder Amateure, sondern eher für Fortgeschritte.

markus.r schrieb:
Oder ist es [...] mehr die praktische Umsetzung.
Nein, überhaupt nicht.

Es ist zu 100% theoretischer Natur und extremst detailliert - so detailliert, dass es für die meisten Administratoren und Anwender zu tiefgreifend ist. Es hat auch nichts mit diesen Themen (Installation, Administration oder Benutzung von FreeBSD) zu tun, sondern mit tiefsten Interna des Betriebssystems, grundlegenden Design-Entscheidungen und -Umsetzungen. Es ist sehr speziell und tiefgreifend - am ehesten wohl mit Minix und dessen Beschreibung für Informatik-Studenten vergleichbar. Wer die Funktionsweise eines Betriebssystems erlernen und / oder ein eigenes Betriebssystem entwickeln will, landet mit dem Buch auf jeden Fall einen Volltreffer.

Es ist auch nicht mal eben nebenbei lesbar. Auch wenn das Englisch sehr gut verständlich ist, so ist der Inhalt so komplex, dass man sich dafür Zeit nehmen muss, um es wirklich durchzuarbeiten, damit man auch etwas davon hat. Dann offenbart sich allerdings eine große und tiefe Fundgrube vom Feinsten. Ich will es nicht mehr missen ...

Gruß
 

stsp

Member
Ich habs geliehen und komplett gelesen und es ist absolut super - wenn man sich wirklich fuer die Interna von FreeBSD (und UNIX Systemen im Allgemeinen) interessiert. Es geht wirklich nicht um das, was schon im Handbuch steht.

Ueber Programmierung mit mehreren Threads bescheid zu wissen hilft sehr um das Buch zu verstehen, da der Kernel komplett multithreaded ist - das Buch selbst erklaert threading konzepte (z.b. locking, semaphore, mutexes) nicht ausfuerhlich, aber sie kommen sehr oft vor. Die C Programmiersprache wird natuerlich auch vorrausgesetzt.

Wer z.b. an FreeBSD entwickeln will sollte das Material im Buch als Hintergrundwissen mitbringen. Es hilft aber auch fuer andere Systeme, z.b. Linux. Ich arbeite am Linux port fuers Nintendo DS, und das Wissen aus dem FreeBSD Buch hat mir auch dabei schon mehrfach geholfen - aehnliche Literatur ueber Linux habe ich aber auch intus, was natuerlich ebenfalls sehr geholfen hat.

Hier ein Zitat aus dem Preface:

Readers who will benefit from this book include operating-system implementors, system programmers, UNIX application developers, administrators, and curious users. The book can be read as a companion to the source code of the system, falling as it does between the manual pages and the code in detail of treatment.
 

rMarkus

Chuck The Plant
Das klingt ja wirklich gut.

Die hier zitierten Themen erinnern mich stark an diverse Vorlesungen...

Bahandelt das Buch diese Themen eher abstrakt mit dem Beispiel FreeBSD und versucht intensiv irgendwelche Nachweise und mathematisch theoretischen Vergleiche zu führen oder sind Designentscheidungen unterhaltsamer beschrieben?
 

Azazyel

Well-Known Member
markus.r schrieb:
Das klingt ja wirklich gut.

Das Buch ist ohne jeden Zweifel auch hervorragend.

Die hier zitierten Themen erinnern mich stark an diverse Vorlesungen...

Aus gutem Grunde, in dem Buch geht es hauptsächlich darum, wie die grundlegenden Aufgaben eines Betriebssystems bei FreeBSD implementiert wurden.

Bahandelt das Buch diese Themen eher abstrakt mit dem Beispiel FreeBSD und versucht intensiv irgendwelche Nachweise und mathematisch theoretischen Vergleiche zu führen oder sind Designentscheidungen unterhaltsamer beschrieben?

Unterhaltsam ist vielleicht das falsche Wort (es ist nicht so belletristisch wie beispielsweise "The Art of Unix Programming"), nüchtern und sachlich trifft es eher. Das Buch besteht Pi mal Daumen nur aus 10% Theorie, der Rest ist die Beschreibung des Designs und der Implementierung (mit sehr viel Text, vielen Diagrammen, sehr wenig Quellcode und noch weniger Formeln).

Ohne etwas Hintergrund bzgl. Betriebssystemtheorie und Unix bzw. Posix sollte man es nicht angehen, sofern der aber vorhanden ist (wobei ich bei dir diesbezüglich keine Zweifel habe), bietet das Buch einen äußerst lehrreichen Ausflug durch die Internas von FreeBSD.

Vom Stil und Niveau her erinnert es mich sehr stark an die Bücher von Richard Stevens, am ehesten an "Unix Network Programming" und " Advanced Programming in the UNIX Environment"; der Großteil der Themen, die in diesen beiden Büchern aus der Sicht des Anwendungsprogrammierers beschrieben werden, finden sich in besagtem Buch in ihrer Implementierung bei FreeBSD wieder.
 

Björn König

Well-Known Member
Hallo,

ich hatte mir auch das Buch gekauft und bin sehr zufrieden damit gewesen. Im Studium wird der ganze Stoff zwar behandelt, aber er ist naturgemäß an einer Universität etwas theoretisch verpackt bzw. allgemein gehalten. Dieses Buch hat mir einen sehr guten Einblick in eine real existierende Implementierung eines Betriebssystemkernels verschafft. Mir gefällt besonders gut, dass eine breite Auswahl an Themen angesprochen werden ohne zu sehr ins Detail zu gehen. Wichtiges wird trotzdem nicht vergessen. Der Text ist in leicht verständlicher Prosa verfasst. An einigen Stellen gibt es Code-Beispiele, die aber so kurz und knapp sind, dass sie recht verloren wirken; ich finde die hätte man weglassen können, weil man nach dem Buch noch lange kein Kernelprogrammierer ist.

Gruß Björn
 

rMarkus

Chuck The Plant
Hallo,

das Buch habe vor einigen Wochen gekauft. Einige Kapitel habe ich schon verschlungen.

Erfreulich war, dass es zwar kompakt - die wichtigen Stellen jedoch sehr eundeutig formuliert sind.

Inhaltlich erinnert mich das auch sehr stark an eine Vorlesung, die speziell Echtzeitbetriebssysteme behandelte.
Die Konzepte von Betriebssystemen sind sehr aehnlich.

Das Buch scheint mir sehr lange gewachsen zu sein.

Die 50 EUR fuer das Buch bereue ich jedenfalls nicht.
 
L

llothar

Guest
Gibts davon eigentlich ne neue Version. Ich habs mal 1993 gelesen und fand es ziemlich oberflächlich - für Informatik Studenten, da die wirklich komplexen Dinge wie Treiber oder Netzwerkschicht gar nicht erwähnt wurden (wenn ich mich richtig erinnere). Ist vom Format ja auch eher als Taschenbuch aufgemacht. Aber war damals fast das einzige was es für Unix in der Lehrbuchsammlung gab.

Wundert mich das das noch nicht Out-Of-Print ist. Na ja ein Grundlagenbuch halt.
 

minix

misleading to nowhere
@ llothar: Entweder du meinst ein anderes Buch (was ich vermute) oder du hast es nicht gelesen.

llothar schrieb:
da die wirklich komplexen Dinge wie Treiber oder Netzwerkschicht gar nicht erwähnt wurden (wenn ich mich richtig erinnere).
Du irrst!

Table of Content:
http://www.addison-wesley.de/bookdetails/longtext.asp?ISBN=0201702452

llothar schrieb:
Ist vom Format ja auch eher als Taschenbuch aufgemacht.
Wie bitte? Es ist überhaupt kein Taschenbuch! :rolleyes:

1. Das Buch ist gebunden und mit Hardcover.
2. Es ist großformatig (~ 240x165).
3. Es hat rund 700 Seiten und ist relativ schwer.

Die letzte Ausgabe, Redaktionsschluss 2004, Copyright 2005:

http://www.addison-wesley.de/main/main.asp?page=englisch/bookdetails&ProductID=106140

http://www.amazon.de/exec/obidos/AS...82069/sr=1-1/ref=sr_1_2_1/028-1249303-8959767

ist auf dem Stand von FreeBSD 5.2 ab.

@ lars: Hast du schon eine neuere Ausgabe entdeckt? Bei Amazon, Lehmanns und Addison Wesley gibt's nur die Version FreeBSD 5.2.
 
L

llothar

Guest
24x16 ist für Fachbücher doch schon sehr Taschenbuch Style, selbst mit Hardcover. Da hab ich wieder mal andere Ansprüche. Für mich gilt auch das Dragon Book zum Compilerbau als Taschenbuch (wenn jemand hier das kennt). Es geht hier nicht um Hosentasche (von Hosenscheissern) sondern um Studientaschen (von Erwachsenen).

Und okay das Buch ist inhaltlich gut überarbeitet worden. Werde es wenn mir irgendwann vielleicht doch mal bestellen. Viele dieser Kapitel fehlten damals.
 

minix

misleading to nowhere
llothar, du magst deine eigene Definition von Taschenbuch haben. Die offizielle und allgemein übliche ist aber dennoch eine andere. ;)
 

rMarkus

Chuck The Plant
Eingeschränkt stimme ich llothar zu:
Das Buch ist in der Beziehung oberflächlich, da es eher eine Art Betriebssystem-Architektur-Grundlagen mit Spezialisierung Unix mit Spezialisierung FreeBSD 5.2 ist.
Es geht aber nicht richtig ans Eingemachte.

Die interessanten und speziellen Stellen sind leider teilweise auch schon veraltet.
Ein Beispiel ist die Diskussion über ZERO-Copy: Er führt im Prinzip ausgedehnt sehr ähnliche Argumente wie Linus Torvalds gegen ZERO-Copy an.

Trotzdem lohnt das Buch, denn es ist gut geschrieben und sauber strukturiert.

Für mich ist das aber auch ein echtes Buch und kein Taschenbuch.
Bücher mit größerem Format sind doch meistens zum Ausmalen? :huth:
 

nickers

Well-Known Member
llothar schrieb:
24x16 ist für Fachbücher doch schon sehr Taschenbuch Style, selbst mit Hardcover. Da hab ich wieder mal andere Ansprüche.
Also entweder bedeutet die Maßangabe, daß Addison-Wesley in Wahrheit keine Fachbücher verlegt, oder der eine Zentimeter den die ihren Büchern mehr in die Breite spendieren, macht aus einem Taschenbuch ein Fachbuch. Wer weiss ... ?
[edit]
Ich stell grad fest das "Design und Implem..." ja auch Addison-Wesley ist, ups. Das heisst ja, die amerikanischen Kunden sind denen einen Zentimeter weniger wert. :D
[/edit]


Ich denke allerdings, daß das Buch schon weit genug in die Tiefe geht, zumindest so tief wie man auf 700 Seiten kommt, wenn man "Design und Umsetzung von FreeBSD" beschreiben möchte. Einen umfangreich kommentierten Kernelsource kann man da wohl kaum erwarten.
Zum Kernelhacker wird man mit dem Buch vermutlich nicht, aber ich denke man kann damit etwas besser verstehen, was die "world" im Inneren zusammenhält. Das kann sogar dem Admin hilfreich sein und muss nicht nur dem Programmierer zu Gute kommen.
 
Oben