======================================== frostbyte kernel x86_64 long mode multiboot2 / grub / freestanding gcc ======================================== [boot] multiboot2 magic verified (36d76289) [gdt] loaded flat 64-bit segments [idt] 256 vectors installed (32 exceptions, 16 irqs) [pic] remapped to 0x20-0x2f, irq0 and irq1 unmasked [pmm] 130559 KiB usable, 32736 frames, 32463 free after kernel [heap] bump allocator at 0x0000000000111000, 8192 KiB [paging] mapped 0x0000000040000000 -> phys 911000, readback OK [pit] timer at 100 Hz [kbd] ps/2 keyboard driver ready [sched] 4 threads: idle, shell, workerA, workerB [boot] enabling interrupts, starting preemptive scheduler [boot] workerA/workerB log from separate stacks to prove round-robin frostbyte shell ready. type 'help'. frostbyte> [workerA] tick=50 iterations=7143449 [workerB] tick=91 iterations=15207163 [workerA] tick=150 iterations=26517115 [workerB] tick=191 iterations=35124050 hel[workerA] tick=250 iterations=45724522 p available commands: help show this list echo print the given text mem physical memory and heap usage uptime ticks and seconds since boot ps list kernel threads clear clear the screen frostbyte> [workerB] tick=291 iterations=53487849 me[workerA] tick=350 iterations=64811083 m physical memory: 130559 KiB total frames: 32736 total, 2324 used, 30412 free used 9296 KiB, free 121648 KiB heap: 48 KiB used of 8192 KiB frostbyte> [workerB] tick=391 iterations=73119504 ps[workerA] tick=450 iterations=84004093 id state name 0 runnable idle *1 running shell 2 runnable workerA 3 runnable workerB frostbyte> [workerB] tick=491 iterations=92765972 upt[workerA] tick=550 iterations=104540981 ime[workerB] tick=591 iterations=112423170 uptime: 601 ticks, 6 seconds (at 100 Hz) frostbyte> [workerA] tick=650 iterations=123652364 ech[workerB] tick=691 iterations=132218480 o fr[workerA] tick=750 iterations=140041519 os[workerB] tick=791 iterations=147051909 tbyt[workerA] tick=850 iterations=154503810 e l[workerB] tick=891 iterations=160779592 ives[workerA] tick=950 iterations=165666327 frostbyte lives frostbyte> [workerB] tick=991 iterations=173432697 [workerA] tick=1050 iterations=181711346 [workerB] tick=1091 iterations=192171261 [workerA] tick=1150 iterations=201288528