© 2025
Back to projects

SimpleOS

x86 OS built from scratch

A Unix-like kernel for x86-64. Pipes, signals, virtual terminals, job control. Boots in QEMU.

What It Does

Pipes work: ps | grep shell. File system is RAM-based with VFS. Signals handle Ctrl+C properly. Four virtual terminals via Alt+F1-F4. Background jobs with &. I/O redirection. Command history and tab completion.

Under the Hood

64-bit long mode with 4-level paging. Preemptive multitasking via timer-based scheduler. Linux-style syscalls (18+). Per-process virtual memory and file descriptors. Ring 0/3 separation.

Demo

# Start the enhanced shell
$ /bin/shell_v2

# Pipe example - filter process list
$ ps | grep shell
2    1    RUN      shell_v2

# File operations
$ echo "Hello SimpleOS" > test.txt
$ cat test.txt
Hello SimpleOS
$ ls
hello.txt
readme.txt
test.txt

# Background jobs
$ stress &
[1] 25
$ jobs
[1]  Running    stress &
$ fg 1

# Virtual terminals
Press Alt+F2    # Switch to terminal 2
Press Alt+F1    # Back to terminal 1

# Tab completion
$ he<TAB>       # Completes to "help"
$ e<TAB>        # Shows: echo exit

# Signal handling
$ stress
Press Ctrl+C    # Interrupt the process

Build

Requires x86_64-elf-gcc cross-compiler, xorriso, and QEMU.

make      # Build ISO
make run  # Boot in QEMU

Syscalls

Process: fork, exec, exit, wait, getpid, ps I/O: read, write, open, close, pipe, dup2 FS: stat, mkdir, readdir Memory: sbrk Other: sleep, kill

Comments

Loading comments...
All projects

Projects

x402aCrypto-ReposBabelClarityD'audioEA(s)ElfyTradingVPSzacharyr0th.comClaude StarterDocpullWebGLTOML ToolsOn AptosOracle PricingSymphonarySimpleOS

SimpleOS

Live

x86 OS built from scratch

CodeArticle

A Unix-like kernel for x86-64. Pipes, signals, virtual terminals, job control. Boots in QEMU.

What It Does

Pipes work: ps | grep shell. File system is RAM-based with VFS. Signals handle Ctrl+C properly. Four virtual terminals via Alt+F1-F4. Background jobs with &. I/O redirection. Command history and tab completion.

Under the Hood

64-bit long mode with 4-level paging. Preemptive multitasking via timer-based scheduler. Linux-style syscalls (18+). Per-process virtual memory and file descriptors. Ring 0/3 separation.

Demo

# Start the enhanced shell
$ /bin/shell_v2

# Pipe example - filter process list
$ ps | grep shell
2    1    RUN      shell_v2

# File operations
$ echo "Hello SimpleOS" > test.txt
$ cat test.txt
Hello SimpleOS
$ ls
hello.txt
readme.txt
test.txt

# Background jobs
$ stress &
[1] 25
$ jobs
[1]  Running    stress &
$ fg 1

# Virtual terminals
Press Alt+F2    # Switch to terminal 2
Press Alt+F1    # Back to terminal 1

# Tab completion
$ he<TAB>       # Completes to "help"
$ e<TAB>        # Shows: echo exit

# Signal handling
$ stress
Press Ctrl+C    # Interrupt the process

Build

Requires x86_64-elf-gcc cross-compiler, xorriso, and QEMU.

make      # Build ISO
make run  # Boot in QEMU

Syscalls

Process: fork, exec, exit, wait, getpid, ps I/O: read, write, open, close, pipe, dup2 FS: stat, mkdir, readdir Memory: sbrk Other: sleep, kill

Comments

Loading comments...

Status

functional

Published

November 20, 2023

Links

CodeArticle

Technologies

C
Assembly
Operating Systems
x86-64
Kernel
Unix
Systems Programming

All Technologies (68)

TypeScript(9)
Next.js(8)
Python(5)
React(5)
Crypto(4)
AI(4)
Automation(4)
Blockchain(3)
DeFi(3)
GraphQL(2)
Data Analysis(2)
Open Source(2)
Agents(2)
Tailwind CSS(2)
Developer Tools(2)
Web Scraping(2)
Aptos(2)
Web3
PostgreSQL
Hasura
TTS
Tauri
Finance
Analytics
Audio
Streaming
Web Audio API
LLM
Gift Giving
Recommendations
E-commerce
Trading
Risk Management
Framer Motion
Claude Code
Configuration
Commands
Documentation
Markdown
WebGL
GLSL
Shaders
JavaScript
Graphics
Interactive
Patterns
TOML
Ecosystems
Recharts
Shadcn/ui
Indexing
Move
Oracle
Pyth
Smart Contracts
Music
PDF
VexFlow
Audiveris
Monorepo
Music Theory
C
Assembly
Operating Systems
x86-64
Kernel
Unix
Systems Programming