Higher Half Kernel With GDT
Posted: Wed Sep 09, 2009 3:44 pm
Until now i developed my kernel as a 'first half' kernel. But most important systems like for example linux use an higher half kernel. And, if i understand, they use this solution to map the kernel in each process.
I've tried to make (using the tutorial) my kernel higher half with the GDT trick. Now of course i must rewrite my physics memory allocator or i have to modify it to make it run.
But now, if i use a kernel mapped 1:1, when a process must do a system call, for example, is't it easier to disable the paging? the kernel is mapped 1:1, and it can generate the physic address using the page directory of the process, if it is need. And, of course, it can access to all memory because the paging is disable. And also a process can use all the 4GB of address and it isn't limited by the kernel.
I think that there are some other good reason to do this (the higher half kernel) but for the moment i can't see them.
Maybe i wrong to buy the Silberschatz book, but there isn't nothing about higher half kernel and something similar. i also hope that you can understand what i mean in this post..
Thank's for the answer!!
I've tried to make (using the tutorial) my kernel higher half with the GDT trick. Now of course i must rewrite my physics memory allocator or i have to modify it to make it run.
But now, if i use a kernel mapped 1:1, when a process must do a system call, for example, is't it easier to disable the paging? the kernel is mapped 1:1, and it can generate the physic address using the page directory of the process, if it is need. And, of course, it can access to all memory because the paging is disable. And also a process can use all the 4GB of address and it isn't limited by the kernel.
I think that there are some other good reason to do this (the higher half kernel) but for the moment i can't see them.
Maybe i wrong to buy the Silberschatz book, but there isn't nothing about higher half kernel and something similar. i also hope that you can understand what i mean in this post..
Thank's for the answer!!