Real mode Multitasking Design
Posted: Fri Aug 17, 2012 10:35 pm
As you all know, there is no CPU feature for multitasking in real mode. Using a timer, or Cooperative multitasking (Your program model is a loop, with a call at the end to the task switcher) this can be accomplished. After completing writing my disk system, i had thought up how i would get my own version to work.
My Last OS project had a simple process model. So i wanted something a little more interesting.
So i decided something like this..
The kernel process is its own tasking model, cooperatively multitasking through drivers as if they are processes along with the kernel itself. Since cooperative, each driver will have to have a program loop.
From the timer, it preemptively multitasks, running the kernel and many other programs.
What do you all think of this design, any comments, or additions are welcomed.
Edit: if the image confuses you in anyway, I am willing to draw something more clear.
If you can't read, i'm afraid i can't help you with that.
My Last OS project had a simple process model. So i wanted something a little more interesting.
So i decided something like this..
The kernel process is its own tasking model, cooperatively multitasking through drivers as if they are processes along with the kernel itself. Since cooperative, each driver will have to have a program loop.
From the timer, it preemptively multitasks, running the kernel and many other programs.
What do you all think of this design, any comments, or additions are welcomed.
Edit: if the image confuses you in anyway, I am willing to draw something more clear.
If you can't read, i'm afraid i can't help you with that.