Same virtual regions, different ownership

This figure documents the historical i386 source baseline. Current native x86-64/AArch64 qualification is recorded separately; this is not an ELF64 or native SMP implementation diagram.

Task A · page directory A

Private user stack
User + writable
Private heap / ELF
User pages
Low 128 MiB identity map
Supervisor only

Task B · page directory B

Private user stack
Different frames
Private heap / ELF
Different frames
Low 128 MiB identity map
Same kernel frames

Scheduler: change CR3 when page directories differ. Shared virtual regions do not imply shared user frames.

Each user task has private user frames and the same supervisor-only kernel identity map.

Text equivalent and source references
  • Task A and task B have different page directories and private ELF, stack and heap frames.
  • Both directories retain the low 128 MiB supervisor-only identity map. A context switch loads CR3 only when the selected directories differ. Rows show regions, not address-scale measurements.

Aligned comparison. Source paths refer to the atlas baseline; the kernel checkout is private.

  • kernel/core/memory.c · vmm_init, vmm_create_user_dir
  • kernel/core/task.c · task_create_user, schedule