豫豫言文档API ATLAS
入口包说明.html
97 模块899 名称
← 全部模块

模块 / 18

内存管理。豫

内存管理。豫

2公开名称

臂内存管理

公开
化「有」而(「列」于「机器片」)

文言:内核以两兆字节为块,自共用之池颁给任务,以增其线性内存;任务毕则悉还之。汉语:ARM64 内存块管理。物理池位于 0x44000000 起三十二块(每块两兆字节),位图在 0x400B3000,之后每槽的块数与块号表;块映射到用户虚拟地址 0x60000000 起(二级页表第二五六项起)。服务二二 内存块(n):使当前任务至少有 n 个块,成功返回零,池尽或 n 超三十二返回负一且不留半途;服务二三 返回当前块数。分配时清零;任务退出、故障、被终止时归还;复制任务时为子任务复制全部块。子例程只用 x0 至 x9,本处理程序另用 x10 至 x15。服务二四 块搬入静态(线性偏移, 静态偏移|长度<<20) 与服务二五 块搬出静态:在任务线性内存(x28 为基,静态或迁入动态块后皆可)与其静态区(用户空间 0x40300000 起 0x80000 字节,设备可达的固定窗口)之间复制至多 4095 字节,越界返回负一,成功返回零。

兼容内存管理

公开
化「有」而(「列」于「机器片」)

文言:兼容之内核以两兆字节为块,与臂同制;池在 0x4000000 起三十二块,位图在 0x121000。汉语:AMD64 内存块管理:块映射到用户虚拟地址 0x8000000 起(页目录第六四项起,每块两兆字节大页);内核通过页目录第三二至六三项的恒等别名读写池块。服务与语义同 ARM64 的内存块管理(服务二二、二三);子例程输入输出用 eax、ecx、edx,毁 esi、edi 与 r8 至 r11。服务二四 块搬入静态(edi=线性偏移, esi=静态偏移|长度<<20) 与服务二五 块搬出静态:在任务线性内存(r9 为基,静态或迁入动态块后皆可)与其静态区(用户空间 0x300000 起 0x80000 字节,设备可达的固定窗口)之间复制至多 4095 字节,越界返回负一,成功返回零。