All Projects → sos-os → Kernel

sos-os / Kernel

Licence: other
The Stupid Operating System

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Kernel

Monkos
an experimental 64-bit operating system
Stars: ✭ 100 (-53.92%)
Mutual labels:  kernel, os, osdev
Aquila
AquilaOS: UNIX-like Operating System
Stars: ✭ 413 (+90.32%)
Mutual labels:  kernel, os, osdev
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 (+2059.91%)
Mutual labels:  kernel, os, osdev
Cyjon
A simple, clean code, multi-tasking operating system written in pure assembly language for 64-bit processors from the AMD64 family.
Stars: ✭ 184 (-15.21%)
Mutual labels:  kernel, os, osdev
Dennix
Dennix is a unix-like hobbyist operating system written from scratch.
Stars: ✭ 53 (-75.58%)
Mutual labels:  kernel, os, osdev
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 (-89.4%)
Mutual labels:  kernel, os, osdev
Emerald
An operating system written in C
Stars: ✭ 118 (-45.62%)
Mutual labels:  kernel, os, osdev
Sigma
Abandoned overcomplicated Microkernel using modern x86_64 features
Stars: ✭ 36 (-83.41%)
Mutual labels:  kernel, os, osdev
Snowflakeos
"It is very special"
Stars: ✭ 190 (-12.44%)
Mutual labels:  kernel, os, osdev
Os2
x86_64 OS kernel with completely async userspace and single address space [WIP; but basic kernel functionality implemented]
Stars: ✭ 25 (-88.48%)
Mutual labels:  kernel, os, osdev
Tofita
🍬 All-new kernel for @GreenteaOS
Stars: ✭ 112 (-48.39%)
Mutual labels:  kernel, os, osdev
Reactos
A free Windows-compatible Operating System
Stars: ✭ 10,216 (+4607.83%)
Mutual labels:  kernel, os, osdev
MandelbrotOS
A community driven OS by the youth
Stars: ✭ 172 (-20.74%)
Mutual labels:  kernel, os, osdev
LudOS
A toy monolithic kernel written in C++
Stars: ✭ 38 (-82.49%)
Mutual labels:  kernel, os, osdev
nightingale
A small operating system where I experiment and learn osdev.
Stars: ✭ 86 (-60.37%)
Mutual labels:  kernel, os, osdev
Wingos
a little 64bit operating system written in c++ with smp support
Stars: ✭ 361 (+66.36%)
Mutual labels:  kernel, os, osdev
poplar
Microkernel and userspace written in Rust exploring modern ideas
Stars: ✭ 217 (+0%)
Mutual labels:  kernel, os, osdev
KnutOS
An x86_64 hobbyist OS written in C and Assembly
Stars: ✭ 16 (-92.63%)
Mutual labels:  kernel, os, osdev
Os67
An unix-like toy kernel
Stars: ✭ 531 (+144.7%)
Mutual labels:  kernel, os, osdev
Toaru Nih
NOTICE: The ToaruOS-NIH Project has been MERGED UPSTREAM. This repository is now archived.
Stars: ✭ 66 (-69.59%)
Mutual labels:  kernel, os, osdev

Stupid Operating System

Build Status MIT License Latest RustDoc Gitter

SOS is a simple, tiny toy OS implemented in Rust.

I'm writing this mostly for fun, to learn more about OS design and kernel hacking, so don't expect anything new or exciting out of this project.

Inspiration, and a reasonable amount of code, taken from @phil-opp's great series of blog posts on the subject, Charlie Somerville's rustboot, and Samy Pessé's How to Make an Operating System.

design goals

  • POSIX compliance is not a goal (though it would be cool)
  • Hybrid/loosely microkernel (i.e., move code to user space when convenient/practical)
  • Possibly provide the Rust stdlib at the OS level.
  • JVM-style memory allocation?
  • Possibly experiment with a Plan 9-esque networking stack eventually?

building & running

I've included a simple Makefile to automate building and running SOS. This README lists most of the important make targets, but there's also a $ make help command, which will print a list of all available targets.

setting up your build environment

In order to build SOS, you'll need to properly configure your build environment. Since this process is fairly complex, I've provided some automatic installation shell scripts to make it a bit more painless.

  • $ make env will install and configure build dependencies

If you don't trust the scripts, or if you're curious to know what they're doing, you can also follow the manual install instructions in BUILDING.md.

building & running the OS

  • $ make kernel compiles & links the kernel binary
  • $ make iso makes the kernel and builds a bootable ISO image
  • $ make run compiles the kernel, makes the ISO, and boots QEMU from the ISO
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].