Sandbox:OpenKernel
This article is subject to further change and upheavals. Revision 1.
OpenKernel (shortly` ONT, OK, longer` OpenXP Kernel) is a new, upcoming sub-project of OpenXP, intended to gradually replace Windows NT kernel provided in Windows Server 2003 source code tree. In difference of ReactOS, OpenKernel will be intended for more stability, reliability and optimized behavior, in order to be flexible and expandable in modern terms of operating system development.
Description
OpenKernel is an inspiration of combining original NT kernel with Microsoft's MinWin project, which is the partial refactor of the first one. Also huge accent will be placed into Linux principles of kernel development, because NT structure is itself great and promising, therefore rewrite of NT kernel is need, to turn NT into a really portable system. The architectural differences in contrary of NT Kernel are following:
- All functionalities into one kernel, instead of multiple ones: this allows to reduce amount of produced binaries, and provide single in-replacement file for
ntoskrnl.exe
,ntkrnlmp.exe
and it's siblings, which differ from each other with enabled code of processor-specific features (e.g. PAE extension support or config for multi-processors), - Ability to support multiple boot loaders: support will go beyond NTLDR and BOOTMGR, and will include open-source solutions such as GRUB, and will introduce special API to add support for third-party boot loaders, even self-made ones,
- Less architecture-specific code: instead kernel should also provide HAL-different API for separate architectures, in order to expand/fix architecture-specific culprits, which may be brought up during kernel development,
- Open Source with GPL license: this kernel will be available for everyone for free and navigated development, and will be expandable for everyone who wants to master OpenKernel.
Components
Since OpenKernel is planned to be expandable even beyond OpenXP, these following mini-projects will be planned for beyond:
- Unique replacement for MSVCRT, which includes latest C/C++ specifications and features, and will contain lightweight implementations,
- Enhanced boot loader from 0, like NTLDR but on steroids. Will be shipped as an illustration of boot loader expandable APIs of OpenKernel in action,
- New HAL architecture, which will support both legacy and proprietary HALs, and will allow everyone to write custom HAL for custom hardware.