Memory management 与内存段关联的有效/无效位

Memory management 与内存段关联的有效/无效位,memory-management,operating-system,memory-segmentation,Memory Management,Operating System,Memory Segmentation,来自“操作系统概念”: 分段(无虚拟内存) 与段表中的每个条目关联: 验证位=0->非法段 我知道有效/无效位在处理页面时很有用(一个进程不使用硬件体系结构提供的所有页面,因此只有进程的页面必须标记为有效),但是为什么有效/无效位与段表中的每个条目相关联?编译时的段数不是已知的吗?每个流程的段都应标记为有效,还是无效?当流程想要取消分配该段时会发生什么?它是从段表中删除的,还是清除了有效位?而且,在编译时不一定知道段的数量。程序可能会自我修改,并在运行时要求操作系统提供更多内存。您面临几个问

来自“操作系统概念”:

分段(无虚拟内存)

与段表中的每个条目关联:

  • 验证位=0->非法段

我知道有效/无效位在处理页面时很有用(一个进程不使用硬件体系结构提供的所有页面,因此只有进程的页面必须标记为有效),但是为什么有效/无效位与段表中的每个条目相关联?编译时的段数不是已知的吗?每个流程的段都应标记为有效,还是无效?

当流程想要取消分配该段时会发生什么?它是从段表中删除的,还是清除了有效位?而且,在编译时不一定知道段的数量。程序可能会自我修改,并在运行时要求操作系统提供更多内存。您面临几个问题。(1) 看起来你有一本$@#$y的书。(2) 教科书为教学目的而发明东西。在Intel land(唯一一个广泛使用数据段的地方)有一个当前位。我从来没有听说过“验证位”,也许有些系统有一个,但这看起来像是教学发明。(3) 部分人终于死了,他们本该在30年前死去。当你毕业时,你不太可能遇到他们。当流程想要取消分配细分市场时会发生什么?它是从段表中删除的,还是清除了有效位?而且,在编译时不一定知道段的数量。程序可能会自我修改,并在运行时要求操作系统提供更多内存。您面临几个问题。(1) 看起来你有一本$@#$y的书。(2) 教科书为教学目的而发明东西。在Intel land(唯一一个广泛使用数据段的地方)有一个当前位。我从来没有听说过“验证位”,也许有些系统有一个,但这看起来像是教学发明。(3) 部分人终于死了,他们本该在30年前死去。到你毕业的时候,你不太可能遇到他们。