NASM - The Netwide Assembler

NASM Forum => Example Code => Topic started by: ReturnInfinity on July 08, 2010, 07:35:08 PM

Title: BareMetal OS
Post by: ReturnInfinity on July 08, 2010, 07:35:08 PM
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.5.0 call for PCI access, a more feature-rich C/C++ library for applications, and network support via raw Ethernet frames.

BareMetal OS is an open-source project and the code can be viewed here:

Our website is here:
Title: Re: BareMetal OS
Post by: Phopojijo on July 10, 2010, 01:27:21 AM
Looks nice... though I predict somewhat problems with memory access bugs like to be expected with all new OSes. Gentlemen, start your mallets.

Just a question, what's your license? I see nothing claiming an official license agreement in your website except for the word "proprietary" for the 64-bit software loader and a generic blanket "open source" elsewhere.
Title: Re: BareMetal OS
Post by: ReturnInfinity on July 12, 2010, 02:48:30 PM
The OS is open-source under the 3-clause (new) BSD license.

Pure64 (the loader) is closed source. Pure64 gets the computer into 64-bit mode, starts all available CPU cores in the system, and then loads the OS. Once the OS is loaded Pure64 is no longer required.