source-file.pdf (772 PDF pages). This is an Internet Archive scan with an OCR text layer and no bookmarks.| Reading order | Part | Section | Printed page | Starts on PDF page |
|---|---|---|---|---|
| Chapter 1 | I Introduction | Overview | 3 | 25 |
| Chapter 2 | I | General Discussion and Background | 13 | 35 |
| Chapter 3 | II Architecture and General Theory | The Tasking Model | 25 | 47 |
| Chapter 4 | II | Interprocess Communications | 41 | 63 |
| Chapter 5 | II | Memory Management | 55 | 77 |
| Chapter 6 | II | The Hardware Interface | 81 | 103 |
| Chapter 7 | II | OS Initialization | 99 | 121 |
| Chapter 8 | II | Programming Interfaces | 115 | 137 |
| Chapter 9 | III MMURTL-Specific Details | Application Programming | 129 | 151 |
| Chapter 10 | III | Systems Programming | 141 | 163 |
| Chapter 11 | III | The MMURTL Monitor Program | 159 | 181 |
| Chapter 12 | III | The Debugger | 181 | 203 |
| Chapter 13 | III | Keyboard Service | 189 | 211 |
| Chapter 14 | III | File System Service | 201 | 223 |
| Chapter 15 | III | API Specification | 221 | 243 |
| Chapter 16 | III | MMURTL Sample Software | 265 | 287 |
| Chapter 17 | IV The Operating System Source Code | Introduction to the Source Code | 327 | 349 |
| Chapter 18 | IV | Kernel Code | 335 | 357 |
| Chapter 19 | IV | Memory Management Code | 377 | 399 |
| Chapter 20 | IV | Timer Management Code | 405 | 427 |
| Chapter 21 | IV | Initialization Code | 419 | 441 |
| Chapter 22 | IV | Job Management Code | 439 | 461 |
| Chapter 23 | IV | Debugger Code | 471 | 493 |
| Chapter 24 | IV | Selected Device Driver Code | 497 | 519 |
| Chapter 25 | IV | Keyboard Code | 541 | 563 |
| Chapter 26 | IV | Video Code | 571 | 593 |
| Chapter 27 | IV | File System Code | 591 | 613 |
| Chapter 28 | V Additional Software | DASM: A 32-Bit Intel-Based Assembler | 663 | 685 |
| Chapter 29 | V | CM32: A 32-Bit C Compiler | 697 | 719 |
| Back matter | — | Index | 719 | 741 |
Part divider plates (Part number and title, then a blank verso) sit on the two PDF pages before Chapters 1, 3, 9, 17 and 28. They are folded into those chapters’ source-text.md, so their ranges start two pages before the chapter plate. Titles come from the chapter title plates. The printed Contents says “The OS Initialization” for Chapter 7, but the plate says “OS Initialization”.
Reading note: Parts I–II (Ch 1–8) are general OS design theory. Part III (Ch 9–16) covers MMURTL-specific usage and API. Parts IV–V (Ch 17–29) are mostly annotated source listings, which are better skimmed or used as reference than read for coaching.
Extracted from source-file.pdf by tools/split_book.py. Read these instead of the PDF. All 772 pages are covered exactly once.
| Folder | Section | PDF pages | Pages without extractable text |
|---|---|---|---|
| Front-Matter | Front matter (covers, title, copyright, contents, preface, acknowledgments, about the author) | 1–22 | none |
| Chapter-01-Overview | Overview | 23–34 | 23, 24, 25, 34 |
| Chapter-02-General-Discussion-and-Background | General Discussion and Background | 35–44 | none |
| Chapter-03-The-Tasking-Model | The Tasking Model | 45–62 | 45, 46, 47 |
| Chapter-04-Interprocess-Communications | Interprocess Communications | 63–76 | 63 |
| Chapter-05-Memory-Management | Memory Management | 77–102 | 77 |
| Chapter-06-The-Hardware-Interface | The Hardware Interface | 103–120 | 103 |
| Chapter-07-OS-Initialization | OS Initialization | 121–136 | 121 |
| Chapter-08-Programming-Interfaces | Programming Interfaces | 137–148 | 137, 148 |
| Chapter-09-Application-Programming | Application Programming | 149–162 | 149, 150, 151 |
| Chapter-10-Systems-Programming | Systems Programming | 163–180 | 163 |
| Chapter-11-The-MMURTL-Monitor-Program | The MMURTL Monitor Program | 181–202 | 202 |
| Chapter-12-The-Debugger | The Debugger | 203–210 | 203 |
| Chapter-13-Keyboard-Service | Keyboard Service | 211–222 | 211, 222 |
| Chapter-14-File-System-Service | File System Service | 223–242 | 223 |
| Chapter-15-API-Specification | API Specification | 243–286 | 243, 286 |
| Chapter-16-MMURTL-Sample-Software | MMURTL Sample Software | 287–346 | 287 |
| Chapter-17-Introduction-to-the-Source-Code | Introduction to the Source Code | 347–356 | 347, 348, 349, 356 |
| Chapter-18-Kernel-Code | Kernel Code | 357–398 | 357, 398 |
| Chapter-19-Memory-Management-Code | Memory Management Code | 399–426 | 399 |
| Chapter-20-Timer-Management-Code | Timer Management Code | 427–440 | 427 |
| Chapter-21-Initialization-Code | Initialization Code | 441–460 | 441 |
| Chapter-22-Job-Management-Code | Job Management Code | 461–492 | 461, 492 |
| Chapter-23-Debugger-Code | Debugger Code | 493–518 | 493 |
| Chapter-24-Selected-Device-Driver-Code | Selected Device Driver Code | 519–562 | 519 |
| Chapter-25-Keyboard-Code | Keyboard Code | 563–592 | 563 |
| Chapter-26-Video-Code | Video Code | 593–612 | 593 |
| Chapter-27-File-System-Code | File System Code | 613–682 | 613 |
| Chapter-28-DASM-A-32-Bit-Intel-Based-Assembler | DASM: A 32-Bit Intel-Based Assembler | 683–718 | 683, 684 |
| Chapter-29-CM32-A-32-Bit-C-Compiler | CM32: A 32-Bit C Compiler | 719–740 | 719 |
| Back-Matter | Index, publisher ads, CD-ROM installation and contents, back cover | 741–772 | 741, 764, 766, 769 |
Pages without text, all checked visually: each is a Part or chapter title plate, a blank verso, or a blank ad page, so no content is lost and no OCR is needed.
OCR caveats: The text is the scan's OCR, so expect broken spacing, character errors (e.g. l/I/1, () read as Q or O in function names), and garbled source listings. Diagrams inside text pages are images that the text layer does not capture. When a figure or a listing's exact characters matter, check that PDF page.
Powered by TurnKey Linux.