A complete operating system is obvisouly made of many parts.
Here are the actual projects which are currently beeing developed.


Memory allocator

XEOS allocates physical memory using a buddy memory allocator.
It will use virtual memory management and memory paging to manage memory for processes, including the kernel's own memory.
Memory management is actually the project with the highest priority.

Scheduler

While XEOS currently doesn't have other processes besides the kernel, a scheduler will be needed soon.
It will use a preemptive scheduler to run processes and threads on available processor cores.

C99 library

Whenever possible, XEOS tries to use C as a main language, for maximum compatibility.
A complete C99 standard library is currently beeing developped from scratch.
While processes will obvisouly use it, the XEOS kernel will also rely on it, to keep its code base clean and coherent.

ACPI

ACPI stands for «Advanced Configuration and Power Interface». It's an open standard for device configuration and power management, co-developed by Hewlett-Packard, Intel, Microsoft, Phoenix, and Toshiba.
XEOS aims to be fully compatible with the ACPI specification, and will therefore integrate the ACPI Component Architecture (ACPICA) project.

Filesystem

The XEOS kernel is actually loaded from a FAT-12 floppy drive, but it will obviously need to implement support for modern filesystems.
At the current development stage, ISO-9660, UFS and EXT-2 are considered.

POSIX/SUS2

While not a priority yet, XEOS aims to POSIX/SUS2 compatibility. All kernel interfaces and sub-projects are currently developed with those standards in mind.

EFI boot

XEOS boots from BIOS-compatible systems.
In order to support modern architectures, an EFI-compatible bootloader needs to be developped.

ARM support

XEOS is compatible with the x86 and x86_64 CPU architectures (Intel, AMD).
While clearly not a priority, support for other CPU architectures, especially ARM, is considered.