Zero-dependency local Python tracer
Project description
CPU Scheduler Visualizer (OKernel v1.0.1)
OKernel is an interactive, browser-based Operating System simulation designed to help students master core OS concepts. It features a fully functional SysCore Engine that drives a realistic terminal interface and a visual CPU scheduler.
Features (v1.0.1)
SysCore Terminal
- Interactive Shell: A robust command-line interface with history, auto-completion (Tab), and colored output.
🛠️ Maintainer's Guide
Looking for how to update the version number or manage the admin console? -> Read the Maintainer's Guide
🚀 Key Features
- Cycle-Accurate Simulation: Visualizes CPU bursts, I/O waits, and Context Switching overheads tick-by-tick.
- SysCore Engine: A separated, pure-logic scheduler engine that drives the UI.
- Dynamic Configuration: Versioning and system status are managed via Database.
- Admin Terminal: A dedicated "God Mode" console for system management.
- Command Dispatcher: Support for complex sub-commands (e.g.,
syscore.cpu.info,syscore.algos.rr). - Self-Documenting: Built-in help and API discovery via the
syscorecommand.
CPU Scheduler Visualizer
- Algorithms: Round Robin (RR), Shortest Job First (SJF), First-Come First-Serve (FCFS), Shortest Remaining Time First (SRTF), Priority Scheduling.
- Real-Time Visualization: Dynamic Gantt chart rendering with process state tracking.
- Customizable: Adjust time quantum, add custom processes, and toggle algorithms on the fly.
Modern Architecture
- Tech Stack: React 18, TypeScript, Vite, TailwindCSS.
- Design System: Glassmorphism + Retro-Futuristic Terminal aesthetic (detailed in THEME.md).
- Routing: Namespace-based navigation (
/dev/*).
Getting Started
Prerequisites
- Node.js 18+
- npm or yarn
Installation
```bash git clone https://github.com/Vaiditya2207/OKernel.git cd OKernel npm install ```
Running the Kernel
```bash npm run dev ```
Open your browser to http://localhost:5173.
Project Structure
``` src/ ├── core/ # Legacy core types and utilities ├── syscore/ # SysCore Engine v1 (v0.3.0) │ ├── cpu/ # CPU Scheduling Algorithms & Logic │ └── terminal/ # Terminal Command Modules & Dispatcher ├── components/ # React UI Components ├── hooks/ # React Hooks (useTerminal, useScheduler) ├── pages/ # Application Views (Console, Visualizer, etc.) └── App.tsx # Main Router ```
Roadmap
- v1.0.1: CI/CD & Mobile Polish (Responsive UI, Auto-Tests, Linting)
- v1.0.0: SysCore Engine 2 (Virtual Machine, RAM Inspector, Shell-Maker)
- v0.3.0: Core Visualizer (Round Robin, Gantt Charts)
- v0.2.0: Core Visualizer (Round Robin, Gantt Charts)
- v0.4.0: Memory Management (Paging, Segmentation Visualizer)
- v0.5.0: Process Synchronization (Deadlock simulation, Semaphores)
Contributing
- Fork the repository.
- Create your feature branch (
git checkout -b feature/kernel-upgrade). - Commit your changes (
git commit -m 'feat: Add new scheduler'). - Push to the branch (
git push origin feature/kernel-upgrade). - Open a Pull Request.
License
Distributed under the MIT License. See LICENSE for more information.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file okernel-0.1.1.tar.gz.
File metadata
- Download URL: okernel-0.1.1.tar.gz
- Upload date:
- Size: 15.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
12e192b73c10fd73c76a9d3ba3ccdeaf057835ca1def96ef9ef46eb65834acce
|
|
| MD5 |
9c9744e90b8802936e9451d167d17236
|
|
| BLAKE2b-256 |
3c0c34bd534baf4a7319557a9dacc4b730c77aba2d2fd8446f773515645b776b
|
File details
Details for the file okernel-0.1.1-py3-none-any.whl.
File metadata
- Download URL: okernel-0.1.1-py3-none-any.whl
- Upload date:
- Size: 17.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b8b9e70362d5f8e4debecff5737e501e061067a6f31a287ca0aad20fe3481ff5
|
|
| MD5 |
5483d3dd2e5bb3c301258a4ff7859a5b
|
|
| BLAKE2b-256 |
24e6151962774682d81ea46ba19d7c1cd2980ee4200bcca713f83fdb478a740d
|