A lightweight systems-level C project demonstrating operating systems concepts, process lifecycle management, and simulated CPU scheduling.
RedTerminal is a C-based process simulator and interactive CLI designed to explore fundamental OS concepts. It features strict process state transitions, thread-safe asynchronous logging, background thread scheduling, and includes a stunning Vanilla JS web-based terminal emulator that brings the OS concepts to a modern browser interface.
RedTerminal acts as a playground and educational tool for developers who want to understand the inner workings of an operating system's process manager.
At the technical level, RedTerminal acts as:
- an interactive REPL shell environment
- a background CPU time scheduler simulator using POSIX threads
- a robust Process Control Block (PCB) manager
- a thread-safe asynchronous event logger
- a visually striking web-based terminal emulator for browser deployment
Learning about operating systems often involves massive codebases like the Linux kernel, making it hard to focus on fundamental concepts in isolation:
- real OS kernels are overwhelmingly complex
- theoretical concepts are hard to visualize
- typical student projects lack professional structure or modern interfaces
RedTerminal solves that by giving users a clean, isolated environment to explore:
- how processes transition between RUNNING, STOPPED, and TERMINATED states
- how background schedulers simulate CPU time without blocking user input
- how concurrency is handled with thread-safe mutex locks
- how these backend concepts can be visualized in a modern web dashboard
RedTerminal currently ships with:
- a C-based interactive shell with robust command parsing
- commands for
start,kill,pause,resume,ps, andlogs - an asynchronous
pthreadbased scheduler simulating CPU execution - strict process lifecycle management up to 256 concurrent processes
- a fully integrated Vanilla JS web demo that mirrors the OS logic visually
- comprehensive test suites for core modules
- complete build automation via
Makefile
- polished web demo with glassmorphism UI and OS-style boot sequence
- real-time terminal input history and custom typing animations in the browser
- fully decoupled background scheduler in C using POSIX threads
- thread-safe logging infrastructure using mutexes
- interactive CLI interface that handles edge cases and state validation gracefully
- lightweight footprint requiring only
gccandmaketo compile locally
- interactive REPL environment built directly on standard I/O
- deterministic process lifecycle handling (RUNNING, STOPPED, TERMINATED)
- automated background logging of all critical system events
- detailed process table (
ps) outputting active state and CPU time
- premium boot screen sequence for OS startup simulation
- live updating telemetry sidebar tracking CPU load, Memory, and Uptime
- custom blinking cursor and typing animations mimicking real terminal behavior
- full command history accessible via arrow keys
RedTerminal is built around a simple educational promise:
- take complex OS concepts
- distill them into readable C code
- provide an interactive interface to test them
- visualize the outcome beautifully
That promise shapes the module structure, the threading model, the data structures used, and the accompanying web demo layer across the project.
- C11 Standard
- POSIX Threads (
pthreads) - GNU Make
- HTML5
- CSS3 (Custom Properties, Flexbox, Animations)
- Vanilla JavaScript (ES6+)
RedTerminal/
βββ Makefile # Build system configuration
βββ README.md # Project overview and instructions
βββ LICENSE # MIT License
βββ .github/workflows/ # CI/CD pipelines
βββ demo/ # Technical documentation & assets
β βββ architecture.md # Module layout and thread model
β βββ commands.md # CLI reference guide
β βββ screenshots/ # Demo gallery assets
βββ include/ # Public C header files (API contracts)
βββ src/ # C source implementations
βββ tests/ # Automated C test suite
βββ docs/ # Vanilla JS Browser Simulation
βββ app.js
βββ index.html
βββ style.css
- Process Manager: Handles Process Control Blocks (PCBs) and strict state transitions. Safely manages memory and active limits.
- Scheduler: Utilizes POSIX threads to simulate CPU time allocation in the background, fully decoupled from the shell blocking IO.
- Logger: Asynchronously writes structured system events to
redterm.logusing mutex locks. - Shell: The primary entry point providing a robust REPL interface.
- User enters command via the shell interface.
- The shell parses arguments and delegates to the Process Manager.
- The Process Manager updates the global PCB array securely.
- The background Scheduler thread continuously polls the PCB array, granting CPU time to
RUNNINGprocesses. - All critical state changes invoke the thread-safe Logger to record events.
The current repo state includes:
- modular C code separated clearly into
srcandincludeheaders - a
testsdirectory containing assertion-based tests forlogger,process, andscheduler - automated testing execution available through
make test - functional web demo deployable to static hosting
- simulated CPU scheduling and multi-process lifecycle tracking
- robust state validation preventing illegal transitions (e.g., killing an already terminated process)
- fully interactive browser-based simulation matching the C application feature-set
- live telemetry tracking simulated CPU load, memory usage, and uptime
- CI/CD ready structure with GitHub Actions workflows
RedTerminal is currently positioned as a functional systems simulator and web demo with:
- an interactive C CLI application
- a complete web-based terminal simulator
- background thread simulation
- thread-safe logging infrastructure
- comprehensive documentation on architecture and commands
- A POSIX-compliant environment (Linux / macOS / WSL)
gcccompilermakeutility
make./redterm
# OR
make runmake runmake testmake clean- Hosted as a static web experience via GitHub Pages
- Public product URL: https://voxion-labs.github.io/RedTerminal/
- lightweight browser-first frontend located in the
docs/folder - no external dependencies or build tools required for the web demo
RedTerminal is protected under the MIT License.
The full license text is available in LICENSE.
License summary:
- copyright Β© 2026 Rudranarayan Jena
- permission is granted to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software
- provided "as is", without warranty of any kind
Crafted by Rudranarayan Jena
Founder @ Voxion Labs
Focused on building polished systems applications, interactive terminal emulators, and educational software experiences.



