第十章UNIX糸统内核结枸 4.本进程区表 Per Process region table) A正文 进程区表 数据 栈 a_bcde B正文 进 程数据 区表 栈 系统区表 图10-2进程区表项、系统区表项和区的关系
第十章 UNIX系统内核结构 4. 本进程区表(Per Process Region Table) 正 文 数 据 栈 正 文 数 据 栈 a b c d e a b c d e 系统区表 A 进 程 区 表 B 进 程 区 表 图 10-2 进程区表项、系统区表项和区的关系
第十章UNIX糸统内核结枸 本进程区表 系统区表 U区 a 进程表 图10-3进程的数据结构
第十章 UNIX系统内核结构 图 10-3 进程的数据结构 U区 进程表 a b c a b c 本进程区表 系统区表
第十章UNIX糸统内核结枸 1022进程状态与进程映像 1.进程状态中断 系统调用 中断 用户态 中断返 执行 僵死 返回 返回到用户态 8)被抢夺 抢夺 睡眠/核心态调度 执行 内存中 睡眠 内存中就绪 唤醒 换 换换 内存足创建6水 出 出闪 内存不足 睡眠 7 且换出 唤 3)就绪且换出 图10-4进程的状态转换
第十章 UNIX系统内核结构 10.2.2 进程状态与进程映像 1. 进程状态 6 2 7 3 9 4 8 5 唤 醒 换 出 换 出 换 入 内存中 睡 眠 睡 眠 且换出 睡 眠 核心态 调 度 执 行 1 抢 夺 被抢夺 内存中就绪 内存足 内存不足 创 建fork 用户态 执 行 返回到用户态 系统调用 中 断 中 断 中断返回 返 回 僵 死 唤 醒 就绪且换出 图 10-4 进程的状态转换
第十章UNIX糸统内核结枸 2.进程映像 1)用户级上下文 2)寄存器上下文 (1)程序寄存器 (2)处理机状态寄存器(PSR)。 (3)栈指针 (4)通用寄存器。 3)系统级上下文 (1)静态部分。 (2)动态部分
第十章 UNIX系统内核结构 2. 进程映像 1) 用户级上下文 2) 寄存器上下文 (1) 程序寄存器。 (2) 处理机状态寄存器(PSR)。 (3) 栈指针。 (4) 通用寄存器。 3) 系统级上下文 (1) 静态部分。 (2) 动态部分
第十章UNIX糸统内核结枸 10.23进程控制 1.fork系统调用 (1)为新进程分配一个进程表项和进程标识符 (2)检查同时运行的进程数目。 (3)拷贝进程表项中的数据 (4)子进程继承父进程的所有文件 (5)为子进程创建进程上下文 (6)子进程执行
第十章 UNIX系统内核结构 10.2.3 进程控制 1. fork系统调用 (1) 为新进程分配一个进程表项和进程标识符。 (2) 检查同时运行的进程数目。 (3) 拷贝进程表项中的数据。 (4) 子进程继承父进程的所有文件。 (5) 为子进程创建进程上下文。 (6) 子进程执行