第1章 计算系统概述(操作系统).ppt

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

* * * 多中断的时序 * 多道程序设计 仅靠中断,处理器并不能得到充分有效地利用。 在I/O操作期间,处理器大多是空闲的。 解决办法——同时运行多个程序,在一个程序等待耗时的I/O操作时,可转换执行另一个程序。 多道程序设计(multiprogramming)——多个程序轮流执行的概念。 将在教材的2.2.3小节中详细讨论。 * 1.5 存储器层次结构 存储器的设计目标——大容量、高速度、低价格 存储器的容量、速度与价格三者之间的关系 速度快→价格高 容量大→价格低 容量大→速度慢 解决办法——使用分级存储器体系(memory hierarchy,存储器层次[结构]) 存储器的层次结构(从上往下) 价格递减 容量递增 速度递减(存取时间递增) 访问频率递减(局部性原理) * * 在执行程序期间,处理器的指令存储访问和数据存储访问呈现“簇”(指一组数据集合)状。典型的程序包含许多迭代循环和子程序,一旦程序进入一个循环或子程序执行,就会重复访问一个小范围的指令集合。同理,对表和数组的操作涉及到存取 “一簇” 数据。 经过很长的一段时间, 程序访问的 “簇” 会改变, 但在较短的时间内, 处理器主要访问存储器中固定的 “簇”。 因此,可以通过层次组织数据,使得随着组织层次的递减,对各层次的访问比例也依次递减。 存储器的 层次结构图 * 各级存储器的特点 1.寄存器位于处理器内,与CPU的运算器和控制器同速 2.高速缓存(cache)也位于(多核)CPU内,还可分成多个级别,一般一级和二级位于单个核内,三级由所有核共享。高速缓存对处理器和程序员都是不可见的。 3.内存是计算机的主存储器,每个存储单元有唯一地址,可被处理器和程序代码访问。 上面这三种存储器都是采用半导体技术制成,所存储的内容是易失的。 4.外存(板外和离线存储器)是非易失的,也叫辅助存储器(secondary memory / auxiliary memory)。 硬盘一般还用作主存的扩展——虚拟存储器(virtual memory)。 * 两级存储器的性能 命中(hit)——在快速的第一级存储器中找到了要存取的字。未找到被定义为未命中(miss)。 性能曲线——两级存储器的平均存取时间(average access time) T是命中率(hit ratio) H的线性函数。 性能曲线 * 1.6 高速缓存 高速缓存 (cache [memory]) 对操作系统不可见。 高速缓存与其他存储管理硬件相互影响。 虚拟存储的原理与高速缓存的类似。 处理器每执行一条指令至少需要访问一次存储器(取指令),一般还会多次访问存储器(取操作数和保存操作结果)。 内存的速度远远低于处理器的速度,速度的不匹配已经成为很严重的问题。 解决办法——利用局部性原理,在处理器和内存之间,提供一种小容量的快速存储器——高速缓存。 * 高速缓存 与主存 * 高速缓存与 内存的结构 * 高速缓存 读操作 * 高速缓存的设计因素 1、大小——适当小的高速缓存,对性能产生显著影响。 2、块大小——块是高速缓存与内存间的数据交换单位。块在开始增大时,命中率会增加;但是,当块变得很大时,由于块交换的概率大增,使得命中率反而下降。 3、映射函数——确定读入高速缓存的快将占据哪个高速缓存单元。设计得越灵活,则越有利于增大命中率的置换算法。 4、置换算法——选择置换在不久的将来会被访问到的可能性最小的块。一般采用LRU(Least-Recently-Used,最近最少使用)算法,需要硬件机制支持。 5、写策略——高速缓存的块内容被修改后,需要在其被换出前写回内存。写操作规定何时执行写操作。 6、级数——一般分为L1(最接近处理器)、L2和L3 * 1.7 直接内存存取 I/O操作的三种可能技术: 编程I/O(programmed I/O)= 无中断I/O 中断驱动I/O(interrupt-driven I/O) = 有中断I/O DMA(Direct Memory Access,直接内存存取) * 数据块输入的三种技术 * 编程I/O 在处理器遇到与I/O相关的指令时,通过向对应的I/O模块发送命令来执行该指令。 I/O模块执行请求动作,并设置I/O状态寄存器的相应位。 I/O模块不会通知处理器,也不会中断处理器。 处理器在执行I/O指令后,还需定期检查I/O模块的状态,以确定I/O操作是否完成。 处理器负责从内存中取数据用于输出,并在内存中保存数据用于输入。 需I/O指令类型:控制(外设)、(检查)状态、传送(数据)。 主要缺点——耗时(处理器需长时等待I/O操作的准备和完成)、低效(处理器需不断询问I/O模块的状态)。 * 中断驱动I/O 处理器在给I/O模块发送I/O命令

文档评论(0)

173****7830 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档