- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章 处理器管理 2.1 中央处理器 2.2 中断技术 2.3 进程及其实现 2.4 线程及其实现 2.5 处理器调度 2.6 批处理作业的管理与调度 2.7 低级调度 本章的学习目标 什么是进程?和程序有何不同? 如何实现多道程序并发执行的? 进程的状态迁移 什么是线程? 处理器调度算法(按照什么规则让进程占有CPU) 漫游 程序的执行过程 从PC(程序计数器)所指地址取出 指令,并且装载到IR(指令寄存器)中 CPU解码并指执行该指令 将执行结果写入到内存当中 PC=下一条指令在内存中的地址 一个程序的执行只有代码足矣? 一个程序装载入内存后有四个部分: 代码 数据 堆(heap):malloc分配的空间就是从这里来的 栈(stack):系统使用的空间,保存函数的返回地址。 进程和程序 进程是一组数据结构的集合,程序只是进程的一个部分 同一个程序可以对应多个进程(e.g.聊天软件) 程序被载入内存开始执行?进程 如何让多个进程使用同一个处理器? 分时复用让进程感觉它们都拥有一个CPU,但这个CPU是虚拟的,它们共享一个真实的CPU。 每一个虚拟的CPU都应该拥有一些数据结构 PC和CPU寄存器堆的当前值,以及目前主存的部分内容 如何切换这些虚拟CPU? 保存PC和寄存器堆的当前值以及目前主存的部分内容 将新CPU的PC和寄存器堆值以及主存内容装载进来 谁触发了这些转换? 目前看来是时钟发生器 那些CPU状态信息保存到哪去了? 像CPU当前的PC值和寄存器堆值都是与当前正在执行的进程相关的,为了使得该进程在重新获得CPU后能够继续工作,在其被剥夺CPU时就应该把那些CPU状态信息保存到进程的数据结构当中去。 我们把进程运行所需要的这些状态信息称为进程上下文(context),进程(虚拟CPU)之间的切换叫作上下文切换。 进程上下文切换过程图 多线程的”Hello world” 多线程的“Hello World”是文件复制。 在进行一个大文件的复制时,虽然复制窗体上有一个“取消”按钮,但如果不是多线程,就只有到了文件复制完毕时程序才知道用户按了“取消”钮,典型的先斩后奏。 而用“多线程”,可以用一个线程执行“疯狂拷贝”,一个线程监视按钮状态,在用户按下了“取消”按钮时,程序马上就可以知道,并且马上“取消”。 多处理器和超线程技术 超线程处理器被视为两个分离的逻辑处理器。每个逻辑处理器都可独立响应中断。第一个逻辑处理器可追踪一个软件线程,而第二个逻辑处理器则可同时追踪另一个软件线程。由于两个线程共同使用同样的执行资源,因此不会产生一个线程执行的同时,另一个线程闲置的状况。 但是两个逻辑处理器还是共用一套CPU资源。E.g.当一个处理线程在使用浮点运算器时,另一个线程就只能进行整数运算。 2.1中央处理器 处理器的构成 特权指令与非特权指令 处理器状态 程序状态字寄存器 CPU的构成 寄存器 寄存器是一组CPU内部的存储器,容量小但速度快,一般存放操作数、地址以及控制信息等。 它们构成了一级储存 通用寄存器 数据寄存器 地址寄存器 I/O地址寄存器 I/O缓冲寄存器 控制寄存器 其他寄存器 特权指令与非特权指令 特权指令:只能由操作系统使用的指令。(如启动I/O设备、设置时钟、控制中断屏蔽位、清内存、建立存储键,加载PSW等) 使用多道程序设计技术的计算机指令系统必须要区分为特权指令和非特权指令 CPU如何知道当前运行的是用户程序还是操作系统呢? 处理器状态 管理状态(特权状态、系统模式、特态或管态) 程序可以执行全部指令,使用所有资源,具有改变处理器状态的能力 用户状态(目标状态、用户模式、常态或目态) 程序只能执行非特权指令 问题: 1.两种状态记录在何处? 2.两种状态如何转化? 程序状态字寄存器 通常操作系统都引入程序状态字PSW来区别不同的处理器工作状态并且保留和指示与运行程序有关的各种信息。它主要内容包括: 程序基本状态 程序计数器PC 条件码:反映指令执行后的结果特征 处理器状态 中断码:保存程序执行当时发生的中断事件 中断屏蔽码:指明程序执行中发生中断事件时,是否响应出现的中断事件 程序状态字寄存器(续) PSW保存了程序的CPU现场信息 每个程序都有一个与其执行相关的PSW,每个处理器都设置一个PSW寄存器。程序占有处理器执行,它的PSW将占有PSW寄存器。 各种不同的处理器的控制寄存器组织方式不同,所以大多数计算机的处理器现场都有一组控制与状态寄存器构成。课本中为了方便解释,就使用程序状态字这个概念来表达CPU现场信息。 复习:进程和程序 一个程序装载入内存后有四个部分: 代码 数据 堆(heap):malloc分配的空间就是从这里来的 栈(stack):系统使用的空间,保存函数的返回地址。
您可能关注的文档
最近下载
- JSG2025105供应链管理赛项样题-模块一.docx VIP
- 大数据与会计大学生职业规划.pptx VIP
- 《脑血管搭桥手术》课件.ppt VIP
- 4 二元一次方程(组)(测试)-七年级数学下学期期末考点(人教版)(含答案析).docx VIP
- 6.8二元一次方程(作业)解析版.docx VIP
- 黑龙江省养老机构服务合同(示范文本).docx VIP
- 第7章 平行线的证明(典型题专练)-八年级数学上学期期中期末考试满分攻略(北师大版)原卷版.docx VIP
- 督灸技术知识培训课件.pptx VIP
- 实验训练1在MySQL中创建数据库和表 (1).docx VIP
- 第7章 平行线的证明(压轴题专练)-八年级数学上学期期中期末考试满分攻略(北师大版)原卷版.docx VIP
原创力文档


文档评论(0)