Literatur — Änderungen 8670 → 10486

Zeile 8: Zeile 8:
  
 
'''Anmerkungen zur Aktualität der Liste:''' Es kann vorkommen, dass die Links auf eine veraltete Version des Buches zeigen. Darum sollte man am besten immer noch einmal nach dem Buchtitel suchen, um eine eventuell neu herausgekommene aktualisierte Auflage zu finden. Wenn du siehst, dass ein Buch in einer aktualisierten Auflage erschienen ist, dann ändere den Link doch direkt hier im Artikel oder lass wenigstens einen Hinweis auf der [[Diskussion:Literatur|Diskussionsseite]] da! Danke!
 
'''Anmerkungen zur Aktualität der Liste:''' Es kann vorkommen, dass die Links auf eine veraltete Version des Buches zeigen. Darum sollte man am besten immer noch einmal nach dem Buchtitel suchen, um eine eventuell neu herausgekommene aktualisierte Auflage zu finden. Wenn du siehst, dass ein Buch in einer aktualisierten Auflage erschienen ist, dann ändere den Link doch direkt hier im Artikel oder lass wenigstens einen Hinweis auf der [[Diskussion:Literatur|Diskussionsseite]] da! Danke!
 +
  
 
== Bücher: Programmierung ==
 
== Bücher: Programmierung ==
 
Wer ein OS entwickeln will, sollte schon der Sprache, in der er es machen will, mächtig sein. Wer neue Sprachkenntnisse erlernen möchte, seine Sprachkenntnisse vertiefen möchte oder eine gute Referenz sucht, dem sei diese Liste ans Herz gelegt:
 
Wer ein OS entwickeln will, sollte schon der Sprache, in der er es machen will, mächtig sein. Wer neue Sprachkenntnisse erlernen möchte, seine Sprachkenntnisse vertiefen möchte oder eine gute Referenz sucht, dem sei diese Liste ans Herz gelegt:
 +
  
 
=== Assembler ===
 
=== Assembler ===
 
* [[Spezial:ISBN-Suche/3499612240|„Assembler: Maschinennahes Programmieren von Anfang an“ von Reiner Backer]]<br />Klasse Buch für den Einstieg in die x86-Programmierung. Es wird die Arbeitsweise eines Prozessors sowie das Zusammenspiel zwischen CPU, RAM, MMU und ALU erklärt. Das Buch ist gut strukturiert und bietet ausführliche Beispiele zu jedem wichtigen Assemblerbefehl. Der Windows-Teil ist allerdings nur mittelmäßig, ist aber für unser Klientel eh nicht von Bedeutung.
 
* [[Spezial:ISBN-Suche/3499612240|„Assembler: Maschinennahes Programmieren von Anfang an“ von Reiner Backer]]<br />Klasse Buch für den Einstieg in die x86-Programmierung. Es wird die Arbeitsweise eines Prozessors sowie das Zusammenspiel zwischen CPU, RAM, MMU und ALU erklärt. Das Buch ist gut strukturiert und bietet ausführliche Beispiele zu jedem wichtigen Assemblerbefehl. Der Windows-Teil ist allerdings nur mittelmäßig, ist aber für unser Klientel eh nicht von Bedeutung.
 
* [[Spezial:ISBN-Suche/3826607864|„Assembler GE-PACKT“ von Joachim Rohde]]<br />Ein gutes, handliches Nachschlagewerk zu allen x86-Befehlen, vom 8086 bis zum Pentium 4. Auch FPU, MMX, SSE und SSE2 sowie 3D Now! werden behandelt.
 
* [[Spezial:ISBN-Suche/3826607864|„Assembler GE-PACKT“ von Joachim Rohde]]<br />Ein gutes, handliches Nachschlagewerk zu allen x86-Befehlen, vom 8086 bis zum Pentium 4. Auch FPU, MMX, SSE und SSE2 sowie 3D Now! werden behandelt.
 +
  
 
=== C/C++ ===
 
=== C/C++ ===
 
* [[Spezial:ISBN-Suche/3826617282|„C/C++ GE-PACKT“ von Herbert Schildt]]<br /> Eine kurze Übersicht über die Features von C, C++ und den Standard-Bibliotheken.
 
* [[Spezial:ISBN-Suche/3826617282|„C/C++ GE-PACKT“ von Herbert Schildt]]<br /> Eine kurze Übersicht über die Features von C, C++ und den Standard-Bibliotheken.
 +
 
* [[Spezial:ISBN-Suche/3499600773|„C++ Objektorientiertes Programmieren von Anfang an“ von Helmut Erlenkötter]]<br /> Das Buch ist optimal, wenn man bereits Programmieren kann, und es einem nur um die Sprache C++ an sich geht. Aber auch für die jenigen die bereits C++ können ist es ein nettes Nachschlagewerg. Alle Features von C++ werden an sehr gut gewählten Beispielen erklärt.
 
* [[Spezial:ISBN-Suche/3499600773|„C++ Objektorientiertes Programmieren von Anfang an“ von Helmut Erlenkötter]]<br /> Das Buch ist optimal, wenn man bereits Programmieren kann, und es einem nur um die Sprache C++ an sich geht. Aber auch für die jenigen die bereits C++ können ist es ein nettes Nachschlagewerg. Alle Features von C++ werden an sehr gut gewählten Beispielen erklärt.
 +
 
* [[Spezial:ISBN-Suche/3499612232|„C: Bibliotheksfunktionen sicher anwenden“ von Helmut Erlenkötter]]<br />Gutes Buch, bietet den Einstieg in die Programmierung mit der C-Standard-Bibliothek. Hilft, seine Kennitnisse anhand ausführlicher Beschreibungen und Übungen in C zu vertiefen und dient hervorragend als Nachschlagewerk.
 
* [[Spezial:ISBN-Suche/3499612232|„C: Bibliotheksfunktionen sicher anwenden“ von Helmut Erlenkötter]]<br />Gutes Buch, bietet den Einstieg in die Programmierung mit der C-Standard-Bibliothek. Hilft, seine Kennitnisse anhand ausführlicher Beschreibungen und Übungen in C zu vertiefen und dient hervorragend als Nachschlagewerk.
 
* [[Spezial:ISBN-Suche/3836214296|„C++ von A bis Z: Das umfassende Handbuch“ von Jürgen Wolf]]<br />Sehr gutes Handbuch zur Programmierung in C++, deckt so gut wie alle Spracheigenschaften und die STL ab. Im hinteren Teil wird auch die Programmierung mit wxWidgets erläutert. Dazu kommt noch eine CD mit der HTML-Version des untenstehenden Buches „C von A bis Z“.
 
* [[Spezial:ISBN-Suche/3836214296|„C++ von A bis Z: Das umfassende Handbuch“ von Jürgen Wolf]]<br />Sehr gutes Handbuch zur Programmierung in C++, deckt so gut wie alle Spracheigenschaften und die STL ab. Im hinteren Teil wird auch die Programmierung mit wxWidgets erläutert. Dazu kommt noch eine CD mit der HTML-Version des untenstehenden Buches „C von A bis Z“.
 +
 
* [[Spezial:ISBN-Suche/3836214113|„C von A bis Z: Das umfassende Handbuch“ von Jürgen Wolf]]<br />Das passende C-Handbuch vom selben Autor, es ist beim Verlag auch als HTML-Version als [http://openbook.galileocomputing.de/c_von_a_bis_z/ kostenloses Openbook] verfügbar. Ist sehr gut zum Lernen, jedoch teilweise verwirrend geschrieben, und für den OS-Entwickler teilweise zu ungenau. Trotzdem insgesamt eine empfehlenswerte Referenz.
 
* [[Spezial:ISBN-Suche/3836214113|„C von A bis Z: Das umfassende Handbuch“ von Jürgen Wolf]]<br />Das passende C-Handbuch vom selben Autor, es ist beim Verlag auch als HTML-Version als [http://openbook.galileocomputing.de/c_von_a_bis_z/ kostenloses Openbook] verfügbar. Ist sehr gut zum Lernen, jedoch teilweise verwirrend geschrieben, und für den OS-Entwickler teilweise zu ungenau. Trotzdem insgesamt eine empfehlenswerte Referenz.
 +
 +
* [http://www.amazon.de/Programming-Language-Prentice-Hall-Software/dp/0131103628/ref=pd_sim_b_2 "The Programming Language" von Kernighan und Ritchie]<br />Dieses Buch bedarf eigentlich keiner großen Vorstellung: Das Buch zur Programmiersprache C von den Erfinder selbiger. Ein absolutes Muss für jeden, der C beherrschen will.
  
  
 
== Bücher: OS-Development ==
 
== Bücher: OS-Development ==
 
Es gibt nicht viele, aber es gibt sie: Bücher, die sich komplett auf die Entwicklung bzw. auf die theoretischen Sachen eines Betriebssystems spezialisieren.
 
Es gibt nicht viele, aber es gibt sie: Bücher, die sich komplett auf die Entwicklung bzw. auf die theoretischen Sachen eines Betriebssystems spezialisieren.
 +
  
 
=== Bücher über existierende Kernel ===
 
=== Bücher über existierende Kernel ===
 
* [[Spezial:ISBN-Suche/0596000022|„Understanding the Linux Kernel – From I/O ports to process management“ von Daniel P. Bovet und Marco Cesati]]<br />Dieses Buch erklärt den [[Linux | Linuxkernel]] sehr detailliert, indem Grafiken Abläufe erklären und wichtige Strukturen sowie kurze Codeteile aufgelistet werden. Dabei handelt es unter anderem von [[Speicherverwaltung]] (mit Dateibuffering, Swapping und [[Direct Memory Access | DMA]]), dem VFS von Linux, [[Scheduler | Scheduling]], Signalen, [[Interrupt | Interrupts]], Synchronisation im [[Kernel]] und der[[Interprozesskommunikation | IPC]].
 
* [[Spezial:ISBN-Suche/0596000022|„Understanding the Linux Kernel – From I/O ports to process management“ von Daniel P. Bovet und Marco Cesati]]<br />Dieses Buch erklärt den [[Linux | Linuxkernel]] sehr detailliert, indem Grafiken Abläufe erklären und wichtige Strukturen sowie kurze Codeteile aufgelistet werden. Dabei handelt es unter anderem von [[Speicherverwaltung]] (mit Dateibuffering, Swapping und [[Direct Memory Access | DMA]]), dem VFS von Linux, [[Scheduler | Scheduling]], Signalen, [[Interrupt | Interrupts]], Synchronisation im [[Kernel]] und der[[Interprozesskommunikation | IPC]].
  
−
*[[Spezial:ISBN-Suche/0132396556|„Essential Linux Device Drivers“ von Sreekrishnan Venkateswaran]]<br /> Das wohl beste Buch über Treiber im Linux-Kernel. Neben der Arbeitsweise des Linux-Kernels werden sämtliche Arten von Device-Drivers ausführlich behandelt: Von TTY über die [[Serielle_Schnittstelle|serielle Schnittstelle]] und [[Parallele_Schnittstelle|parallele Schnittstelle]] bis hin zu [[USB]] und Firewire lässt der Autor hier nichts verborgen. Als Extra werden im Anhang die Basics zu Assembler unter Linux dem Leser nähergebracht.
+
*[[Spezial:ISBN-Suche/0132396556|„Essential Linux Device Drivers“ von Sreekrishnan Venkateswaran]]<br />Das wohl beste Buch über Treiber im Linux-Kernel. Neben der Arbeitsweise des Linux-Kernels werden sämtliche Arten von Device-Drivers ausführlich behandelt: Von TTY über die [[Serielle_Schnittstelle|serielle Schnittstelle]] und [[Parallele_Schnittstelle|parallele Schnittstelle]] bis hin zu [[USB]] und Firewire lässt der Autor hier nichts verborgen. Als Extra werden im Anhang die Basics zu Assembler unter Linux dem Leser nähergebracht.
  
  
 
=== Bücher über Implementierung ===
 
=== Bücher über Implementierung ===
−
* [[Spezial:ISBN-Suche/0131429388|„Operating Systems: Design and Implementation“ von Andrew S. Tanenbaum]]<br />Dieses Lehrbuch beschäftigt sich mit [[Minix]], welches extra als Lehrsystem entwickelt wurde. Bereits Linus Torvalds wusste dieses Buch bevor und während er Linux entwickelte, zu schätzen.
+
* [[Spezial:ISBN-Suche/0131429388|„Operating Systems: Design and Implementation“ von Andrew S. Tanenbaum]]<br />Dieses Lehrbuch beschäftigt sich mit [[Minix]], welches extra als Lehrsystem entwickelt wurde. Bereits Linus Torvalds wusste dieses Buch, bevor und während er Linux entwickelte, zu schätzen.
 +
 
 +
* [http://www.amazon.de/Moderne-Betriebssysteme-Andrew-S-Tanenbaum/dp/3827373425/ref=sr_1_3?ie=UTF8&qid=1330941557&sr=8-3 "Moderne Betriebssysteme" von Andrew S. Tanenbaum]<br />Ebenfalls vom Altmeister Tanenbaum geschrieben beschäftigt sich dieses Buch mit den grundlegenden Prinzipien und Funktionsweisen moderner Betriebssysteme und beschäftigt sich unter anderem auch mit dem Thema Virtualisierung.
  
  
Zeile 41: Zeile 52:
  
 
* [[Spezial:ISBN-Suche/3827323053|„Das Addison-Wesley Handbuch der Hardwareprogrammierung“ von Klaus Dembowski]]<br /> Ein zwei Bände und ca. 1500 Seiten umfassendes Werk über die Hardwareprogrammierung, besonderen Augenmerk legt das Buch auf die Treiberprogrammierung unter Windows, Linux kommt etwas kurz. Aber nichtsdestotrotz ist besonders der erste Band für OS-Developer interessant, wird hier doch genauestens auf die Prozessoren und deren Funktionsweise eingegangen, auch wird Paging erklärt usw.. Mit Codebeispielen in Assembler, C, Pascal und Visual Basic werden die Beispiele vertieft. Der zweite Band widmet sich sehr der Peripherie, wie PCI, USB und Bluetooth. Auf der mitgelieferten DVD findet man alle Specs von Intel und AMD.
 
* [[Spezial:ISBN-Suche/3827323053|„Das Addison-Wesley Handbuch der Hardwareprogrammierung“ von Klaus Dembowski]]<br /> Ein zwei Bände und ca. 1500 Seiten umfassendes Werk über die Hardwareprogrammierung, besonderen Augenmerk legt das Buch auf die Treiberprogrammierung unter Windows, Linux kommt etwas kurz. Aber nichtsdestotrotz ist besonders der erste Band für OS-Developer interessant, wird hier doch genauestens auf die Prozessoren und deren Funktionsweise eingegangen, auch wird Paging erklärt usw.. Mit Codebeispielen in Assembler, C, Pascal und Visual Basic werden die Beispiele vertieft. Der zweite Band widmet sich sehr der Peripherie, wie PCI, USB und Bluetooth. Auf der mitgelieferten DVD findet man alle Specs von Intel und AMD.
 +
 
* [[Spezial:ISBN-Suche/3827320143|„PC-Hardwarebuch“ von Hans-Peter Messmer und Klaus Dembowski]]<br />Enthält zu Beginn Informationen zur Entwicklung der x86-Familie vom 386 zum Pentium 4 und beschreibt die Betriebsmodi, Befehlssätze, Anschlüsse, usw. der einzelnen Prozessoren. In der zweiten Hälfte folgt ein (teilweise sehr detaillierter) Überblick über viele verschiedene Hardware von IDE und SCSI über AGP und PCI bis hin zu USB und LAN.
 
* [[Spezial:ISBN-Suche/3827320143|„PC-Hardwarebuch“ von Hans-Peter Messmer und Klaus Dembowski]]<br />Enthält zu Beginn Informationen zur Entwicklung der x86-Familie vom 386 zum Pentium 4 und beschreibt die Betriebsmodi, Befehlssätze, Anschlüsse, usw. der einzelnen Prozessoren. In der zweiten Hälfte folgt ein (teilweise sehr detaillierter) Überblick über viele verschiedene Hardware von IDE und SCSI über AGP und PCI bis hin zu USB und LAN.
 +
 
* [[Spezial:ISBN-Suche/3815811694|„PC intern 5“ von Michael Tischer]]<br /> Behandelt einige Aspekte der Systemprogrammierung, s. Inhaltsangabe bei Amazon.
 
* [[Spezial:ISBN-Suche/3815811694|„PC intern 5“ von Michael Tischer]]<br /> Behandelt einige Aspekte der Systemprogrammierung, s. Inhaltsangabe bei Amazon.
 +
 +
* [http://www.amazon.de/Computerarchitektur-Strukturen-Grundlagen-Andrew-Tanenbaum/dp/3827371511/ref=pd_bxgy_b_img_c "Computerarchitektur: Strukturen, Grundlagen" von Andres S. Tanenbaum]<br />Wieder ein klassischer Tanenbaum: Dieses Buch widmet sich ganz der grundlegenden Computerarchitektur und behandelt in seiner neuesten Auflage vor allem Multiprozessorsysteme.
 +
  
 
== Bücher: Verschiedenes ==
 
== Bücher: Verschiedenes ==
 
* [[Spezial:ISBN-Suche/3423362995|„Just for fun: Wie ein Freak die Computerwelt revolutionierte“ von Linus Torvalds und David Diamond]]<br />Die Autobiographie des Linux-Erfinders ist eigentlich ein Muss für jeden Betriebssystementwickler, egal ob Linux-Fan oder nicht. Die Geschichte der Entstehung von Linux ist gleichzeitig unterhaltend und inspirierend, weil sich jeder Nerd doch irgendwie mit dem in seiner ''larval stage'' befindlichen Linus Torvalds identifizieren kann.
 
* [[Spezial:ISBN-Suche/3423362995|„Just for fun: Wie ein Freak die Computerwelt revolutionierte“ von Linus Torvalds und David Diamond]]<br />Die Autobiographie des Linux-Erfinders ist eigentlich ein Muss für jeden Betriebssystementwickler, egal ob Linux-Fan oder nicht. Die Geschichte der Entstehung von Linux ist gleichzeitig unterhaltend und inspirierend, weil sich jeder Nerd doch irgendwie mit dem in seiner ''larval stage'' befindlichen Linus Torvalds identifizieren kann.
 +
 +
* [http://www.amazon.de/Compiler-Prinzipien-Techniken-Pearson-Studium/dp/3827370973/ref=sr_1_1?s=books&ie=UTF8&qid=1330941852&sr=1-1 "Compiler: Prinzipen, Techniken, Tools - das Drachenbuch" von R. Sethi, A. Aho und J. Ullman]<br />Das "Drachenbuch" gilt als das ultimative Werk hinsichtlich Compiler: Aufbau, Wissenschaft, Anwendung, lexikalische Analyse, syntaktische Analyse, Interpreter, Aufbau von Programmiersprachen...das Buch deckt die "Königsdisziplin" der theoretischen Informatik bis ins kleinste Detail ab.
 +
 +
* [http://www.amazon.de/Verteilte-Systeme-Prinzipien-Andrew-Tanenbaum/dp/3827372933/ref=pd_sim_b_3 "Verteilte Systeme: Prinzipien und Paradigmen" von Andrew S. Tanenbaum]<br />Dieses Buch von Tanenbaum behandelt verteilte Systeme in ihrer vollen Pracht: Über Architekturen und der Kommunikation bis hin zur Synchronisierung und Fehlertoleranz und Replikation werden viele Themen ausführlich behandelt.