All Projects → Stellaris-code → LudOS

Stellaris-code / LudOS

Licence: MIT License
A toy monolithic kernel written in C++

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to LudOS

Cyjon
A simple, clean code, multi-tasking operating system written in pure assembly language for 64-bit processors from the AMD64 family.
Stars: ✭ 184 (+384.21%)
Mutual labels:  kernel, asm, os, osdev, operating-system
Toaruos
A completely-from-scratch hobby operating system: bootloader, kernel, drivers, C library, and userspace including a composited graphical UI, dynamic linker, syntax-highlighting text editor, network stack, etc.
Stars: ✭ 4,687 (+12234.21%)
Mutual labels:  kernel, os, osdev, operating-system, operating-systems
Toaru Nih
NOTICE: The ToaruOS-NIH Project has been MERGED UPSTREAM. This repository is now archived.
Stars: ✭ 66 (+73.68%)
Mutual labels:  kernel, os, osdev, operating-system, operating-systems
MandelbrotOS
A community driven OS by the youth
Stars: ✭ 172 (+352.63%)
Mutual labels:  kernel, asm, os, osdev, operating-system
Tofita
🍬 All-new kernel for @GreenteaOS
Stars: ✭ 112 (+194.74%)
Mutual labels:  kernel, os, osdev, operating-system, operating-systems
scaraOS
A 32bit multiboot OS kernel for IA32 (PC/AT) systems.
Stars: ✭ 31 (-18.42%)
Mutual labels:  kernel, operating-system, operating-systems, x86-assembly
poplar
Microkernel and userspace written in Rust exploring modern ideas
Stars: ✭ 217 (+471.05%)
Mutual labels:  kernel, os, osdev, operating-system
SimpleOS
Operating System Coded in Assembly and C
Stars: ✭ 72 (+89.47%)
Mutual labels:  kernel, os, operating-system, operating-system-kernel
KnutOS
An x86_64 hobbyist OS written in C and Assembly
Stars: ✭ 16 (-57.89%)
Mutual labels:  kernel, os, osdev, operating-system
Cardinal
Operating system designed to be fast and secure.
Stars: ✭ 20 (-47.37%)
Mutual labels:  kernel, os, osdev, operating-system
biefircate
Running x86-16 or x86-32 code from x86-64 UEFI; _very experimental_ • mirror of https://gitlab.com/tkchia/biefircate • developer notes at https://gitlab.com/tkchia/biefircate/-/blob/main/doc/NOTES.asciidoc
Stars: ✭ 47 (+23.68%)
Mutual labels:  kernel, os, osdev, operating-system
nightingale
A small operating system where I experiment and learn osdev.
Stars: ✭ 86 (+126.32%)
Mutual labels:  kernel, os, osdev, operating-system
MoonOS
MoonOS (just a kernel atm) is a micro kernel designed for the x86_64 and arm architecure.
Stars: ✭ 82 (+115.79%)
Mutual labels:  os, osdev, operating-system, operating-system-kernel
RocketOS
RocketOS is a Unix based OS that uses legacy BIOS and GRUB and is written in C17. It is being developed for educational purposes primarily, but it still is a serious project. It is currently in its infancy.
Stars: ✭ 23 (-39.47%)
Mutual labels:  kernel, os, osdev, operating-system
Unikraft
Unikraft is an automated system for building specialized POSIX-compliant OSes known as unikernels. (Core repository)
Stars: ✭ 183 (+381.58%)
Mutual labels:  kernel, os, osdev, operating-system
chaos-2
A hand-made SMP-aware kernel
Stars: ✭ 20 (-47.37%)
Mutual labels:  kernel, os, osdev, operating-system
SnowFlake
Technology is free, SnowFlakeOS
Stars: ✭ 38 (+0%)
Mutual labels:  kernel, os, osdev, operating-system
KSOS
Our very own Operating System built from scratch for x86 architecture systems!
Stars: ✭ 83 (+118.42%)
Mutual labels:  osdev, operating-system, operating-system-kernel, operating-systems-learning
DentOS
Experimental Stand-alone 32-bit Kernel with Bootloader written in AT&T Assembly and Freestanding C
Stars: ✭ 32 (-15.79%)
Mutual labels:  kernel, os, osdev, operating-system
Emerald
An operating system written in C
Stars: ✭ 118 (+210.53%)
Mutual labels:  kernel, os, osdev, operating-system

LudOS

LudOS is a hobby linux-like kernel written for fun in C++.

Features

  • Currently supports the 32-bit x86 architecture
  • An extensible virtual file system with the ability to expose function call interfaces on nodes to provide a cleaner interface than ioctl
  • PS/2 Keyboard and Mouse support
  • Preemptive and Cooperative Multitasking
  • Supports resolutions up to 1920x1080 using VBE framebuffer
  • Uses MTRRs to provide better performance with the framebuffer
  • Support for SATA drives via AHCI and ATA
  • ext2 filesystem and tar files mounting on the VFS
  • A lighting-fast graphical framebuffer terminal and shell

Goals

  • Support for the 64-bit x86 architecture and ARM
  • TCP/IP driver
  • A full-fledged graphical window manager
  • Dynamic linker support
  • Porting programs like GCC, NASM or FreeDoom to LudOS

Dependancies

QEMU is needed to run the kernel using tools/run.sh. On Ubuntu and derivatives : sudo apt-get install qemu-system

How to build :

Built binaries are already included in the build/bin directory, but if you want to build yourself the repository do as follow :

  • First build your own cross-compiler following these instructions : https://wiki.osdev.org/GCC_Cross-Compiler
  • Build to project by running CXX=<cross-g++-path> CC=<cross-gcc-path> cmake CMakeLists.txt and then make.

How to run :

Run the script tools/run.sh which will run QEMU on the kernel binary file.

Screenshots :

Imgur Imgur Imgur Imgur Imgur

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].