Skip to main content

Zero-dependency local Python tracer

Project description

CPU Scheduler Visualizer (OKernel v1.0.1)

License Version Build

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 syscore command.

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

  1. Fork the repository.
  2. Create your feature branch (git checkout -b feature/kernel-upgrade).
  3. Commit your changes (git commit -m 'feat: Add new scheduler').
  4. Push to the branch (git push origin feature/kernel-upgrade).
  5. 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

okernel-0.1.1.tar.gz (15.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

okernel-0.1.1-py3-none-any.whl (17.4 kB view details)

Uploaded Python 3

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

Hashes for okernel-0.1.1.tar.gz
Algorithm Hash digest
SHA256 12e192b73c10fd73c76a9d3ba3ccdeaf057835ca1def96ef9ef46eb65834acce
MD5 9c9744e90b8802936e9451d167d17236
BLAKE2b-256 3c0c34bd534baf4a7319557a9dacc4b730c77aba2d2fd8446f773515645b776b

See more details on using hashes here.

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

Hashes for okernel-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b8b9e70362d5f8e4debecff5737e501e061067a6f31a287ca0aad20fe3481ff5
MD5 5483d3dd2e5bb3c301258a4ff7859a5b
BLAKE2b-256 24e6151962774682d81ea46ba19d7c1cd2980ee4200bcca713f83fdb478a740d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page