清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS 除了上述通信手段之外,UNIX还提供了一种称之为 管道(pipe)的信息传送手段。它以临时文件的方 式,实现同一主机内的进程之间批量数据的单向、 先进先出方式的无格式字符流传送。 存储管理模块控制存储分配。任何一个待执行进程, 如果它不能在内存中占据必需的容量,它是不能执 行的。换句话说,CPU绝对不会执行一个全部内 容都在外存的进程。然而,内存是一种有限而又昂 贵的资源,它不可能容纳系统中全部活动进程。存 储管理系统必须决定把哪一个进程的哪一部分留在 内存中,而把哪一部分放在外存。也就是说,存储 管理部分管理进程在内存和外存之间的信息转移, 以便所有进程都得到公平执行的机会 下面先介绍UNIX系统的进程结构
除了上述通信手段之外,UNIX还提供了一种称之为 管道(pipe)的信息传送手段。它以临时文件的方 式,实现同一主机内的进程之间批量数据的单向、 先进先出方式的无格式字符流传送。 存储管理模块控制存储分配。任何一个待执行进程, 如果它不能在内存中占据必需的容量,它是不能执 行的。换句话说,CPU 绝对不会执行一个全部内 容都在外存的进程。然而,内存是一种有限而又昂 贵的资源,它不可能容纳系统中全部活动进程。存 储管理系统必须决定把哪一个进程的哪一部分留在 内存中,而把哪一部分放在外存。也就是说,存储 管理部分管理进程在内存和外存之间的信息转移, 以便所有进程都得到公平执行的机会。 下面先介绍UNIX系统的进程结构
清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS 62UNIX进程结构 本节将进一步介绍 UNIX SyStem V进程的静态构成, 定义进程上下文及其状态转换等。 62进程的概念 在UNI系统中,进程被赋予了下述特定的含义和特 性 (1)一个进程是对一个程序的执行。 (2)一个进程的存在意味着在所谓的“proc”数组 (PCB的常驻内存部分)中有一个非零的结构存 在,它包含着相应的进程控制信息。 (3)对于每一个进程有一个被称为U区或user结构的 数据结构。这个数据结构放置该进程的私用控制信 息,且在进程被创建时才会由系统分配相应的域
6.2 UNIX进程结构 本节将进一步介绍UNIX System Ⅴ 进程的静态构成, 6.2.1 进程的概念 在UNIX系统中,进程被赋予了下述特定的含义和特 性: (1) 一个进程是对一个程序的执行。 (2) 一个进程的存在意味着在所谓的“proc”数组 (PCB 的常驻内存部分)中有一个非零的结构存 在,它包含着相应的进程控制信息。 (3) 对于每一个进程有一个被称为U 区或user结构的 数据结构。这个数据结构放置该进程的私用控制信 息,且在进程被创建时才会由系统分配相应的域
清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS (4)一个进程可以生成或消灭其子进程。 (5)一个进程是获得和释放各种系统资源的基本单位。 上述第(1)点是反映进程动态特性的,而第(2)点与第 (3)点又反映了进程的静态特性。第(4)点与第(5)点 反映了UNIX系统的进程之间的关系以及UNX没有 作业概念的特性。事实上,由第3章可知,一个进 程的静态描述是由三部分组成的,即进程状态控制 块PCB(栈段),进程的程序文本(正文)段以及 进程的数据段。在第3章中,把这三部分统称为进 程上下文,而进程的动态特性则定义为在进程上下 文中的执行
(4) 一个进程可以生成或消灭其子进程。 (5) 一个进程是获得和释放各种系统资源的基本单位。 上述第(1)点是反映进程动态特性的,而第(2)点与第 (3)点又反映了进程的静态特性。第(4)点与第(5)点 反映了UNIX系统的进程之间的关系以及UNIX没有 作业概念的特性。事实上,由第3章可知,一个进 程的静态描述是由三部分组成的,即进程状态控制 块PCB(栈段),进程的程序文本(正文)段以及 进程的数据段。在第3章中,把这三部分统称为进 程上下文,而进程的动态特性则定义为在进程上下 文中的执行
清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS 首先介绍 UNIX System V进程的虚拟地址结构。 由于 UNIX System V进程的虚拟地址结构是依赖于 硬件,因此,如果不作特别说明,本文默认那些与 硬件有关的部分都是依赖于ⅤAX1的。 622进程的虚拟地址结构 如上所述, UNIX SyStem V的进程由三个逻辑段组 成:即存放状态控制块的栈段、存放CPU执行指 令集合的正文段以及被执行指令所访问的数据段。 UNIX System V中,一个进程的虚拟地址空间被分 成若干个逻辑区( logical region)来存放上述三个 逻辑段。区是进程虚拟地址空间上的一段连续区域, 它是被共享、保护以及进行内存分配和地址变换的 独立实体。正文、数据和栈分别存放于各自的区中
首先介绍UNIX System Ⅴ 进程的虚拟地址结构。 由于UNIX System Ⅴ进程的虚拟地址结构是依赖于 硬件,因此,如果不作特别说明,本文默认那些与 硬件有关的部分都是依赖于VAX11的。 6.2.2 进程的虚拟地址结构 如上所述,UNIX System Ⅴ 的进程由三个逻辑段组 成:即存放状态控制块的栈段、存放CPU 执行指 令集合的正文段以及被执行指令所访问的数据段。 UNIX SystemⅤ 中,一个进程的虚拟地址空间被分 成若干个逻辑区(logical region)来存放上述三个 逻辑段。区是进程虚拟地址空间上的一段连续区域, 它是被共享、保护以及进行内存分配和地址变换的 独立实体。正文、数据和栈分别存放于各自的区中
清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS 这里,要强调的一点是进程的虚拟地址在各区之内 是连续的。 为了管理每个进程中的区,系统设有一个称为区表 的数据结构,每个在系统中存在的区都在该表中占 有一个表项。区表包括下列内容: (1)区的类型,指明该区存放正文段、数据段或私有 数据及栈段。 (2)区的长度。 (3)区所对应页表的内存始址。 (4)区的状态,包括是否已被调入内存,是否正在调 入内存过程中,是否被锁住,以及是否正在被请求 调入内存等。 (5)共享位,给出共享该区的进程数
这里,要强调的一点是进程的虚拟地址在各区之内 是连续的。 为了管理每个进程中的区,系统设有一个称为区表 的数据结构,每个在系统中存在的区都在该表中占 有一个表项。区表包括下列内容: (1) 区的类型,指明该区存放正文段、数据段或私有 数据及栈段。 (2) 区的长度。 (3) 区所对应页表的内存始址。 (4) 区的状态,包括是否已被调入内存,是否正在调 入内存过程中,是否被锁住,以及是否正在被请求 调入内存等。 (5) 共享位,给出共享该区的进程数