BareMetal is a 64-bit OS for x86-64 based computers. The OS is written entirely in Assembly, while applications can be written in Assembly or C/C++. Development of the Operating System is guided by its 3 target segments:
- High Performance Computing - Act as the base OS for a HPC cluster node. Running advanced computation workloads is ideal for a mono-tasking Operating System.
- Embedded Applications - Provide a platform for embedded applications running on commodity x86-64 hardware.
- Education - Provide an environment for learning and experimenting with programming in x86-64 Assembly as well as Operating System fundamentals.
BareMetal boots via Pure64 and has a command line interface with the ability to load programs/data from a hard drive. Current plans for v0.6.0 call for a more feature-rich C/C++ library for applications, DMA support for Hard Drives, Basic TCP/IP support, as well as general bug fixes and optimizations. The creation of BareMetal was inspired by MikeOS - A 16-bit OS written in Assembly used as a learning tool to show how simple Operating Systems work.
Core Features- Written in pure Assembly language for x86-64 based computers.
- Over 70 integrated functions to deal with keyboard input, screen output, files, networking, memory, strings, math, multi-processing, etc.
- Ethernet support with the Realtek 8169 and Intel 8254x chipsets
- Read/Write support for FAT16
Multi-processor enabled- System calls are provided for delegation of tasks to different processors.
- Scalable up to 128 64-bit processors
Network enabled- System calls are provided for sending and receiving packets via Ethernet.
- Ring buffer that automatically stores received packets in memory.
Requirements- An Intel/AMD-based 64-bit computer
- Memory requirements are based on the number of cores in the computer. The OS itself uses 2 MiB as well as each core gets its own 2 MiB stack. A dual core computer would need at least 6 MiB (2 x 2 + 2). A quad core, 10 MiB.
- 32 MiB Hard drive minimum
- YASM to compile the source code
DownloadInfo
Can't really use this but it's a great platform for trying different things.
Comments
It's supposed to be a ressurection of the old BeOS, I couldn't get into the GUI though...