正在加载图片...
(2)U区 U区中的各个域进一步刻画了进程的特性,U区主要包含以下信息:指向进程表项的指针:真 正用户标识符( real user ID)及有效用户标识符( effective user ID):用户文件描述符表 当前目录和当前根:计时器域:一些输入/输出参数;限制域;出错域:返回值域:信号处理 数组。 (3)系统区表 UNIX System V把一个进程的虚地址空间划分为若干连续的逻辑区,有正文区、数据区 核区等。这些区是可被共享和保护的独立实体,多个进程可以共享一个区。为了对区进行管理, 在核心中设置了一个系统区表(简称区表),各表项中记录了描述活动区的有关信息:区的类型 和大小:区的状态(一个区具有这样几种状态:锁住、在请求中、在装入过程中、有效):区 在物理存储器中的位置;引用计数:指向文件索引节点的指针 (4)本进程区表 为了记录进程的每个区在进程中的虚地址,并通过它找到该区在物理存储器中的实地址, 系统为每个进程配置了一张进程区表,表中每一项记录一个区的起始虚地址及指向系统区表 中对应区表项的指针。这样,核心通过查找本进程区表和系统区表,便可将区的逻辑地址变换 为物理地址。这里使用两张表来对区地址进行映像是为了便于实现区的共享。 2.进程状态及其转换 在 UNIX System V中,为进程设置了9种状态: (1)创建状态:进程刚被创建时,进程已经存在,但尚未完全获得运行所必须具有的资源 因此它既不是就绪状态,也不是睡眠状态。这个状态可被认为是进程的初始状态。 (2)内存中就绪:进程己在内存中且处于就绪状态。对于新创建的进程,若系统有足够的 内存,核心便将它装入内存,从而使新进程转入内存中就绪状态 (3)就绪且换出:进程处于就绪状态,但被换出到外存中。在创建新进程时,若无足够的 内存,核心便将新进程安置在外存对换区中,并赋予就绪且换出状态。此外,原已在内存中的进 程,可能因内存紧张而被换出,同样也成为就绪且换出状态 (4)核心态执行:进程在核心态下执行。 (5)用户态执行:进程在用户态下执行 (6)内存中睡眠进程已在内存中且正处于睡眠状态。例如,进程所执行的系统调用涉及 到I/0操作,而进程又须等待U0操作的完成,则进程将进入内存中睡眠 (7)睡眠且换出当内存紧张时,在内存中睡眠的进程,首先被核心换出到外存上,以腾出 内存。此时,进程将变为睡眠且换出状态。 (⑧)被剥夺状态当进程从核心态返回用户态时,核心剥夺了该进程的处理机,使该进程处 于被剥夺状态。 (9)僵死状态进程执行了exit系统调用后,便处于僵死状态。此时,进程已不存在,但它 留下一些含有状态码和一些计时统计信息的记录,供父进程收集 3.进程上下文 当一个进程在执行时,可看作是在它的进程上下文中执行。一个进程的上下文〈 context 由三部分组成:用户级上下文、寄存器上下文和系统级上下文。 (1)用户级上下文:用户级上下文是由进程虚地址空间中的正文、数据、用户校和共享 存储区组成。在采用对换和请求调页存储管理方式时,只有进程的部分虚地址空间驻留在内 存。但无论它是否驻留在内存,都属于用户级上下文的组成部分 (2)寄存器上下文:寄存器上下文主要由CPU中的一些寄存器内容构成。主要的寄存器有 程序寄存器:处理机状态寄存器:栈指针;通用寄存器 (3)系统级上下文:系统级上下文可分为静态和动态两部分(2)U 区 U 区中的各个域进一步刻画了进程的特性,U 区主要包含以下信息:指向进程表项的指针;真 正用户标识符(real user ID)及有效用户标识符(effective user ID);用户文件描述符表; 当前目录和当前根;计时器域;一些输入/输出参数;限制域;出错域;返回值域;信号处理 数组。 (3)系统区表 UNIX System V 把一个进程的虚地址空间划分为若干连续的逻辑区,有正文区、数据区、 核区等。这些区是可被共享和保护的独立实体,多个进程可以共享一个区。为了对区进行管理, 在核心中设置了一个系统区表(简称区表),各表项中记录了描述活动区的有关信息:区的类型 和大小;区的状态(一个区具有这样几种状态:锁住、在请求中、在装入过程中、有效);区 在物理存储器中的位置;引用计数;指向文件索引节点的指针。 (4)本进程区表 为了记录进程的每个区在进程中的虚地址,并通过它找到该区在物理存储器中的实地址, 系统为每个进程配置了一张进程区表,表中每一项记录一个区的起始虚地址及指向系统区表 中对应区表项的指针。这样,核心通过查找本进程区表和系统区表,便可将区的逻辑地址变换 为物理地址。这里使用两张表来对区地址进行映像是为了便于实现区的共享。 2.进程状态及其转换 在 UNIX System V 中,为进程设置了 9 种状态: (1)创建状态:进程刚被创建时,进程已经存在,但尚未完全获得运行所必须具有的资源, 因此它既不是就绪状态,也不是睡眠状态。这个状态可被认为是进程的初始状态。 (2)内存中就绪:进程己在内存中且处于就绪状态。对于新创建的进程,若系统有足够的 内存,核心便将它装入内存,从而使新进程转入内存中就绪状态。 (3)就绪且换出:进程处于就绪状态,但被换出到外存中。在创建新进程时,若无足够的 内存,核心便将新进程安置在外存对换区中,并赋予就绪且换出状态。此外,原已在内存中的进 程,可能因内存紧张而被换出,同样也成为就绪且换出状态。 (4)核心态执行:进程在核心态下执行。 (5)用户态执行:进程在用户态下执行。 (6)内存中睡眠进程已在内存中且正处于睡眠状态。例如,进程所执行的系统调用涉及 到 I/O 操作,而进程又须等待 UO 操作的完成,则进程将进入内存中睡眠。 (7)睡眠且换出当内存紧张时,在内存中睡眠的进程,首先被核心换出到外存上,以腾出 内存。此时,进程将变为睡眠且换出状态。 (8)被剥夺状态当进程从核心态返回用户态时,核心剥夺了该进程的处理机,使该进程处 于被剥夺状态。 (9)僵死状态进程执行了 exit 系统调用后,便处于僵死状态。此时,进程已不存在,但它 留下一些含有状态码和一些计时统计信息的记录,供父进程收集。 3. 进程上下文 当一个进程在执行时,可看作是在它的进程上下文中执行。一个进程的上下文〈context〉 由三部分组成:用户级上下文、寄存器上下文和系统级上下文。 (1)用户级上下文:用户级上下文是由进程虚地址空间中的正文、数据、用户校和共享 存储区组成。在采用对换和请求调页存储管理方式时,只有进程的部分虚地址空间驻留在内 存。但无论它是否驻留在内存,都属于用户级上下文的组成部分。 (2)寄存器上下文:寄存器上下文主要由 CPU 中的一些寄存器内容构成。主要的寄存器有: 程序寄存器;处理机状态寄存器;栈指针;通用寄存器。 (3)系统级上下文:系统级上下文可分为静态和动态两部分:
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有