management of processes
Posted: Sun Apr 06, 2003 7:30 am
Well, here I am again to report about my forthcoming with os development:
I am about to implement dynamic selfreferring data structures such as circular lists and queues to handle the management of the different queues and lists in process management module.
So far, I have two queues for runnable processes: round robin and realtime. Round robin processes are moved round the queue as long as they are runnable. realtime processes are put onto the realtime-queue, taken away from there to do their job and then are moved to the blocked/sleeping queue.
This is because I think, realtime processes are to do short, quick jobs as handling hard disk, mouse, tty-consoles and so forth. Keyboard handling and virtual consoles on local computer are handled by a special layer in the kernel thing. Real time processes don't have to sit on ressources eternally. they don't have to perform lengty calculations. They do their job and then suspend til the next time they are requested.
these queues get input from their rear. elements are taken from the front of the queues, so one process after another is given to the processor.
I have to implement functions like suspend(), sleep(),... which abstract queue operations.
Now I am about to think about implementng the list for sleeping/blocking processes. I think I will extend my queue functions with three functions: pick_element(key),delete_element(key).
that's it for now.
stay safe
I am about to implement dynamic selfreferring data structures such as circular lists and queues to handle the management of the different queues and lists in process management module.
So far, I have two queues for runnable processes: round robin and realtime. Round robin processes are moved round the queue as long as they are runnable. realtime processes are put onto the realtime-queue, taken away from there to do their job and then are moved to the blocked/sleeping queue.
This is because I think, realtime processes are to do short, quick jobs as handling hard disk, mouse, tty-consoles and so forth. Keyboard handling and virtual consoles on local computer are handled by a special layer in the kernel thing. Real time processes don't have to sit on ressources eternally. they don't have to perform lengty calculations. They do their job and then suspend til the next time they are requested.
these queues get input from their rear. elements are taken from the front of the queues, so one process after another is given to the processor.
I have to implement functions like suspend(), sleep(),... which abstract queue operations.
Now I am about to think about implementng the list for sleeping/blocking processes. I think I will extend my queue functions with three functions: pick_element(key),delete_element(key).
that's it for now.
stay safe