All Projects → ozkl → Soso

ozkl / Soso

Licence: bsd-2-clause
A Simple Unix-like operating system

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Soso

Fukuro
Simple microkernel (early stage)
Stars: ✭ 18 (-97.36%)
Mutual labels:  kernel, 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 (-96.63%)
Mutual labels:  kernel, osdev
nightingale
A small operating system where I experiment and learn osdev.
Stars: ✭ 86 (-87.39%)
Mutual labels:  kernel, osdev
infinity
A secure, modern and intelligent operative system
Stars: ✭ 27 (-96.04%)
Mutual labels:  kernel, osdev
Libhermit Rs
libhermit-rs: A Rust-based library operating system
Stars: ✭ 558 (-18.18%)
Mutual labels:  kernel, osdev
SanderOSUSB
32 bit singletasking C kernel
Stars: ✭ 52 (-92.38%)
Mutual labels:  kernel, osdev
Os67
An unix-like toy kernel
Stars: ✭ 531 (-22.14%)
Mutual labels:  kernel, osdev
cxos
Operating System development experiment in Ada
Stars: ✭ 32 (-95.31%)
Mutual labels:  kernel, osdev
Wingos
a little 64bit operating system written in c++ with smp support
Stars: ✭ 361 (-47.07%)
Mutual labels:  kernel, 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 (+587.24%)
Mutual labels:  kernel, osdev
KnutOS
An x86_64 hobbyist OS written in C and Assembly
Stars: ✭ 16 (-97.65%)
Mutual labels:  kernel, osdev
Gramado
Gramado OS - 32bit operating system
Stars: ✭ 420 (-38.42%)
Mutual labels:  kernel, osdev
homebrew-i386-elf-toolchain
Homebrew formulas for buildling a valid GCC toolchain for the i386-elf target.
Stars: ✭ 62 (-90.91%)
Mutual labels:  kernel, osdev
Sigma
Abandoned overcomplicated Microkernel using modern x86_64 features
Stars: ✭ 36 (-94.72%)
Mutual labels:  kernel, osdev
poplar
Microkernel and userspace written in Rust exploring modern ideas
Stars: ✭ 217 (-68.18%)
Mutual labels:  kernel, osdev
MandelbrotOS
A community driven OS by the youth
Stars: ✭ 172 (-74.78%)
Mutual labels:  kernel, osdev
kernel
Main kernel tree
Stars: ✭ 28 (-95.89%)
Mutual labels:  kernel, osdev
os
x86-64 assembly µkernel
Stars: ✭ 15 (-97.8%)
Mutual labels:  kernel, osdev
LudOS
A toy monolithic kernel written in C++
Stars: ✭ 38 (-94.43%)
Mutual labels:  kernel, osdev
Aquila
AquilaOS: UNIX-like Operating System
Stars: ✭ 413 (-39.44%)
Mutual labels:  kernel, osdev

soso

Soso is a simple unix-like operating system written in Nasm assembly and mostly in C. It supports multiboot, so it is started by Grub. It can be built using Nasm and Clang. Tested build environments are Linux, FreeBSD.

Soso is a 32-bit x86 operating system and its features are

  • Multitasking with processes and threads
  • Paging
  • Kernelspace (runs in ring0) and userspace (runs in ring3) are separated
  • Virtual File System
  • FAT32 filesystem using FatFs
  • System calls
  • Libc (Musl is ported with basic calls like open, read,..)
  • Userspace programs as ELF files
  • mmap support
  • Framebuffer graphics (userspace can access with mmap)
  • Shared memory
  • Serial port
  • PS/2 mouse
  • Unix sockets
  • TTY driver

Soso has Libc, so existing applications depending only on Libc can easly be ported to Soso. These applications run on Soso:

  • Nano-X (client/server)
  • Lua
  • Doom

Soso

running

You can download a CD image (ISO file) from releases and try it in a PC emulator like QEMU. When it is started, you can run: "doom", "lua" in a terminal window.

To try Soso in QEMU, just run:

qemu-system-i386 -cdrom soso.iso

building

To build kernel just run:

make

this will build only kernel (kernel.bin).

Building userspace binaries will be documented later.

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].