Core - Process Management & Scheduling #34

Open
opened 2026-03-03 19:24:18 +00:00 by admin · 0 comments
Owner
  • Preemptive multitasking via custom IRQ0 ISR (1024 Hz PIT timer) drives context switches using ESP-swap (PUSHAD/POPAD), no TSS task-switching.
  • Round-robin scheduler with priority-based quantum (quantum = priority × 8 ticks) and automatic reaping of finished/errored processes
  • Process API - create, kill, terminate, sendMessage, proc_yield, proc_sleep_ms, proc_exit; parent-child tracking with smChildExited notification
  • Resource binding - per-process resource list with automatic cleanup on death (sockets, timers, file handles); TCP sockets auto-bound to owning process
  • Per-process StdIO - each process gets its own stdin/stdout/stderr POutBuf triple; legacy TCommandMethod callbacks wrapped as real processes
  • VTerminal - multi-instance terminals with foreground process drain, Ctrl+C interrupt, background jobs (& suffix, JOBS/FG), per-terminal CWD and directory stack
  • CLI/STI guards on kalloc/kfree to prevent heap corruption from preemption mid-allocation
  • 8 KB per-process kernel stack, rand32() PIDs, DList-backed process table
- Preemptive multitasking via custom IRQ0 ISR (1024 Hz PIT timer) drives context switches using ESP-swap (PUSHAD/POPAD), no TSS task-switching. - Round-robin scheduler with priority-based quantum (quantum = priority × 8 ticks) and automatic reaping of finished/errored processes - Process API - create, kill, terminate, sendMessage, proc_yield, proc_sleep_ms, proc_exit; parent-child tracking with smChildExited notification - Resource binding - per-process resource list with automatic cleanup on death (sockets, timers, file handles); TCP sockets auto-bound to owning process - Per-process StdIO - each process gets its own stdin/stdout/stderr POutBuf triple; legacy TCommandMethod callbacks wrapped as real processes - VTerminal - multi-instance terminals with foreground process drain, Ctrl+C interrupt, background jobs (& suffix, JOBS/FG), per-terminal CWD and directory stack - CLI/STI guards on kalloc/kfree to prevent heap corruption from preemption mid-allocation - 8 KB per-process kernel stack, rand32() PIDs, DList-backed process table
admin added this to the 2.0.0 milestone 2026-03-03 19:24:18 +00:00
admin added the Feature
Component
Core
labels 2026-03-03 19:24:18 +00:00
t3hn3rd was assigned by admin 2026-03-03 19:24:18 +00:00
admin added this to the Asuro Release Planning project 2026-03-03 19:24:18 +00:00
admin moved this to In Progress in Asuro Release Planning on 2026-03-03 19:24:22 +00:00
t3hn3rd moved this to Develop Testing in Asuro Release Planning on 2026-03-04 20:07:13 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Spexeah/Asuro#34