Forrest Y. Yu
My books:
(In this article, these books are referred to as The Books for short.)
The Books teach operating system implementation in the most practical way possible by showing and explaining the code of every phase in the development. The reader will see how a simplest boot sector expands into an operating system.
Most books on operating systems are strong on theory and weak on practice. Some books, Operating System: Design and Implementation[1] by A.S. Tanenbaum and A.S. Woodhull for instance, aims to provide a balance between the two. However, even this kind of books does not cover enough details, such as where to begin, how to setup a developing environment and how to debug. The codes of the systems are always available, but a reader will find it difficult to understand every single file because most modules and functions are interdependent. More than that, the books help very little for one who wants to develop his own operating system, because the chapters are not arranged for the convenience of practicing OS implementation, but for introducing an existing OS implementation.
The Books aim to help a reader develop his own operating system. Everything related to the OS DIY job is covered, such as writing a boot sector, loading a kernel, reading and writing the I/O ports, etc. Everything needed in the development including how to choose a compiler, how to debug when the system doesn't work as expected, and how to run the OS in an emulator, etc, is introduced. Some knowledge, often omitted by an OS book because it is considered out of the scope, is covered too, as long as it is needed for developing an OS. For example, IA protect mode is introduced in chapter 3, since IA-32 is chosen as the default platform.
The chapters in The Books are arranged chronologically. Each chapter is separated into phases. Following the chapters, one can develop a whole system step by step. Each step takes only a little effort so it is easy for the reader to do it by himself. For the reader's convenience, the contents of the CD-ROM are also arranged in chapters and phases. Every phase has its own folder, which contains all the results by the time the phase is finished. One can easily build and run it without having to know the code added later. When a reader is developing his own OS, he needs only to focus on the new features added to the current phase, regardless of the complexity of the whole system. When all these efforts accumulate, he will find a pretty good toy OS is such a mission possible.
The operating system introduced in The Books is an open source project. The code is hosted in Google Code. The official website is http://osfromscratch.org. The English version of the website is on construction.
The Books are top sellers of Broadview[2], the prominent and leading IT press in China. More than 50,000 copies have been sold in Mainland China and Taiwan.
| [1] | See here for more details about Operating System: Design and Implementation. |
| [2] | Broadview is a subsidiary of PHEI, the largest IT publishing company of China. |