forked from xomboverlord/xomb
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
The Kernel now executes and jumps to userspace for a single application.
Which makes it now... a kernel! Happy Programmer's Day. An Environment contains the code used to execute the application. The Scheduler picks a new environment to execute. There is some architecture specific context information that is called naively a PageTable. The Loader creates an environment by asking the scheduler for a context and then it allocates space for the code and copies it there. It then reports to the Environment where it lives and where the entry point is. The Environment will then set up the initial context. The Kernel will run the environment by jumping to the entry point with an iret. It uses interrupts (iretq) to jump to userspace. Only interrupts can preempt the application. System calls are non-blocking (and not functional as of yet). Signed-off-by: James Larkby-Lahet <transmethyl@gmail.com>
- Loading branch information
Showing
19 changed files
with
754 additions
and
188 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.