Skip to content

Implement per-process virtual memory management #28

@pbalduino

Description

@pbalduino

Goal

Create isolated virtual memory spaces for user processes with proper memory layout.

Context

Part of the Road to Doom infrastructure. Each user process needs its own virtual address space with code/data/heap/stack regions properly isolated from other processes and the kernel.

Definition of Done

  • Design user process memory layout (code, data, bss, heap, stack regions)
  • Implement per-process page tables and address space management
  • Add memory isolation between processes and kernel/user space
  • Support memory allocation/deallocation for user processes
  • Implement demand paging and lazy allocation for large programs like Doom
  • Add proper memory permissions (read/write/execute) enforcement
  • Handle page faults in user space appropriately
  • Support memory regions up to 16MB for Doom's requirements

Dependencies

  • Existing virtual memory management improvements
  • Page fault handler fixes

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions