- 1、本文档共194页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
进 程 管 理 内容 进程概念 进程状态与转移 PCB 线程 调度 进程概念 进程的概念 程序在操作系统上的一次运行过程 系统进行资源分配和调度的一个可并发执行的独立单位。 在进程看来,自己独占计算机系统,并可以调用OS提供的服务 进程的特性 动态性 进程具有生命周期,经历创建、运行、消亡等过程。 并发性 多个进程可以并发地执行 独立性 进程既是系统中资源分配和保护的基本单位,也是系统调度的独立单位. 进程的组成 代码段:或叫共享正文段,在多个程序间可以实现共享。含代码和不变的数据。 数据上下文: 用户层: 数据区:外部变量和静态变量 工作区:即栈,包含局部变量,函数调用的现场。 操作系统层:执行现场和核心栈 寄存器层:控制寄存器和数据寄存器。 管理结构:主要指进程控制块,描述进程的运行状况,资源占用状况,以方便操作系统实现对进程的管理和控制。 进程控制表:用来管理进程及其相关信息。 存储控制表:用来管理一级(主)存储器和二级(虚拟)存储器,其内容包括:主存储器的分配信息,二级存储器的分配信息,存储保护和分区共享信息,虚拟存储器管理信息。 I/O控制表:用来管理计算机系统的I/O设备和通道。内容包括:I/O设备和通道是否可用,I/O设备和通道的分配信息,I/O操作的状态和进展,I/O操作传输数据所在的主存区。 文件控制表:用来管理文件,内容包括:被打开文件的信息,文件在主存储器和二级存储器中的位置信息,被打开文件的状态和其他属性信息。 进程和程序 进程是程序的一次动态执行活动,而程序是进程运行的静态描述文本 程序是一个软件,可以长期存在,而进程是一次执行过程,它是暂时存在的,动态地产生和中止的。 一个进程只能对应于一个程序 一个程序可以对应多个进程 程序文件包含哪些内容 (OBJ, elf, exe…) ? ELF 头 .text .rodata .data .bss ( Not initialized global and static data) .systab .rel.txt 当进行链接时,代码中需要改动的地方 .rel.data 本模块中引用、在其它模块定义的全局变量 .debug .line .strtab 字符串表 进程状态与转换 简单示例(完全载入内存) 3个进程执行轨迹 阴影部分表示调度器的执行 1-52表示指令周期 第13个指令周期时的内存快照。 在处理机上执行情况 进程的状态及其转换 2状态 3状态 5状态 多状态 2状态 3状态(最常用) 一个进程从创建、运行至消亡的整个生命周期,可以用一组状态加以刻划。 一般来说,进程在执行过程中至少经历三种不同的进程状态: 运行态(running) 占有处理器正在运行。 就绪态(ready) 具备运行条件,等待系统分配处理器以便运行。 等待/阻塞态(blocked) 不具备运行条件,正在等待某个事件的发生。 3状态转换图 状态转换事件 运行态→等待态 等待资源/事件等;如等待外设传输,或人工干预。 等待态→就绪态 资源得到满足;如外设传输结束;人工干预完成。 运行态→就绪态 运行时间片到;出现有更高优先权进程。 就绪态→运行态 选择一个就绪进程运行。 5状态转换图 空-新建:为了执行一个程序,创建新进程信息。进程的信息进入内存,但代码仍处于附存中。 新建-就绪:当系统准备好接纳一个进程时,把一个进程从新建态转为就绪态。 新建态的作用:便于限制进程数量 终止态的作用:便于其他应用程序分析统计操作系统的性能。 创建——进程创建 创建进程的目的 多进程并发执行能够提高计算机利用率 用不同进程完成不同任务(或子任务)能有效地实现任务的隔离。如实现多用户系统。 创建——进程创建场合(p68) 用户登录时,核心需要创建一个进程,为用户建立交互命令的环境,接收、分析并执行用户输入的命令。 执行批处理命令时,核心要产生一个进程分析并处理批命令,对于批处理文件中的每一条命令,也要创造一个子进程来执行该命令 用户程序可在运行时创建一系列的进程 操作系统创建新服务时 创建——进程创建的实现过程 为新进程分配唯一的进程标识号 为新进程分配PCB 分配进程各部分映像所需的内存空间 初始化进程控制块 进程的运行状态一般初始化为就绪状态 设置PC(程序计数)/SP(栈指针) 创建新进程系统映象 调度队列 多阻塞队列的好处? 添加挂起状态 添加挂起状态的好处? 两个挂起状态的好处? 导致挂起的原因? Unix系统的状态转换图 进程控制块 (PCB) OS 控制结构 进程映像中的数据 用户数据 用户程序 将要被执行的程序 系统栈 进程控制表(PCB) 进程控制块的基本概念 为了有效地管理进程,操作系统必须掌握每个进程的所有信息,如状态和使用的系统资源;
文档评论(0)