ZOYKU火线榜

ozkl/soso技术文档

A Simple Unix-like operating system

目录大纲 (TOC) (1 章节)▾
多语言回退提示:当前仓库原作者暂未发布本地化文档,已为您无缝切换至官方英文原版(English),排版及代码实例完整保真。
极速安装
git clone https://github.com/ozkl/soso.git

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.

As of version 0.4, executables are 32 bit static Linux binaries.

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

  • Runs simple statically built Linux binaries (from version 0.4)
  • Multitasking with processes and threads
  • Paging
  • Higher half kernel (from version 0.4)
  • Kernelspace (runs in ring0) and userspace (runs in ring3) are separated
  • Virtual File System
  • FAT32 filesystem using FatFs
  • System calls
  • Userspace programs as ELF files (32 bit static Linux ELF executables)
  • mmap support
  • Framebuffer graphics (userspace can access with mmap)
  • Shared memory
  • Serial port
  • PS/2 mouse
  • Unix sockets
  • TTY driver

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

To run doom from a terminal window:

cd /initrd
doom

building

To build kernel just run:

make

this will build only kernel (kernel.bin).

Building userspace

You don't need a special compiler! Just build 32 bit static executables for Linux

文档镜像归档自 GitHub 官方源路径 · 访问原项目 GitHub
最后同步快照:2026-11-09