- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2.1 进程与线程 进程概念 至少一个可执行程序,包括代码和初始数据; 一个独立的进程空间; 系统资源; 一个执行栈区。 2.1 进程与线程 较典型的进程定义有: 进程是程序的一次执行 进程是一个程序及其数据在处理机上顺序执行时所发生的活动 进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位 在引入了进程实体的概念后,我们可以把传统OS中的进程定义为:“进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位” 2.1 进程与线程 进程的状态与切换 进程的状态 运行状态; 就绪状态; 等待、阻塞状态; 创建状态; 结束状态。 2.1 进程与线程 2.1 进程与线程 进程的状态与切换 进程状态变化 空→创建状态; 创建状态→就绪状态; 就绪状态→运行状态; 运行状态→结束状态; 运行状态→就绪状态; 运行状态→等待状态; 等待状态→就绪状态; 就绪状态→结束状态; 等待状态→结束状态; 2.1 进程与线程 进程控制 进程创建 接收新建进程运行初始值、初始优先级、初始执行程序描述等由父进程传来的参数; 请求分配PCB,得到一个内部数字进程标识; 用从父进程传来的参数初始化PCB; 产生描述进程空间的数据结构; 用进程运行初值初始化处理机现场保护区; 置好父进程等关系域; 将进程设置为就绪状态; 将PCB挂入就绪队列,等待被调度运行。 2.1 进程与线程 进程控制 进程终结 将进程状态设置为结束状态; 关闭所有打开使用的文件、设备; 脱离用户进程与其所执行程序文件的映射关系; 进行相关信息的统计,记入LOG文件或PCB中; 清理相关进程的链接关系; 释放进程空间; 调用进程调度程序转移处理机到其他进程的运行。 2.1 进程与线程 进程控制 模式切换 用户模式; 特权模式; 进程切换 保存处理机的上下文; 修改当前运行程序的进程控制块; 选择另一个进程执行; 修改被调度进程的进程控制块; 将当前进程存储管理数据修改为新选进程的存储数据。 恢复被选进程上次切换出处理机的处理机现场。 2.1 进程与线程 进程通信 共享存储方法 消息传递方法 线程概念与多线程模型 2.1 进程与线程 线程与进程的比较 调度:线程作为调度的基本单位,同进程中线程切换不引起进程切换,当不同进程的线程切换才引起进程切换;进程作为拥有资源的基本单位。 并发性:一个进程间的多个线程可并发。 拥有资源:线程仅拥有隶属进程的资源;进程是拥有资源的独立单位。 系统开销:进程大;线程小。 2.2 处理机调度 调度的基本概念 高级调度 中级调度 低级调度 进程调度方式 非抢占(剥夺)式调度 抢占(剥夺)式调度 2.2 处理机调度 引发进程调度的原因 进程主动放弃处理机的原因: 进程执行完毕; 进程发出I/O有关的系统调用; 等待其它进程或系统发出的事情; 得不到所有的系统资源; 执行“自愿放弃处理机”的系统调用; 2.2 处理机调度 引发进程调度的原因 在可抢占方式下,新进程就绪时,应该申请调度: 当中断处理程序处理完中断,如I/O中断,通信中断,引起某个等待进程就绪; 当进程释放资源,引起等待该资源的进程就绪 当进程发出系统调用,引起某个事件发生,导致其它等待该事件的进程就绪; 其他原因引起进程从其他状态变成就绪。 2.2 处理机调度 引发进程调度的原因 在可抢占方式下,没有进程就绪,在以下情况下也应调度: 当时钟中断发生,时钟中断程序调用有关时间片的处理程序,发现正在运行进程时间片已到; 在按优先级调度的系统中,任何原因引起进程的优先级变化。 2.2 处理机调度 进程调度、切换的时机与过程 进程调度与切换程序是操作系统内核程序。 当请求调度的事件发生后,才可能会运行进程调度程序; 当调度了新的就绪进程后,才会进行进程间的切换。 不能进行调度与切换的情况有: 在处理中断的过程中; 进程在操作系统内核程序临界区中; 其他需要完全屏蔽中断的原子操作过程中。 2.2 处理机调度 进程调度、切换的时机与过程 应该进行进程调度与切换的时机: 当发生引起调度条件,且当前进程无法继续运行下去; 当中断处理结束或自陷处理结束,返回被中断进程的用户态程序执行现场前,若置上请求调度标志。 2.2 处理机调度 只要OS取得对CPU的控制,进程切换就可能发生: 超级用户调用 来自程序的显式请求 (如:打开文件),该进程通常会被阻塞 陷阱 最末一条指令导致出错,会引起进程移至退出状态 中断 外部因素影响当前指令的执行,控制被转移至IH(中断处理程序) 2.2 处理机调度 典型调度算法 先来先服务(FCFS)调度算法; 短进程优先调度算法; 优先级调度算法; 时间片轮转调度算
文档评论(0)