区的状态一个区具有状态锁住在请求中在装入过程中有效(区已装入内存) 区在物理存储器中的位置 引用计数共享该区的进程数 指向文件索引节点的指针 本进程区表 系统为每个进程配置了一张本进程区表表中每一项记录一个区的起始虚地址及指向系统区表中对应区表项的指针核心通过查找本进程区表和系统区表将区的逻辑地址变换为物理地址 进程的数据结构 进程状态及其转换 在UNIX System Ⅴ中为进程设置了种状态 用户态执行 核心态执行 内存中就绪 内存中睡眠 就绪且换出 睡眠且换出 被剥夺状态 创建状态 僵死状态 UNIX系统的状态转换图 进程上下文 进程上下文又称进程映像它由三部分组成用户级上下文寄存器上下文和系统级上下文 用户级上下文 用户级上下文由进程虚地址空间中的正文数据用户栈和共享存储区组成 寄存器上下文 寄存器上下文主要由CPU中的一些寄存器内容构成主要的寄存器有 程序计数器其中存放的是CPU要执行的下条指令的虚地址 处理机状态寄存器其中包括运行方式(用户态核心态)处理机当前的运行级以及记录处理机与该进程有关的硬件状态信息 栈指针指向栈的下一个可用单元或栈中最后使用的单元(因机器而异) 通用寄存器用于存放进程在运行过程中所产生的数据通用寄存器的数目因机器而异 系统级上下文 系统级上下文可分为静态和动态两部分 静态部分系统级上下文的静态部分由进程表项U区本进程区表项系统区表项和页表组成 动态部分系统级上下文动态部分的数目是可变的它包括核心栈若干层寄存器上下文 进程控制 在UNIX系统中用于对进程实施控制的主要系统调用有fork创建进程;exec执行文件;exit进程终止;wait等待子进程终止 系统调用fork 系统调用fork用于创建一个新进程 fork系统调用的语法格式如下 int fork( ) fork系统调用没有参数如果执行成功则创建一个子进程子进程继承父进程的许多特性并具有与父进程完全相同的用户级上下文 fork的算法描述 [] [] [] [] [] [] [] [] [] |