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.
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.
Antworten:
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.
Sie sollten unbedingt Advanced Programming in the Unix Environment von Stevens lesen . Lassen Sie sich vom Advanced-Titel nicht abschrecken, er ist sehr gut lesbar.
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.
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.
Softwareentwicklerhandbücher für Intel 64- und IA-32-Architekturen : Aktuelle , detaillierte Informationen.
Intel 80386 Programmer's Reference Manual : Ich weiß, dass dies ein bisschen alt ist, aber ich habe so viele Dinge aus diesem Handbuch gelernt.
Wenn Sie sich mit dem Design und dem Konzept von Betriebssystemen befassen möchten, empfehle ich das folgende Buch: Betriebssystemkonzepte .
O'REILLY Linux-Kernel in
Kürze und O'REILLY Linux-Gerätetreiber
Linux Systems Programming oder ein anderes Buch von Robert Love (das sind alles O'Reilly-Bücher):
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.
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.
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.
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.
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.