task exit in microkernel environment...
Posted: Wed Nov 12, 2003 1:27 am
... isn't fun at all. Ad maybe I am getting things wrong. How do you guys handle this issue?
I am doing it the following way:
at the beginning: eventually close present windows in the gui environment. close present pipes. continue.
1. send the MM-Server a message: Hey, I wanna quit!
2. MM-Server sends a message to system: remove the schedule-data(the kernel process structure) of this process.
3. system replies either whether the deletion is ok or not. any system processes shan't be removed. it also removes the process structure.
4. In case OK, mm-server sends a message to mm-driver (the paging daemon), which slips into the adress space of the process to delete and removes all the pages as well as the pagetables and the page directory. Message to mm-server: operation done/not done. - this part has to be fleshed out. It is very rough atm.
5.mm-server removes all memory related information about the deleted process from its lists.
6. for future: have the file system server remove all process related information (file handles especially, and flush data written by the process to disk)
that should do the job i think. It doesn't do. The keyboard becomes inoperable when quitting a process. Moving window boxes as well as the mouse (in gui environment) is present, but no one of the two remaining processes reacts to the keyboard. it is not a nice thing.
Well, let's see, how it continue, this special evolution. Forking off processes at will is operable. killing them is a problem at the moment, but that shall not hinder me.
Thank's for feedback
stay safe )
I am doing it the following way:
at the beginning: eventually close present windows in the gui environment. close present pipes. continue.
1. send the MM-Server a message: Hey, I wanna quit!
2. MM-Server sends a message to system: remove the schedule-data(the kernel process structure) of this process.
3. system replies either whether the deletion is ok or not. any system processes shan't be removed. it also removes the process structure.
4. In case OK, mm-server sends a message to mm-driver (the paging daemon), which slips into the adress space of the process to delete and removes all the pages as well as the pagetables and the page directory. Message to mm-server: operation done/not done. - this part has to be fleshed out. It is very rough atm.
5.mm-server removes all memory related information about the deleted process from its lists.
6. for future: have the file system server remove all process related information (file handles especially, and flush data written by the process to disk)
that should do the job i think. It doesn't do. The keyboard becomes inoperable when quitting a process. Moving window boxes as well as the mouse (in gui environment) is present, but no one of the two remaining processes reacts to the keyboard. it is not a nice thing.
Well, let's see, how it continue, this special evolution. Forking off processes at will is operable. killing them is a problem at the moment, but that shall not hinder me.
Thank's for feedback
stay safe )