~ wrote:
...
i am the opposite. i dont care about the kernel, or the newer technical aspects of a complex platform.
in my os, the 40-45% of code belongs to the parts of the gui management, and another 40-45% of the code is actually the c compiler alone. the rest of the code consists the kernel and server-side of syscalls, hardware management, pcb, thread/process handling.
i think if someone does an os, and alreday having a working gui, kernel, file system and memory managemet, etc, and suddenly having a month of spare time, should do a good word processor or table sheet software for it, and should not start to redesign the kernel.
i personally dont think if it is a good idea to make kernel alone, as an individual unit. i dont agree with nowdays popular os-dev convention that separates the gui, the base api-s, and the kernel, as it results incohesive design, version-incompatible slow and bloatwareish resuts.
i think an operating system is more like a game console glued together with an office word processor environment and a cohesive gui. the kernel is unsignificant, and should not even be a separable focal point of an operating system.
on extremely complex imperialistic platforms, like arm, where you need tens of tousands of code lines to even have a pixel written on the screen (or millions if you want to support multiple devices), of course you need an extremely complex and separated kernel.... but only because you cant do it other ways, and not because its a better concepcion.
i very look down the platforms arm and x86 (and the other somewhat popular platforms of nowdays) and i will not do a complex kernel just because 200000 people were unable to do a proper cpu with 30 years of work.
summary, if the hardware guys doing some seriously flawed ****, its they job to fix, and not mine (as a programmer). if they refuse it, then new platform will overtake - just as x86 died and arm overtaken its markets, the arm will just as unexpectedly and rapidly die, and a new platform will overtake its positions too. from this standpoint, however, it could be a nice idea to have a separable kernel, which you can rewrite from platforms to platforms, and just put it in as a drop-in replacement, and then the gui code can be prety much unchanged, but you maybe just still have a better ride with ifdefs and a passively working function that polls the hardware calls on demand.