BareMetal OS - For a lean, mean, processing machine

DfgDfg Admin
edited June 2011 in Tech & Games
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


Download

Info

Can't really use this but it's a great platform for trying different things.

Comments

Sign In or Register to comment.