FYSOS: The System Core
Benjamin David Lunt
Available here, Amazon, Kindle (1st Ed. only), and most online book sources
Volume One of a series of books on Operating System Design
Please go to the bottom of this page and write a review. Thank you.
The 2nd Edition is now available. See this .pdf for what's new
View the Errata, 1st Ed. (22 July 2016)
See below for customer comments
This book is for those who are building an operating system, or want to start building one. This book takes you from the first step to the last step to create a minimal multi-threading protected mode OS with a round-robin style task scheduler, memory allocator, etc., as well as retrieving all the information you will need before the switch to protected mode.
This book is for those who want to start but have no idea where or how to do so. Full source code is included as well as many utilities, all with source, to build your system.
It is designed so that once you have this minimal system up and running, you can then start adding all of the items you need to make it a fully functional operating system. Part 2 contains an example of a more detailed memory allocator, just an example on how to add to this operating system.
Chapter 11 gives an example of creating the link between the kernel and the devices and file systems attached. The remaining books in this series explains in more detail these devices.
Information in the book or on the CD-ROM may include
• The Boot Process. How and where your code starts.
• Partitioning a hard drive. You have full control of the media.
• Details and/or C Source code to:
• A20 line
• BIOS services
• Booting from CD-ROM's
• Detecting available memory
• Quirks of the boot process
• Memory Paging
• Legacy Hardware: RTC, PIT, PIC
• Newer Hardware: APIC, ACPI, HPET
• Multiprocessor detection
• UEFI BIOS and booting with this new interface
Suggested information you will need prior to reading this book are readily available:
• All Specifications needed are linked within the book and freely available on-line.
• You will need moderate knowledge of Assembly Language programming
• along with other system related knowledge
It is not required that you have extensive knowledge of Operating System Development. This book explains in detail how to get started, even if you have little or no knowledge of OS Development.
Amazon now has a "Look Inside" of the first few pages of the book including the Contents showing in a bit more detail what is referenced in the book.
Please note that the Kindle version is still at the first Edition and may or may not be updated to the latest edition. Only the printed form is current. If I get enough interest from you to update the Kindle version, I will.
The Companion CD-ROM
The companion CD-ROM will not be available with the purchase of the book via book outlets and online shopping.
However, with any form of proof of purchase, the CD-ROM can be sent to you as an .ISO image via email, or sent as a CD-ROM via USPS. (A small postage fee may be applied).
I can be contacted at fys [at] fysnet [dot] net.
 A proof of purchase would consist of, but not limited to:
- Confirmation email from seller, copied/pasted to a request email to the address
- Image of a register receipt sent as an attachment to the address above
- Randomly chosen chapter/page/paragraph/sentence-within-that-paragraph
combination (chosen by you)
I am just trying "to keep the honest honest". You know, once you have the book, I will send you the ISO. I don't question whether you have it or not. :-)
Table of Contents
1. The System Core Overview
2. The Boot Process
3. Our Enhanced Master Boot Record
4. UEFI GUID Partition Tables
5. Our Booted Partition
6. Kernel Descriptors
7. The A20 Line
8. Finish the Loader
9. The Kernel
10. Putting it all Together
11. Where to Go From Here
12. The Paging Manager
13. The FYSOS Memory Allocator
14. The UEFI System BIOS
15. The Real Time Clock
16. The Programmable Interval Timer
17. The Programmable Interrupt Controller
18. The Multi-processor Specification
19. Advanced Configuration and Power Interface
20. The Advanced Programmable Interrupt Controller
21. The High Precision Event Timer
Appendix A - Disc Contents
Appendix B - Included Utilities/Source Code
Appendix C - Tables and Figures
Appendix D - NEC MS-DOS 3.30 MBR's
Appendix E - Partition Identification Types
Appendix F - Finding the Boot Device
Appendix G - Processor Exceptions/Interrupts
Appendix H - Trusted Computing
Appendix I - Booting CD-ROM's
Appendix J - Segmented Addressing
Appendix K - The CPUID Instruction and MSR's
Appendix X - For More Information
A more detailed Table of Contents (pdf), stripped directly out of the book.
- "I have just started on System Core and what I have read so far has really been informative and awesome", Sanjay
- Thank you for this book! It's very nice to know someone has written a book on how to build OSs. I'm passionate about the matter and I play with low level stuff like that every day", Fabrizio Curcio
- "A must read for anyone interested in Hobby OS's", Michael Tindal
- "I am really looking forward to start learning from your books, and am waiting for the release of the next one from the series. Thank you very much!", Seng
- "Can't wait to get deep into these. Thanks for publishing this series. The font and pageing formats are AWESOME.", Daniel de la Rosa
- "I enjoyed reading your OS books", Kenneth J. Davis
- "I am enjoying the book", Paul D. Cotts
- "I have just received your books, which kept my attention as I am also wanting to write an os", Filipe Fonseca
- "I recently purchased two of your books. They are incredible, I've loved them so far!", Russell Coleman