-
Notifications
You must be signed in to change notification settings - Fork 31
Closed
Labels
arch: noneAffects common code across architecturesAffects common code across architecturesarch: x86Affects the x86 portAffects the x86 portenhancementNew feature or requestNew feature or request
Milestone
Description
We'll need a rudimentary cooperative multitasking system that presents an interface to a program, allowing it to have its state stored, relinquish control to another task. When control is returned to the task in the future, its state should be restored.
Control could be relinquished by sending an interrupt since the interrupt handling system already does a lot of the work of saving the CPU state, and this would lay the foundation for a more advanced multitasking and scheduling system, where all task transitions occur via syscalls and timer interrupts.
Preemptive scheduling with a timer interrupt should probably be done in a separate issue.
Depends on #36 if interrupts are the only way for a program to relinquish control.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
arch: noneAffects common code across architecturesAffects common code across architecturesarch: x86Affects the x86 portAffects the x86 portenhancementNew feature or requestNew feature or request