mirror of
https://github.com/Leonmmcoset/cleonos.git
synced 2026-04-21 10:40:00 +00:00
1.3 KiB
1.3 KiB
CLeonOS Stage9
Stage Goal
- Add kernel service layer to represent core kernel capabilities.
- Extend scheduler with real task execution callbacks on timer ticks.
- Connect worker tasks (
klogd,kworker) to service heartbeat updates. - Extend syscall interface with service and scheduler runtime counters.
Acceptance Criteria
- Kernel boots and prints
CLEONOS STAGE9 START. - Service framework logs
KERNEL SERVICES ONLINE. - Service counters (
COUNT,READY) are logged. - Scheduler still reports task count and runs without panic.
- Syscall layer remains online and returns valid ticks after interrupt init.
Build Targets
make setupmake userappsmake isomake runmake debug
QEMU Command
qemu-system-x86_64 -M q35 -m 1024M -cdrom build/CLeonOS-x86_64.iso -serial stdio
Common Bugs and Debugging
undefined referencefor service APIs:- Ensure
clks/kernel/service.cis listed inC_SOURCES.
- Ensure
- Task callbacks never run:
- Confirm timer IRQ path still calls
clks_scheduler_on_timer_tick().
- Confirm timer IRQ path still calls
- Service count is 0:
- Verify
clks_service_init()is called after scheduler/driver/fs init.
- Verify
- Syscall service counters return
-1:- Check syscall IDs in kernel and user headers match.
- Boot panic after Stage9 merge:
- Re-check
kmaininit order: FS -> userland -> driver -> scheduler -> service -> interrupts.
- Re-check