清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS (6)文件系统指针,指向外存中与该区对应的数据文 件 区表如图64所示。 区号类型长度内存始址状态共享计数文件指针 图64系统区表
(6) 文件系统指针,指向外存中与该区对应的数据文 件。 区表如图6.4所示。 图6.4 系统区表
清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS 在系统创建新进程时,核心将从区表中分配相应的 表项给所创建的进程。 为了把区表和进程联系起来,当进程中的某个逻辑 段在区表中分得表项并填写了相关栏目之后,将把 该表项的内存地址返回到进程的proc结构中。proc 结构中与区表项有关的还有该段在虚存空间的起始 地址,内存中的页表地址及页表长度等。关于proc 结构,将在后面讲述。 把区表和进程proc结构分开的原因之一是便于共享, 因为每个逻辑区(段)在不同的进程中对应的虚拟 地址是不同的,但它们却可以通过区表而对应变换 到同一物理内存空间。区表和进程proc结构的关系 如图65所示
在系统创建新进程时,核心将从区表中分配相应的 表项给所创建的进程。 为了把区表和进程联系起来,当进程中的某个逻辑 段在区表中分得表项并填写了相关栏目之后,将把 该表项的内存地址返回到进程的proc结构中。proc 结构中与区表项有关的还有该段在虚存空间的起始 地址,内存中的页表地址及页表长度等。关于proc 结构,将在后面讲述。 把区表和进程proc结构分开的原因之一是便于共享, 因为每个逻辑区(段)在不同的进程中对应的虚拟 地址是不同的,但它们却可以通过区表而对应变换 到同一物理内存空间。区表和进程proc结构的关系 如图6.5所示
清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS 区表 虚拟地址1(正文段) 区表项1 页表1始址 进程A|虚拟地址2(数据段) 区表项2 区表项3 虚拟地址3(栈) 区表项4 页表3地址 进程B虚拟地址1(正文段) 页表1 页表2 页表1始址 内存 虚拟地址2(数据段 页表2地址 虚拟地址3(栈) 页表3 页表4 页表3地址 图65区表与进程proc结构
图6.5 区表与进程proc结构
000000000 在系统创建一个进程或让一个进程共享其他进程的 某个段时,在分配区表项后或在改变有关区表项共 享计数位后,把这些区表项与有关进程连接起来。 对新进程的连接是在创建proc结构时填写区表项地 址,该区表项对应逻辑段的虚拟地址、所需页表的 内存始址、逻辑段长度等。对共享段的连接只要填 写区表项地址、页表内存始址和长度即可。但是, 共享段的虚拟地址在不同的进程中是不一样的。 在区表的讨论中,大家也可能注意到一点,即UNⅨ System V中的区和段页式管理中的段非常相像 所不同的是,段页式管理中的虚拟地址空间是二维 的,而 UNIX System V的各个进程的分区虚拟地址 仍是一维的。另外, UNIX SystemⅤ的分区并不 是由用户按照段的逻辑功能独立定义,而是由系统 设计人员预先设置好的
在系统创建一个进程或让一个进程共享其他进程的 某个段时,在分配区表项后或在改变有关区表项共 享计数位后,把这些区表项与有关进程连接起来。 对新进程的连接是在创建proc结构时填写区表项地 址,该区表项对应逻辑段的虚拟地址、所需页表的 内存始址、逻辑段长度等。对共享段的连接只要填 写区表项地址、页表内存始址和长度即可。但是, 共享段的虚拟地址在不同的进程中是不一样的。 在区表的讨论中,大家也可能注意到一点,即UNIX System Ⅴ 中的区和段页式管理中的段非常相像。 所不同的是,段页式管理中的虚拟地址空间是二维 的,而UNIX System Ⅴ的各个进程的分区虚拟地址 仍是一维的。另外,UNIX System Ⅴ 的分区并不 是由用户按照段的逻辑功能独立定义,而是由系统 设计人员预先设置好的
清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS 623进程上下文 UNIX SyStem V的进程上下文是由正文段,也就是 CPU执行指令的集合、核心数据结构、和有关寄 存器的内容与数据段组成。 1.进程上下文的基本结构 进程上下文的各个部分按照一定的规则分布在进程 虚拟空间的不同位置上。对于不同的机器和硬件结 构,进程上下文的分布规则不同。例如,在VAX l1型机上,其虚拟地址空间划分为进程空间和系统 空间两大部分。其寻址范围为23个单元,即 4096M位。其中,虚拟空间的低位地址的半部分 (0~231-1)是进程虚拟空间,其余为所有进程共 享的系统空间,操作系统核心程序占据这个区
6.2.3 进程上下文 UNIX System Ⅴ 的进程上下文是由正文段,也就是 CPU 执行指令的集合、核心数据结构、和有关寄 存器的内容与数据段组成。 1. 进程上下文的基本结构 进程上下文的各个部分按照一定的规则分布在进程 虚拟空间的不同位置上。对于不同的机器和硬件结 构,进程上下文的分布规则不同。例如,在VAX- 11型机上,其虚拟地址空间划分为进程空间和系统 空间两大部分。其寻址范围为 2 32个单元,即 4096M 位。其中,虚拟空间的低位地址的半部分 (0 ~ 231 -1)是进程虚拟空间,其余为所有进程共 享的系统空间,操作系统核心程序占据这个区