Empfohlene Lektüre zum besseren Verständnis der Unix / Linux-Interna [geschlossen]

54

Ich habe in den letzten vier Jahren als Anwendungsentwickler an * nix-Umgebungen gearbeitet (hauptsächlich in C).

Bitte schlagen Sie einige Bücher / Blogs usw. vor, um meine * nix-Kenntnisse zu verbessern.

Hemant
quelle
1
Ihrer Erfahrung nach würde nur das Lesen der Kernelquelle helfen.)
Eimantas
3
RTFS ist immer das Beste, aber manchmal ist die Quelle durch geringfügiges Lesen leichter zu verstehen.
Stephen Jazdzewski
Jemand, der Bearbeitungsrechte hat, sollte diesen Titel wirklich bearbeiten.
JJCLARKSON
1
Ich folge derzeit den Ratschlägen von Matt Might in seinem Artikel " Was jeder Major der Informatik wissen sollte" . Er empfahl die Unix-Programmierumgebung von Kernighan und Pike, Linux Server Hacks, das UNIX- und Linux-Systemverwaltungshandbuch von Nemeth, Synder, Hein und Whaley, die Linux-Kernel-Entwicklung von Love und die Unix-Netzwerkprogrammierung von Stevens, Fenner und Rudoff.
Anthony
1
@Anthony, das sind ausgezeichnete Ressourcen, die sich jedoch mehr an der Benutzer- / Befehlszeile orientieren. Außerdem ändert sich gerade Linux sehr schnell. Sie müssen auf dem Laufenden bleiben. Gute Ressourcen sind LWN und Kernelnewbies .
Vonbrand

Antworten:

36

Hier sind einige Vorschläge, wie Sie den "Geist" von Unix verstehen können, zusätzlich zu den feinen Empfehlungen, die in den vorherigen Beiträgen gemacht wurden:

  • "The Unix Programming Environment" von Kernighan und Pike: ein altes Buch, das jedoch die Essenz der Unix-Umgebung zeigt. Es wird Ihnen auch helfen, ein effektiver Shell-Benutzer zu werden.

  • "Unix für Ungeduldige" ist eine nützliche Ressource, um die Navigation in der Unix-Umgebung zu erlernen. Eines meiner liebsten.

Wenn Sie ein Power-User werden möchten, gibt es nichts Besseres als O'Reillys "Unix Power Tools", das aus den kollektiven Tipps und Tricks von Unix-Profis besteht.

Ein anderes Buch, das ich nicht erwähnt habe, ist das Buch "Operating Systems, Design and Implementation" (Betriebssysteme, Design und Implementierung) von Andy Tanenbaum, das den Quellcode für ein vollständiges Unix-Betriebssystem in 12-KB-Codezeilen enthielt.

miguel.de.icaza
quelle
9
warum heißt ein buch mit 864 seiten "für ungeduldige"?
Amphibient
12
@amphibient Ich nehme an, Sie haben die Ausgabe "Für den Patienten" nicht gesehen.
Christopher Poile
3
Dies ist nicht "Interna" ....
user997112
14
zvolkov
quelle
2
+1 für das Lions-Buch. Das xv6 des MIT ist eine moderne Version von Lions v6, die auf x86-Computern ausgeführt wird und ANSI C verwendet. Sowohl der Quellcode als auch das zugehörige Lehrbuch können heruntergeladen werden.
Daniel Näslund
8

Bücher / Sites / Handbücher, die ich häufig benutze:

  • Der Linux-Kernel : Dieses Buch wird online als Teil von TLDP (The Linux Documentation Project) veröffentlicht. Es ist nicht aktuell und kein internes Handbuch, bietet jedoch nützliche Informationen und einführende Materialien zu Prinzipien und Mechanismen des Kernels.

  • Grundlegendes zum Linux-Kernel: Meiner Meinung nach ist es das beste Buch für Anfänger, die Hintergrundinformationen zum Design und Konzept des Betriebssystems haben. Es wird als aktuell akzeptiert und deckt die Version 2.6 des Kernels ab. Es gibt eine HTML-Version des Buches im Web, aber ich denke, es ist höchstwahrscheinlich Warez.

  • Ein Buch über die Verwaltung des virtuellen Speichers

Während Sie Linux-Kernel-Interna studieren, müssen Sie in der Regel lernen, wie Hardware funktioniert und welche Hardware auf abstrakte Weise bereitgestellt wird. Intel hat großartige Handbücher dafür.

Wenn Sie sich mit dem Design und dem Konzept von Betriebssystemen befassen möchten, empfehle ich das folgende Buch: Betriebssystemkonzepte .

Dirtybit
quelle
1
Es gibt ein weiteres Buch über den virtuellen Speichermanager von Linux. Es enthält Erklärungen zum Quellcode. URL: ptgmedia.pearsoncmg.com/images/0131453483/downloads/… (Legal zum Herunterladen)
Dirtybit
+1. Buch über "Virtual Memory Manager"? scheint sehr interessant zu sein. Vielen Dank :-).
Hemant
6

O'REILLY Linux-Kernel in
Kürze und O'REILLY Linux-Gerätetreiber

Stephen Jazdzewski
quelle
1
Kurz gesagt, im Linux-Kernel geht es darum, wie der Kernel erstellt und installiert wird, nicht wirklich um die Interna von Linux / Unix. Um nicht zu sagen, es ist kein gutes Buch, aber ich bin ein bisschen voreingenommen. Oh, beide Bücher sind kostenlos online, wenn Sie sie dort ansehen möchten.
Greg KH
2

Ich stimme allen anderen zu und ich muss sagen, dass Stevens 'APUE (ich habe die zweite Ausgabe) ein Klassiker ist. Ich möchte auch hinzufügen, dass Eric Raymonds The Art of UNIX Programming ganz oben auf meiner Liste mit Stevens steht.

λ Jonas Gorauskas
quelle
2

Nun, für BSD Unices gibt es das Design und die Implementierung des 4.4BSD-Betriebssystems, von dem Teile anscheinend kostenlos unter http://www.freebsd.org/doc/en/books/design-44bsd/ verfügbar sind.

Dosenprimaten
quelle
2

Linux-Gerätetreiber sind eine weitere gute Ressource. Es würde Ihnen einen anderen Weg geben, in das Innenleben einzusteigen. Aus dem Vorwort:

Dies ist offenbar ein Buch über das Schreiben von Gerätetreibern für das Linux-System. Das ist natürlich ein würdiges Ziel; Es ist unwahrscheinlich, dass sich der Fluss neuer Hardwareprodukte in absehbarer Zeit verlangsamt, und irgendjemand muss dafür sorgen, dass all diese neuen Gadgets mit Linux funktionieren. In diesem Buch geht es aber auch darum, wie der Linux-Kernel funktioniert und wie er an Ihre Bedürfnisse oder Interessen angepasst werden kann. Linux ist ein offenes System; Wir hoffen, dass dieses Buch für eine größere Community von Entwicklern offener und zugänglicher ist.

Larry Smithmier
quelle
1

Um ein Gefühl dafür zu bekommen, warum und was der Kernel unterstützen soll, werfen Sie einen Blick auf The Art of Unix Programming von Eric Raymond. Es braucht Dinge auf einer ziemlich hohen, philosophischen Ebene, aber es würde gut zu den kleinsten Details anderer Bücher passen.

Phil Miller
quelle
1

Darf ich auch die folgenden zwei Bücher vorschlagen (neben den anderen):

Ich habe die erste ausführlich besprochen (Wenn ich ein besseres Gedächtnis hätte und mehr Zeit hätte, würde ich viel mehr wissen als jetzt; aber das ist eine andere Geschichte). Ich lese gerade den zweiten.

Amit
quelle