Regarding Kernel Architecture
Posted: Sun May 02, 2004 11:00 pm
Ok guys, I need your advice.
As some of you know, I'm developing a forth-based exokernel-ish customisable kernel based on the idea of making the kernel itself a simple forth-like stack language interpreter.
The issue that has now come to my mind is whether I should or shouldn't proceed with this plan or to instead switch to on-the-fly compilation and make all device/hw abstraction a matter of generic programming and objects. I will probably switch to on-the-fly compilation because that simplifies the whole design of the heart of the kernel itself.
So can anyone here tell me or warn me why I should not abstract all of my device drivers into objects with a more or less similar interface? I thinking of something like stream objects or a universal device filesystem in order to be able to abstract everything unto utter simplicity so that even a dumbass like me can write good generic and reusable code... So do you guys know any problems with an approach like this? Comments are greatly appreciated...
Furthermore do you guys know if I can expect some unknown difficulties when making OO-like interfaces with assembler? I know that the performance may drop a little but thats not a problem if it drops only a little because of extra address calculation because of indirect references...
- Esa
As some of you know, I'm developing a forth-based exokernel-ish customisable kernel based on the idea of making the kernel itself a simple forth-like stack language interpreter.
The issue that has now come to my mind is whether I should or shouldn't proceed with this plan or to instead switch to on-the-fly compilation and make all device/hw abstraction a matter of generic programming and objects. I will probably switch to on-the-fly compilation because that simplifies the whole design of the heart of the kernel itself.
So can anyone here tell me or warn me why I should not abstract all of my device drivers into objects with a more or less similar interface? I thinking of something like stream objects or a universal device filesystem in order to be able to abstract everything unto utter simplicity so that even a dumbass like me can write good generic and reusable code... So do you guys know any problems with an approach like this? Comments are greatly appreciated...
Furthermore do you guys know if I can expect some unknown difficulties when making OO-like interfaces with assembler? I know that the performance may drop a little but thats not a problem if it drops only a little because of extra address calculation because of indirect references...
- Esa