The process of making an operating system by yourself will be used. The reading process will be Chineseized while executing the source code and writing code based on some related content. Everyone is welcome to communicate.
Run the method, create a new run folder in tolset , copy the code, and then run it according to the system version !cons_**.bat .
Generally, make run run code is used, and make run_full starts using make run_full on 27 days. You can read the book directly. Or, copy z_tools目录in tolset to the 30dayMakeOS directory of this project.

At the beginning, we must first consider how to write a "program that can be run with just one power-on". This part is a bit difficult to write in C language, so it is mainly written in assembly language.
After this step is completed, the next step is to write a program that reads the operating system from disk. At this time, even if the computer is turned on, it will not automatically read all the operating system. It can only read the first 512 bytes of content on the disk, so we have to write the remaining part of the loader. This program must also be written in assembly language.
Once this step is completed, future programs can be written in C language. We will use C language as soon as possible to learn and develop programs that display screens. At the same time, we can gradually become familiar with C language grammar. At this time, we seem to be doing what we want to do, but in fact we are not free to manipulate C language yet.
Next, in order to realize the ambition of "mobile mouse", we need to make detailed settings on the CPU and master the way to write interrupt handlers. Overall, this part is a very high-level part, and I also think it is inappropriate to put it here, but from the perspective of the book, these contents must be put here, so I have to ask everyone to be patient. Here, the CPU specifications and the complex computer specifications will bring us all kinds of troubles. Moreover, the development languages include both C and assembly languages, which has caused us even greater confusion. At this time, we don’t think that we are doing what we want to do at all. No matter how we look at it, it seems like we are “at the mercy of others”.
After this painful period, the first week is over.
A week of hard battles is still very meaningful. When we look back, we will find that we have achieved a lot. At this time, we have basically mastered the grammar of C, and even the level of assembly language can meet the requirements of this book.
So now we can start developing a decent operating system. But this time we have a headache about the algorithm again. Even if you master the syntax of programming languages, if you don’t know good algorithms, you still cannot develop the operating system you want.
So this week we will slowly develop the operating system while learning algorithms. However, at this stage, we can feel that we will basically no longer be restricted by technical problems.
Now our technology is already quite powerful and we can develop our own operating system as we like. First, you need to support multitasking, then develop command line windows, and then you can start developing applications.
By the end of this week, even if it is not complete enough, we can come up with a software that can be called an operating system.
At this stage, we can add various functions to the operating system to the fullest, and at the same time we can develop a large number of decent applications.
We have been able to do a good job at this stage, and this may also be the happiest period for us. There is very little to explain in this part, so I don’t have to take the painstaking effort to write those texts and explain them. I can focus all my energy on programming (laughs).
By the way, when we talk about text, we remember that it is just during this period that our operating system can display text.
The remaining two days are used for polishing and processing. These two days we did some content that we didn’t have time to do before, but was both simple and interesting.