Skip to content
Ian Seyler edited this page Aug 10, 2024 · 5 revisions

What does it run on?

Any 64-bit AMD or Intel system. Virtualized systems as well. An ARM and/or RISC-V rewrite would be considered once hardware is standardized.

What is it written in?

The system loader, kernel, and drivers are written in Assembly. The applications are currently written in Assembly or C.

Why Assembly?

The BareMetal kernel is, essentially, just a hardware abstraction layer. As it is targeting a specific CPU architecture (and its companion components), it makes sense to write code explicitly for that architecture. A higher level language (C, C++, Rust, etc) would be more suited to a kernel that does a lot more (memory allocation, multitasking, file systems, etc). Drivers for devices like network and storage are easy enough to rewrite for another architecture.

Can it run multiple applications concurrently?

No. BareMetal OS is a mono-tasking system. Only a single running application is supported. However, that application can make use of all the system CPUs.

Can I run Doom on BareMetal?

Soon, hopefully.

Clone this wiki locally