操作系统教程第5版第2章【处理器管理】.pptx

操作系统教程第5版第2章【处理器管理】.pptx

  1. 1、本文档共124页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第2章处理器管理;操作系统运行环境

(1)CPU状态

(2)中断/异常机制;处理器由运算器、控制器、一系列寄存器以及高速缓存构成;用于控制处理器的操作

在某种特权级别下可以访问、修改;5;6;2.特权指令与非特权指令(1);特权指令与非特权指令(2);9;10;11;12;用户态内核态

唯一途径:中断,异常,陷入机制

内核态用户态

设置程序状态字PSW

;14;2.2中断技术;为什么引入中断/异常;中断/异常的概念;中断/异常对于操作系统的重要性,就好比:汽车的发动机,飞机的引擎

操作系统是由“中断驱动”或者“事件驱动”的。

主要作用:

及时处理设备发来的中断请求

可使OS捕获用户程序提出的服务请求

防止用户程序执行过程中的破坏性活动

;19;20;21;22;23;;;;;2.2.2中断源分类;按中断事件的性质和激活方式划分图示;2.按事件来源和实现手段分类;硬中断;中断和异常的区别;中断和异常的区别;2.3进程及其实现;2.3.1进程的定义和性质;多道程序设计

允许多个程序同时进入内存并运行,其目的是为了提高系统效率。;并发环境:一段时间间隔内,单处理器上有两个或两个以上的程序同时处于开始运行但尚未结束的状态,并且次序不是事先确定的。;定义:进程是具有独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的独立单位,又称任务;39;PCB:又称进程描述符,进程属性

操作系统用于管理控制进程的一个专门数据结构

记录进程的各种属性,描述进程的动态变化过程;进程的三种基本状态:

运行态、就绪态、等待态

运行态:占有CPU,并在CPU上运行

就绪态:已经具备运行条件,但由于没有空闲CPU,而暂时不能运行

等待态:因等待某一事件而暂时不能运行(如等待读盘结束);42;43;五状态模型;3.进程的挂起;具有挂起功能的进程状态及其转换(七状态);进程的上下文;将CPU硬件状态从一个进程换到另一个进程的过程称为上下文切换

进程运行时(上CPU),其硬件状态保存在CPU上的寄存器中

寄存器:程序计数器、程序状态字寄存器、栈指针、通用寄存器、其他控制寄存器的值

进程不运行时(被撤下),这些寄存器的值保存在进程控制块PCB??,当操作系统要运行一个新的进程时,将PCB中的相关值送到对应的寄存器中;2.进程控制块;50;队列管理和状态转换示意图;question;2.3.4进程切换与CPU模式切换;处理器模式切换;进程控制操作完成进程各状态之间的转换,由具有特定功能的原语完成。;(1)给新进程分配一个唯一标识以及进程控制块

(2)为进程分配地址空间(若是虚存,则是逻辑地址)

(3)初始化进程控制块

设置默认值(如状态为new,…)

(4)设置相应的队列指针

如:新进程加入到就绪队列链表中

linuxfork

Windows:CreateProcess;为子进程分配一个空闲的进程描述符(PCB)

分配给子进程唯一标识pid

unix以一次一页的方式复制父进程地址空间;Linux采用写时复制技术加快创建进程

从父进程处继承共享资源,如打开的文件和当前工作目录等

将子进程的状态设为就绪,插入到就绪队列

对子进程返回标识符0;向父进程返回子进程的pid;58;59;60;61;;结束进程

收回进程所占用的资源,如:关闭打开的文件,断开网络连接,回收分配的内存…

撤销该进程的PCB

Unix:exit

;64;65;66;;;处于运行状态的进程,在其运行过程中期待某一事件发生,如等待键盘输入、等待磁盘数据传输完成、等待其它进程发送消息当被等待的事件未发生时,由进程自己执行阻塞原语,时自己由运行态变为阻塞态

linux:wait

Windows:waitforsingleobject

;70;71;fork()通过复制调用进程来建立新的进程,是最基本的进程建立过程

exec()包括一系列系统调用,它们都是通过用一段新的程序代码覆盖原来的地址空间,实现进程执行代码的转换

wait()提供初级进程同步操作,使一个进程等待另外一个进程的结束

exit()用来终止一个进程的运行

;73;74;75;76;77;78;2.7处理机调度;CPU调度:其任务是控制、协调进程对CPU的竞争

即按一定的调度算法从就绪队列中选择一个进程,把CPU的使用权交给被选中的进程

如果没有就绪进程,系统会安排一个系统空闲进程或idle进程

系统场景

N个进程就绪、等待上CPU运行

M个CPU,M=1

需要决策:给哪个进程分配哪一个CPU

;81;场景:进程A下CPU,进程B上CPU

保存进程A的上下文环境(程序计数器,程序状态字,其他寄存器…)

用新状态字和其他相关信息更新进程A的PCB

把进程A

您可能关注的文档

文档评论(0)

iris + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档