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:

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