Night Kernel

Author
mercury0x000d
Project active since
Language
Assembler
Kernel type
Microkernel
Platforms
IA-32
User interface
Console
License
GNU GPL v3.0

The Night kernel is a 32-bit drop-in replacement for the original 16-bit kernel of the FreeDOS operating system. As such, it consists of a single file, kernel.sys, which will include the basic microkernel, task scheduler, and a 32-bit port of the DOS API to be developed by consulting the existing C source code of the FreeDOS kernel and duplicating its algorithmic logic in Assembly. Until this API rewrite is completed, Night will attempt to use an actual copy of the FreeDOS kernel for every traditional DOS app launched so that, as far as each is concerned, it is the only application on the system. Once a 32-bit reimplementation of the DOS API is complete, a 16-bit interface will be set up so that traditional DOS applications can access it via the typical interrupt call system. To achieve maximum performance, Assembly is used for the kernel itself, the DOS API, and a small handful of generic drivers, though applications and external drivers may be written in whatever language the author prefers.

Night is designed to boot directly on an x86 CPU without assistance from any outside software or emulator and, by the same token, it uses no software emulation to run applications. Instead, multitasking is handled in hardware using the facilities provided within the CPU itself to maintain multiple separate address spaces in which applications can run, giving the typical user full compatibility with their traditional DOS applications as well as new protected mode abilities such as task switching between applications, protected memory and increased overall performance.

No image available

Add new comment