Skip to content

OGOSDev/melomys

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Melomys OS

Melomys OS is an educational and hobby x86-64 operating system, designed not to be the fastest or the smallest, but to serve as a learning resource for newcomers and a point of reference for more experienced developers.

Features

  • Memory Management and Paging
  • Symmetric Multiprocessing (SMP)
  • ACPI Parsing (RSDP/XSDT, MADT)
  • Local APIC
  • HPET Initialization
  • GDT and IDT
  • Linear Framebuffer Graphics

Build Instructions

Prerequisites

Before building Melomys OS, you need a few basic tools to assemble code and package a UEFI-compliant ISO:

  • NASM (assembler)
  • QEMU (emulator)
  • xorriso and mtools (for creating EFI system partitions and iso)
  • git (to clone repo)

On arch linux:

sudo pacman -S git nasm qemu-desktop xorriso mtools

On debian, ubuntu or linux mint:

sudo apt update
sudo apt install git nasm qemu-system-x86 xorriso mtools

Clone the Repository

Clone the project to your local machine and enter the folder:

git clone https://github.com/OGOSDev/melomys.git
cd melomys

Building and Running

  • To build and run the OS:
make all
  • To build only :
make build
  • To run an existing iso:
make run
  • To clean all generated binaries:
make clean

Questions

What makes Melomys OS different from other operating systems?

Melomys OS is primarily for learning. Every single chunk/line of code is explained in detail with heavily commented. The goal is make it everything clear that you don't have to ask LLM and use your brain for once.

Is it worth making an OS in assembly?

No. modern compilers and languages handle most tasks more efficiently and safely than handwritten assembly. More on doc.

Why use assembly at all?

Learning assembly gives you a better understanding of how computers work. This knowledge makes it easier to work with mid and higher level languages and the understanding you gain are valuable for any developer, not just those writing lowlevel code.

Can I use this OS for real-world applications?

Not really(at least for now). Melomys OS is an educational project designed to demonstrate low level concepts, but it is far from being a fully usable operating system.

How does this help me learn OS development?

By reading the heavily commented source and experimenting with the code, you will gain practical understanding of UEFI, 64 bit kernels, paging, SMP and hardware initialization all concepts that most tutorials skip or oversimplify.

Do you continue developing it?

Yes

Any future ideas?

The goal is to take Melomys OS to the next level of being a full OS. While I can't list all planned features right now, I aim to continue the documentation that I paused earlier explaining the system as if developing it from scratch, to make it clear and understandable for everyone.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published