Operating System Design Book Series

This page hosts the list of books within the Operating System Design Book Series by Benjamin David Lunt. There are currently eight books planned with six already published and one in development.  Please note that the names and count of volumes may change as the need arises or interests change. Please visit this page every so often to see the progress of this series.  Thank you.

Please also note that I write these books for my enjoyment, not for a living. I do this because I enjoy the process of the research, development, layout, and writing of these books. I also enjoy helping other people. Yes, I do make a slight (and I mean slight) profit from them, but this doesn't even pay for the time I spend returning emails from readers asking questions. I am grateful to help and am happy to and try to reply to every reader, but please don't expect the next greatest and wonderful book series from this. I do this for the purpose that it is an enjoyment for me, it takes me away from my real job, and above all, I hope that others learn from my work. I am grateful for all of the wonderful words many have sent in--and for those who sent not so nice words, I am still grateful, for no one can improve their work without learning from trial and error. So please, if you have comments, I would be very grateful to hear them, good or bad. When I release later versions of that book, I will surely try to include more information about a certain subject you ask for. Thank you. If you receive an error or do not receive a response from me at the 'fys [at] fysnet [dot] net' email address, please try 'benlunt [at] cableone [dot] net'.

This series of books is designed for the 32-bit x86 style platform, including Intel and AMD architectures using the Legacy BIOS. Future plans, either already in the works or planned for later releases, include 64-bit Long Mode and UEFI firmware machines. In book stores!System CoreVolume 1: The System Core: 2nd Edition: 2017 April 06 (320 pages)
  • Includes source and documentation for the boot process, BIOS information, moving to Protected Mode, memory allocation, a Round Robin style Single Tasking, Multi-threading Scheduler, as well as quirks and tweaks to the boot process.
  • This book will take you from the point you turn on the power to the point where you can start to call and execute tasks.
  • Includes complete assembly source code to a minimal functioning operating system, many utilities also including source code.
  • "Your Help" page.
In book stores!Virtual File SystemVolume 2: The Virtual File System: 1st Edition: 2014 April 15 (204 pages)
  • Includes documentation on how to call the underlining file system drivers without being dependant on that underlining file system. Shows details of a few popular file systems.
  • Includes source code and utilities to create file system images, for testing and learning the file system.
In book stores!Media DevicesVolume 3: Media Storage Devices: 1st Edition: 2015 June 01 (228 pages)
  • Includes documentation on how to communicate with the Floppy Disk Controller, the ATA(PI) IDE Hard Disk Controller, and the SATA(PI) Hard Disk Controller using the AHCI (HBA) interface.
  • Includes source code and utilities to show how to do this.
In book stores!Input Output DevicesVolume 4: Input and Output Devices: 1st Edition: 2016 May 01 (132 pages)
  • Includes documentation on how to detect, initialize, and communicate with the Parallel port, the Serial port, the PS/2 port(s), and a Bus Mouse Adapter Card, along with a keyboard and mouse.
  • Includes documentation on the popular Sound Blaster series audio controller.
  • Includes source code and utilities to show how to do this.
Volume 5: Misc System Services - Planned items to include:   - MSRs (Model Specific Registers)   - PCI IRQ Routing   - Processor Thermal Control   - System Management Mode - Current Status: - Research and Development. No estimated date available. In book stores!GUIVolume 6: The Graphical User Interface: 1st Edition: 2016 July 04 (148 pages)
  • Includes documentation on how to create a Graphical User Interface.
  • Includes documentation on how to draw to the VESA screen using numerous resolutions and color depths.
  • Includes detailed source code on how to do all of this and display windows, controls, buttons, mouse movement, etc..
  • Does not use a third party GUI or graphics program. Everything is done within the included source code. It is self contained.
Volume 7: The Network Interface - Current Status: - Working network driver for four well known NIC cards - Some work has been done on the common interface protocols - More Research and Development needed. No estimated date available. In book stores!USBVolume 8: The Universal Serial Bus: 3rd Edition: 2018 April 20 (700 pages)
  • This book contains information about all four USB controller types, how to detect them, and how to send and receive data using many of the most popular USB devices used.
  • Includes information on detecting the controller using the PCI(e) bus.
  • Includes detailed diagrams, figures, and tables on how to set up and start the USB schedule, send and receive data, detecting what type of device is attached, and reading/writing to most popular USB devices.
  • Includes detailed examples for devices such as Mice, Keyboards, Thumb Drives, USB Floppy Disk, USB Cameras, and other similar devices.
  • Includes details and examples for USB 3.0 devices.
  • "Your Help" page.
I can be contacted at fys [at] fysnet [dot] net.
Frequently Asked Questions:
  1. Q: What physical formats are available? A: Paperback and Amazon Kindle formats.
  2. Q: Do you offer help when your readers purchasing your books have questions? A: Absolutely. I fully support my work. When a reader has studied and worked at completing the task at hand, but just can seem to get it to work, I am always willing and ready to help the reader with any questions they may have.
  3. Q: Can I purchase direct from you with a check or credit card? A: No, not normally. The best way to purchase any of my books is through Amazon. This way you are guaranteed delivery, price, and if not completely satisfied, you should be able return for a refund. However, if you must, please contact me (email info to the left). Note this option is only available in the United States.
  4. Q: Does each book come with source code? A: Yes, however the CD-ROM is not included with the book at the time of purchase. The CD-ROM is available after purchase. Follow the instructions included in Appendix X of each book to receive the CD-ROM containing source code for that volume.
  5. Q: Does the CD-ROM cost extra? A: No. Once a valid proof of purchase is provided, instructions are given on how to download the CD-ROM .ISO image. This is free of charge. If the reader would like a physical CD-ROM disc mailed to them, the CD-ROM is free of charge, however there may be a shipping charge.
  6. Q: Must I purchase all previous numbered volumes to use or understand a volume greater than Volume 1? A: No. Each volume is a stand-alone book and requires little to no knowledge of a previous volume. A volume might reference a code listing of a previous volume, but that code listing will be included with this volume's CD-ROM.
  7. Q: Do I need to purchase any hardware or other devices to use your books? A: No. All work can and usually is done through a system emulator, with Bochs and QEMU being the two most referenced. However, it is always good to run on real hardware as well. With this in mind, I do not recommend you run on your flagship, aka, main development machine. I do recommend that you have an older, less expensive computer available for testing. A machine that is older and has expendable hardware included. This way, if you accidentally destroy something on it, it is not a big deal.
  8. Q: Is the source code a complete, ready to run Operating System? A: Yes and No. The source code given is the minimum given source code to show how to create a minimal Operating System. Yes, it will boot and run. However, it does very little. It is up to the reader, with detailed help from the books, to add to the source to create a working Operating System. Other source code is included as examples on how to complete a specific task.
  9. Q: What language is the source code? A: Depending on the subject of the Volume, mostly ANSI C and x86 Assembly. Volume 1 requires some x86 Assembly knowledge, containing Assembly source code. Along with that, Volume 1 and the remaining volumes are mostly ANSI C or C99 compatible.
  10. Q: Do I need to purchase or download a compiler? A: No purchase is necessary. All of the source code can be assembled/compiled with a freely downloadable assembler/compiler. Links to this assembler and compiler are given in Appendix B of each book, along with instructions on how to use them.
  11. Q: Do I need to know the C and Assembly languages already? A: Yes, but you do not need to be fluent in them. Explanation is in detail through-out the books. However, if you don't know anything about assembly, the computer's hardware, or the C language, you may not get anything out of these books at all. Some knowledge of computers and how they work is suggested, though not required.
  12. Q: Will you write source code to fix my particular problem or task at hand. A: No. As far as these books are concerned, and as far as your learning is concerned, I will not write source code for you. This is not how you learn. I will be happy to look over a little bit of your code, but will not write code for you.
  13. Q: Can I send you my source code and will you find the error? A: No. Again, I will not do your homework, so-to-speak. A good learning exercise is to find a way to narrow down the problem, finding the error using trial and error, until you have finally found the issue. Tools are created for just this purpose, and these tools are explained and/or included within the source code provided.
  14. Q: When will the remaining volumes be available? A: I write these books in my spare time, as a hobby, as an enjoyment. When time and interest allows, I work on updating existing volumes or completing other volumes. When I feel that a volume has reached a point for release, I will do so.
  15. Q: When will newer editions be released. A: When there is substantial changes and/or additions to an existing value, I will release a new edition.
  16. Q: Where can I get more information about these books? A: This page is the home for and first place to look for new information. After that, I have a blog and a Facebook page.
  17. Q: Where else can I get help on my Operating System Development needs? A: I frequent the OSDev Forum where you can ask questions and usually get a helpful response by myself or others within 24 hours.
  18. Q: What is the difference between Jan Axelson's book and your book? A: Her book explains quite well how to use the installed operating system and its functions (and additional libraries) to access the operating system's USB functionality, detailing the communication between the host and the device, but not how it actually gets sent and/or received through the host's installed hardware. My book explains how a (non-specific) operating system communicates with the attached hardware to pass the commands and data back-and-forth between the attached devices and the host operating system, those commands and data packets her book details. My book also explains the hardware side of the USB that is used to do this from the operating system's point of view, not from the user's point of view.
  19. Q: Are these books printed on paper from sustainably managed forests, e.g. with the FSC certification? A: Direct from the manufacturer: "Environmental consciousness is important to us as we continue to grow. Our ink is chlorine-free, and a Forest Stewardship Council-certified provider supplies our acid-free interior paper stock. While our laminated covers are considered a form of plastic, both our cream and white paper uses recycled materials. We maintain a commitment to recycling waste materials resulting from the printing process and from daily office operations. We will continue to review our practices to ensure we are doing our part to protect the environment."