Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/MarcoCicognani/MeetixOS
An hobby OS written in modern C++20 which aims to be Unix-like. Currently based on EvangelionNG, a GhostOS derived kernel
https://github.com/MarcoCicognani/MeetixOS
32-bit c11 cpp cpp20 gcc-complier ghost-kernel gnu gnu-binutils graphical gui hobby hobby-os kernel linux opensource operating-system osdev unix x86
Last synced: 2 months ago
JSON representation
An hobby OS written in modern C++20 which aims to be Unix-like. Currently based on EvangelionNG, a GhostOS derived kernel
- Host: GitHub
- URL: https://github.com/MarcoCicognani/MeetixOS
- Owner: MarcoCicognani
- License: gpl-3.0
- Created: 2016-08-10T12:18:33.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2023-04-24T17:07:00.000Z (about 1 year ago)
- Last Synced: 2024-01-25T06:38:14.729Z (5 months ago)
- Topics: 32-bit, c11, cpp, cpp20, gcc-complier, ghost-kernel, gnu, gnu-binutils, graphical, gui, hobby, hobby-os, kernel, linux, opensource, operating-system, osdev, unix, x86
- Language: C++
- Homepage: https://www.meetixos.org
- Size: 22.6 MB
- Stars: 186
- Watchers: 10
- Forks: 9
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Lists
- awesome-os - MeetixOS - A hobby OS written in modern C++20 which aims to be Unix-like. (Open Source Operating Systems)
- awesome-os - MeetixOS - A hobby OS written in modern C++20 which aims to be Unix-like. (Open Source Operating Systems / Hobby)
README
![banner](https://www.meetixos.org/images/Logo.png)
[![CI](https://github.com/MarcoCicognani/MeetixOS/actions/workflows/BuildAll.yml/badge.svg)](https://github.com/MarcoCicognani/MeetixOS/actions/workflows/BuildAll.yml)
# About
A hobby operating system for `x86` computers written in modern [C++20](https://en.cppreference.com/w/cpp/20) .
It gains the power of the `UNIX` philosophy, but experiments new designs at the same time.
# Prebuilt Images
[MeetixOS Nightly](https://github.com/MarcoCicognani/MeetixOS/actions/workflows/BuildAll.yml?query=is%3Asuccess+branch%3Amaster) :
Go to the latest job, then download `MeetixOS` located under Artifacts\
**You MUST be logged in to GitHub to download the image**Follow [BuildInstructions.md](Documents/BuildInstructions.md) to build the system from scratch
# Run MeetixOS
For `QEMU` run with:
```shell
$ qemu-system-i386 -enable-kvm -cpu host -smp 2 -m 512M -serial stdio -cdrom MeetixOS.iso
```**KVM strongly recommended**
# Current Project Direction
After a very long hiatus, with side projects and various incomplete re-implementation of the MeetixOS (in `C++`
and `Rust`), I decided to return to the original MeetixOS's codebase then progressively rewrite and improve each
existing component and write new ones.Then I've decided to follow the fashion and implement near all the necessary code from myself to increase the fun and
the learning effect.## Current Status
Currently, I'm working on `LibTC`, the Template Collection Library.
This template library is inspired by the [SerenityOS/AK](https://github.com/SerenityOS/serenity/tree/master/AK) and
the [SkiftOS/LibUtils](https://github.com/skiftOS/skift/tree/main/userspace/libs/libutils) libraries.The goal is to make it usable in all the OS contexts, from the kernel to the applications, as substitute of
the `LibStdC++`.## What's Next
After the completion of `LibTC` and after having tested it thoroughly, the next step is to start rewriting the kernel.
The idea is to make it a monolithic Unix-Like kernel which exposes standard UNIX filesystem features
like `/MeetiX/Devices` (`/dev`), `/MeetiX/Tasks` (`/proc`) and `/MeetiX/Runtime` (`/var`).It could be a good idea to expose custom object-oriented system-calls (using Handle oriented call, like `Windows`,
wrapped into C++ RAII objects) which can be wrapped easily by the `LibC` functions to expose a standard UNIX/POSIX
system call interface for future ports.## No More GUI
The GUI is temporarily disabled since the old WindowServer is not stable enough, and because I want to develop a new
Compositor system (probably after the new kernel), which allow by default to draw via canvas to a shared buffer.