summaryrefslogtreecommitdiffstats
path: root/CONTEXT.md
diff options
context:
space:
mode:
Diffstat (limited to 'CONTEXT.md')
-rw-r--r--CONTEXT.md14
1 files changed, 11 insertions, 3 deletions
diff --git a/CONTEXT.md b/CONTEXT.md
index 9fccbe4..c27f059 100644
--- a/CONTEXT.md
+++ b/CONTEXT.md
@@ -113,9 +113,16 @@ The action that destroys a window and ends its app.
113 113
114A task that owns exactly one window and receives input events through its 114A task that owns exactly one window and receives input events through its
115message queue. A GUI program is an app; there is no separate "process" 115message queue. A GUI program is an app; there is no separate "process"
116concept — the app is its task plus its window. The console is app 0 116concept — the app is its task plus its window. The home terminal is app 0
117(window 0). 117(window 0).
118 118
119## Terminal
120
121A program that presents a command line in a window: a text terminal
122emulator plus a shell command loop, rendered into the window's pixel
123buffer. The home terminal is the persistent full-screen chrome-less
124desktop; additional terminals are ordinary windows (F1).
125
119## Focus 126## Focus
120 127
121The single window (if any) that receives keyboard and mouse input. Focus 128The single window (if any) that receives keyboard and mouse input. Focus
@@ -142,8 +149,9 @@ address-space separation — all tasks share the one identity-mapped
142space and the kernel's facilities (TempleOS-style, not a process). 149space and the kernel's facilities (TempleOS-style, not a process).
143Tasks are preemptively round-robin-scheduled on the 100 Hz PIT tick; 150Tasks are preemptively round-robin-scheduled on the 100 Hz PIT tick;
144the shell is task 0 and an idle `hlt` task is the always-ready 151the shell is task 0 and an idle `hlt` task is the always-ready
145fallback. A task may sleep, yield, and log to serial/klog; only the 152fallback. A task may sleep, yield, and log to serial/klog; disk access
146shell touches the disk, filesystem, and terminal. A panicking or 153is serialized by a shared disk controller (a re-entrant lock), and each
154terminal is its own program instance. A panicking or
147stack-overflowing task dies gracefully (logged, marked done, slot 155stack-overflowing task dies gracefully (logged, marked done, slot
148reaped) without taking the kernel down. 156reaped) without taking the kernel down.
149 157