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.2.tar.gz (18.3 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.2-py3-none-any.whl (20.9 kB view details)

Uploaded Python 3

File details

Details for the file okernel-0.1.2.tar.gz.

File metadata

  • Download URL: okernel-0.1.2.tar.gz
  • Upload date:
  • Size: 18.3 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.2.tar.gz
Algorithm Hash digest
SHA256 1d8825bc9fd572c740c5d15d74e95e0e5b608e063accddf4a97c823265e17a98
MD5 fca5d80ebce738c6f5be0f9720e95b48
BLAKE2b-256 25c690194095c412e1cd2450f044a4e48422cc8c9cdd2b825567acdb7033299d

See more details on using hashes here.

File details

Details for the file okernel-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: okernel-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 20.9 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 fd75e2b394b174dc35236ef5acff995e7c91fda8abf6122b2f98cd0fa9bf6c84
MD5 0e2fb6aac8329d0a3642d642bbdeec16
BLAKE2b-256 9133db342ab201591e88a424938d304346e4f323947500cb806f8e0a0321d90b

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