top # im Terminal: Live-Anzeige, q beendet
/bin/top.elf # als Programm: eine Momentaufnahme
→ Werkzeuge in /bin · Prozesse & Ring-3 · SMP & Tasks · sysinfo
top gibt es doppelt, und der Unterschied ist wichtig:
| Woher | Verhalten | |
|---|---|---|
| Terminal-Built-in | im Vega-Terminal eingebaut | läuft in der Ereignisschleife des Terminals mit SysYield und zeichnet in den Zeichenpuffer; q beendet |
/bin/top | eigenes Ring-3-Programm | eine Momentaufnahme, dann Ende |
Der eingebaute Weg wurde gewählt, weil das Terminal ein Kind bis zu dessen Ende blockiert: ein Programm, das sich selbst in einer Schleife auffrischt, würde das Terminal festhalten und seine Ausgabe erst beim Beenden zeigen. Als Built-in entfällt zugleich der ANSI-Parser — das Terminal schreibt direkt in seine Darstellung.
top — Lyx OS
Mem: 512 MB total 96 MB used 416 MB free
Bump: 16 MB total 3 MB used 13 MB free
Tick: 12045 (120 s)
PID NAME STATE CPU% MEM
2 term RUN 4.1% 512 K
3 taskmgr READY 0.3% 128 K
cpu_ticks / pit_frame, wie bei ps. Bei 100 Hz ist die Auflösung 10 ms; kurze Läufe ergeben oft ein Delta von 0 und summieren sich erst über die Zeit.
Gibt es keine Kindprozesse, steht dort (no child processes).
| Syscall | Nr | Liefert |
|---|---|---|
sys_proc_info(slot, buf) | 202 | PID, Zustand, belegter Heap, CPU-Ticks, Name (16 B) |
sys_mem_stats(buf) | 203 | freie und gesamte Seiten, Tick-Zähler, Bump-Füllstand |
sys_cpu_stats | 205 | Kernzahl und je Kern die Zähler (busy, total) — der Aufrufer rechnet util = Δbusy/Δtotal |
Der Puffer fürsys_mem_statsist 64 Byte groß, nicht 24. Der Kernel füllt inzwischen bis +40 (busy_ticks, Bump-Füllstand). Ein zu klein bemessener Puffer schrieb über sein Ende hinaus — unauffällig nur deshalb, weilmmapganze Seiten liefert. Wer eigene Werkzeuge gegen diesen Syscall schreibt, nimmt 64 Byte.
Die frühere Nummer 204 (cpu_idle_tick, ein Leerlaufzähler je Kern) gibt es nicht mehr — sie wurde beim TO-8-Rückbau entfernt, nachdem TO-9.5 die Kernstatistik auf die echte Buchführung des Schedulers umgestellt hatte. Wer noch gegen 204 schreibt, bekommt keinen Wert.
Unter QEMU sieht man regelmäßig Kern 0 bei ~100 % und die übrigen bei ~0 %: die Anwendungskerne laufen im Leerlauf, die SMP-Verteilung wird noch nicht genutzt.
Letzte Aktualisierung: 2026-08-27 — Seite neu angelegt, aus lyx-os/bin/top.lyx und vega/term.lyx erhoben.