Coder Social home page Coder Social logo

Macaron OS

Progress

Macaron OS

Features

Kernel

  • Higher Half Kernel
  • Keyboard, mouse, ATA, PCI and BGA drivers
  • VFS with Dev and Ext2 FileSystem support
  • Paging, physical and virtual memory managers
  • Userspace processes and threads

Userspace

  • Libc - At this moment contains Posix syscalls and malloc
  • Libsystem - Custom MacaronOS syscalls, logging and EventLoop
  • Libipc - Low level one to many connections sending bytes to each other
  • Tools/protocol_generator.py - Genrates a complex serializable messages what works on top of Libipc
  • System/WindowServer - Compositing window server for applications
  • Libgraphics - Android-like library for graphcis primitives
  • Libui - Android-like GUI library
  • Macaronlib - A library that's shared beetween userspace and kernel. Declares the system's ABI and contains STL-like templates

Build instructions

Get fuse-ext2 tools

MacOS

The building process is described here. Just follow the top answer.

Linux

apt install fuseext2

Get Ext2 formatter

MacOS

brew install e2fsprogs

Linux

apt install e2fsprogs

Get qemu

MacOS

brew install qemu

But the best option for mac is to build it yourself. More info here.

Linux

apt install qemu-system-i386 qemu-utils

Get a crosscompiler:

MacOS

brew install i686-elf-gcc

Linux

./Scripts/i686-elf-tools.sh

Get NASM

MacOS

brew install nasm

Linux

apt install nasm

Macabuilder is a build system developed to simplify Macaron OS building process. You can find build instructions here.

Run Macaron OS

After everything's set up, just launch Macabuilder executable from the root project directory. It will find MacaronOS.maca file, build and run MacaronOS.

macaronos's Projects

macabuilder icon macabuilder

Simple and efficient build system primarily oriented on C and C++ mixed with Assembly with good attention on low level details and configurability.

macaron icon macaron

A sweet hobby made operating system written in C++ for x86 CPUs with GUI

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.