Introduction - If you have any usage issues, please Google them yourself
My Mini operating system source code
Already implemented features:
Phase 1:
1 BootSect
2 Kernel Loader (has entered the protected mode, and the necessary parameters to the Kernel)
3 Kernel (open page storage, a simple physical memory management, interrupt provides a basic set of interfaces, using Bget created a simple heap)
Phase 2:
An optimized part of the code, including kernel stack, kernel stack of re-arrangement
2 Initializes a TSS, to deal with privilege level change
3 to GDT from the previous KernelLoader space to their own space
4 introduces the concept of the process (using two-way linked list to manage)
5 to achieve the first Ring3 process (but at the moment IF position 0, they will not respond to the clock interrupt)
Stage 3:
1 Now the system has two processes
2 Turn the clock interrupt, the process scheduling
3, each process now has two stacks (Ring3 stack, Ring0 kernel stack), the interrupt handler also has its own kernel stack, this way, no ma