Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • O Oops-Os
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Terraform modules
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • 对不队
  • Oops-Os
  • Merge requests
  • !11

feat: 内存管理加入 swap 换页与按需装入

  • Review changes

  • Download
  • Patches
  • Plain diff
Merged 对不队 requested to merge mem into main Jan 01, 2026
  • Overview 0
  • Commits 2
  • Pipelines 0
  • Changes 19

功能说明

  • 新增 swap 换页机制,支持换出/换入与缺页处理,兼容懒分配与 COW
  • swap 中置换策略为时钟算法(Clock),利用访问位(A bit)提供二次机会;必要时允许强制淘汰以避免无法置换
  • 新增动态运行时装入:引入 ELF 按需装入(demand load),可加载段按需分配物理页
  • 新增并接入测试:swaptest、demandloadtest、bigbss
  • 更新内存管理文档与开发日志,修复中文乱码

修改文件

  • kernel/mm/swap.c
  • kernel/mm/vm.c
  • kernel/proc/exec.c
  • kernel/interrupt/trap.c
  • user/test/swaptest.c
  • user/test/demandloadtest.c
  • user/program/bigbss.c
  • user/test/usertests.c
  • Makefile
  • docs/document/内存管理.md
  • 开发日志.md

测试情况

  • 已跑:demandloadtest、swaptest
  • 全量 usertests:ALL TESTS PASSED
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: mem