Operating System Development
In the past I wrote several books and documents regarding to operating system development. They are all written in german and previously published on osdever.net.tc (now given down). Feel free to download them:
- Book 1: Operating System development
- Book 2: Assembler
- Book 3: System development (overhauled first books written together)
Table of contents of the newest book (System development):
1. Vorwort 1.1 Liability 1.2 History 2. Assembler 2.1 Intel Style, AT&T Style 2.2 Instructions 2.3 Das Dual-System 2.4 Die Hexadezimale Darstellung 2.5 Bytes, Words und dwords 2.6 Syntax 2.7 Little Endian Format 2.8 The Art of Assembly Language 3. Prozessor Modes 3.1 Legacy Mode 3.1.1 Real Mode 3.1.1.1 Register 3.1.1.2 Segmentierung 3.1.1.3 Segmente 3.1.1.4 Verwendung von 32 Bit Registern 3.1.1.5 BIOS 3.1.1.6 Interrupts 3.1.1.7 Stack 3.1.1.8 Ports 3.1.1.9 Funktionen 3.1.1.1 Interrupts als Funktionen 3.1.1.11 Speicherbelegung 3.1.1.12 HMA (High Memory Area) 3.1.1.13 EMS (Expanded Memory Specification) 3.1.1.14 XMS (Extended Memory Specification) 3.1.1.15 EFLAGs Register 3.1.1.16 Real Addressing Mode 3.1.2 Protected Mode 3.1.2.1 Register 3.1.2.2 Segmentierung 3.1.2.3 GDT & GDTR 3.1.2.4 IDT 3.1.2.5 LDT & LDTR 3.1.2.6 Task Register 3.1.2.7 Selektoren 3.1.2.8 Deskriptoren 3.1.2.9 non-Gate Deskriptoren 3.1.2.1 Gate Deskriptoren 3.1.2.11 non-present Segments 3.1.2.12 Privilege Levels 3.1.2.13 Paging 3.1.2.14 Virtueller Adressraum 3.1.2.15 Page Directory, Page Tables und Page Frames 3.1.2.16 Boundarys 3.1.2.17 Page Adressen 3.1.2.18 CR3 Register 3.1.2.19 Shadow Register 3.1.2.2 Translation Lookaside Buffer 3.1.2.21 Protected Virtual Address Mode 3.1.3 Unreal Mode 3.2 Long Mode 3.2 64 Bit Mode und Compatibility Mode 3.2.1 Modes des Long Mode 3.2.2 Register 3.2.3 Segmentierung 3.2.4 64 Bit Code Segment Deskriptor 3.2.5 64 Bit Data Segment Deskriptor 3.2.6 System Segment Deskriptor 3.2.7 Gate Deskriptoren 3.2.8 Paging 3.2.9 Task Management 4. Periphere Einheiten 4.1 2th Address Gate 4.2 Programmable Interrupt Controller 4.3 Programmable Interval Timer 4.4 Direct Memory Access 4.5 BIOS Data & CMOS 4.6 Real Time Clock 5. Laufwerke 5.1 Disketten Laufwerke 5.2 ATA Laufwerke 5.3 ATAPI Laufwerke 5.4 SATA Laufwerke 6. PS/2 devices 6.1 Tastatur 6.2 Maus 7. Devices 7.1 Lineprinter 7.2 Speaker 8. Dateisysteme und Formate 8.1 FAT (File Allocation Table) 8.2 NTFS (New Technology File System) 8.3 Bootable CD/DVD Format 8.4 Partitionstabelle 9. Dateiformate 9.1 Cursor & Icon File Format 10. Text/Grafik Programmierung 10.1 Textmode Programmierung 10.2 VGA Programmierung 10.3 VESA Programmierung 11. Architectural Operating System Design 12. Theory 12.1 Task Switching 13. Nachwort Appendix 1: Assembler Befehlsreferenz 14.1 Speicher Befehle 14.1.1 mov 14.1.2 movsx/movzx 14.1.3 lea 14.1.4 xchg 14.2 Mathematische Befehle 14.2.1 add, sub 14.2.2 mul, div 14.2.3 dec, inc 14.2.4 shl, shr 14.2.5 sal, sar46 14.2.6 and, or, xor, not 14.3 Verzweigungs Befehle 14.3.1 jmp 14.3.2 jcc 14.3.3 call, ret 14.3.4 int, iret 14.3.5 loop 14.4 Stack Befehle 14.4.1 push, pop 14.4.2 pusha, popa 14.4.3 pushf, popf 14.4.4 enter, leave 14.5 String Befehle 14.5.1 lodsb/lodsw/lodsd 14.5.2 stosb/stosw/stosd 14.5.3 movsb/movsw/movsd 14.5.4 insb/insw/insd 14.5.5 outsb/outsw/outsd Appendix 2: Assembler Datei-Format 15.1 Makros 15.1.1 define 15.1.2 undef 15.1.3 assign 15.1.4 substr 15.1.5 macro 15.1.6 if, elif, else, endif 15.2 Bits Settings 15.3 CPU Typ Appendix 3: Key Tables 16.1 Tastatur Nummern 16.2 Tastatur Layouts 16.3 Scan Codes Set 16.4 Virtual Keys Appendix 4: ASCII Tabelle 18. General Considerations and Thoughts
^ Top
Last modified: 3 June 2009
Previous page: infobox.ru: Botnet
Next page: 4 million email addresses
