Drew Devault presented his new project – micro -icido Helios . In the current form, the project is at the initial stage of development and so far supports only demonstration loading on systems with architecture X86_64. And further they plan to implement support for ISCV64 and Aarch64 architectures. The project code is written in the HARE system programming language with assembler inserts and spreads under the GPLV3 license. To familiarize yourself with the development state, the test was prepared ISO-image (1 MB).
Helios architecture is built with an eye on the concept
SEL4, in which the components for managing the nucleus resources are put into the user’s space and the same means of delimitation of access are used for them, as well as for user resources. Micro -gently provides minimal mechanisms for managing access to the physical address space, interruptions and processor resources, and high -level abstraction drivers for interaction with equipment are implemented separately on top of the micro -re -in the form of tasks performed at the user level.
Helios uses a model of access to access based on “ capability “. The nucleus provides primitives to highlight memory pages, reflect physical memory in the address space, control tasks and process appeals to the ports of hardware devices. In addition to core services, such as virtual memory management, the project also prepared drivers for the console to work through the sequential port and the BIOS VGA API. At the next stage of the development of the nucleus, supplanting mnoproatism, IPC, PCI, exception processing, analysis of the ACPI tables and interrupt handlers working in the user space. In a more distant perspective, it is planned to implement support for SMP, Immu and VT-X.
As for the user space, the development of low -level services and the Mercury system manager, compatibility with Posix (LUNA), collection of Venus drivers, encirclement for GAIA and framework for testing the Vulcan nucleus. The development is carried out with an eye on the use of real equipment – at the initial stage it is planned to create ThinkPad drivers, including drivers for GPU Intel HD, HD Audio and Intel Gigabit Ethernet. After that, the appearance of drivers for the GPU AMD and Raspberry Pi.