{{Stub}} Es gibt so gut wie keinen Menschen, der alles kann. Auch nicht im OS-Development. Deshalb sind gute Nachschlagewerke und Bücher zum Lernen eine gute Sache. Natürlich gibt es eine Fülle von Büchern, die einen besser, die einen schlechter. Um den Überblick zu wahren hier eine kleine Liste von emfehlenswerten Büchern und (Online-)Tutorials. == Bücher: Programmierung == Wer ein OS entwickeln will, sollte schon der Sprache, in der es machen will, mächtig sein. Natürlich muss man hier und da nachlesen, wie denn nun z.B. nen Pointer dereferenziert wird oder was denn eigentlich 16 << 8 bedeutet. Deshalb eine kleine Liste empfehlenswerter Bücher zum Einstieg und als Nachschlagewerk in die Programmierung: === Assembler === * [http://www.amazon.de/Assembler-Maschinennahes-Programmieren-Anfang-Windows-Programmierung/dp/3499612240 "Assembler: Maschinennahes Programmieren von Anfang an von Reiner Backer]
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. === C/C++ === * [http://www.amazon.de/ge-packt-Schneller-kompletten-Zahlreiche-Produktivität/dp/3826617282/ref=sr_1_1?ie=UTF8&s=books&qid=1249511226&sr=1-1 "C/C++ GE-PACKT" von Herbert Schildt]
Eine kurze Übersicht über die Features von C, C++ und den Standard-Bibliotheken. * [http://www.amazon.de/C-Objektorientiertes-Programmieren-von-Anfang/dp/3499600773 "C++ Objektorientiertes Programmieren von Anfang an" von Helmut Erlenkötter]
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. * [http://www.amazon.de/Bibliotheksfunktionen-sicher-anwenden-Helmut-Erlenk%C3%B6tter/dp/3499612232 "C: Bibliotheksfunktionen sicher anwenden" von Helmut Erlenkötter]
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. * [http://www.amazon.de/von-bis-CD-ROM-umfassende-Handbuch/dp/3898428168 "C++ von A bis Z: Das umfassende Handbuch" von Jürgen Wolf]
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. == 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. === Bücher über existierende Kernel === * [http://www.amazon.de/Understanding-Linux-Kernel-Process-Management/dp/0596000022/ref=sr_1_2?ie=UTF8&qid=1249546324&sr=8-2 "Understanding the Linux Kernel - From I/O ports to process management" von Daniel P. Bovet und Marco Cesati]
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]]. == Bücher: Hardware == Das OS ist quasi der Herr über die Hardware. Es verwaltet selbige sowie den Zugriff darauf usw.. Nur die wenigsten wissen, an welchem Port man ein bestimmtes PCI-Gerät anspricht oder wie sich die Soundkarte dazu überreden lässt, einen Ton auszugeben. Hier eine Liste empfehlenswerter Büche: * [http://www.amazon.de/Das-Addison-Wesley-Handbuch-Hardwareprogrammierung/dp/3827323053 "Das Addison-Wesley Handbuch der Hardwareprogrammierung" von Klaus Dembowski]
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. * [http://www.amazon.de/PC-Hardwarebuch-Aufbau-Funktionsweise-Programmierung/dp/3827314615 "PC-Hardwarebuch" von Hans-Peter Messmer und Klaus Dembowski]
Das Standardwerk, wenn es um Hardwareprogrammierung geht. == Linkliste == [[Kategorie:Glossar]]