- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
虚拟存储器按请求分页技术
William Stallings 计算机组成与结构(第8版) 第八章 操作系统支持 操作系统的目标与功能 便利性 使计算机使用起来更方便 效率 允许计算机系统的资源以有效的方式使用 计算机系统的层次结构 操作系统提供的主要服务 程序创建 程序执行 访问I/O设备 文件访问控制 系统访问 错误检查和响应 审计 操作系统作为资源管理器 操作系统的类型 交互式 批处理 单任务 多任务 早期的系统 20世纪40年代末到50年代中期 没有操作系统 程序员直接与计算机硬件交互 两个主要问题 : 调度 安装时间 简单的批处理系统 常驻监控程序 用户向操作员提交任务 操作员把任务成批的放在一起 监控程序按顺序执行这些任务 当前任务完成后,控制权交回给监控程序以读入下一个作业 监控程序负责调度 常驻监控程序的内存分布 任务控制语言 提供给监控程序的一种特殊的程序设计语言 起始符通常用“$”表示 例 $JOB $FTN ... Some Fortran instructions $LOAD $RUN ... Some data $END 需要的硬件支持 内存保护 保护监控程序 定时器 防止一个任务垄断系统资源 特权指令 只能被监控程序执行 例如I/O指令 中断 使得操作系统可以中止任务重获控制权 多道程序批处理系统 I/O设备的速度比处理器要慢 当一个作业需等待I/O时,处理器可以转去处理另一个作业,而不必等待I/O 单道程序 有2个程序的多道程序 有3个程序的多道程序 资源利用率 分时系统 允许用户与计算机直接交互 即交互式 多道程序技术允许多个用户与计算机进行交互 调度 多道程序的关键 长期调度 中期调度 短期调度 I/O调度 长期调度 确定哪些程序提交给系统处理 控制多道程序设计的深度(内存中的进程数) 一旦提交,作业或用户程序就成为进程,并加入到短期调度的队列中 在某些系统中,新建的进程处于换出状态,此时,它们会加入到中期调度的队列中 中期调度 交换(swapping)功能的一部分 通常基于管理多道程序的需要 在没有虚拟存储的系统中,存储管理也是一个问题 短期调度 派遣程序 细粒度地判定接下来运行哪个作业 即:下一个时间片由哪一个进程来使用CPU 进程状态模型 进程控制块 标识符 状态 优先级 程序计数器 存储器指针 现场数据 I/O状态信息 统计信息 进程控制块框图 调度示例 操作系统的要素 进程调度 存储器管理 单道程序设计系统 主存划分成两大部分 一部分分配给操作系统(常驻监控程序) 另一部分分配给当前正在执行的程序 多道程序设计系统 存储器的“用户”存储区须进一步细分供多个进程使用 交换 问题:处理器速度比I/O快得多,即使在多道程序设计中,处理器仍可能有许多时间处理空闲状态 解决方案: 扩大主存 昂贵 更大的程序 交换 什么是交换? 进程请求的长期队列,通常存储在磁盘上 当主存有空间时,进程被调入(每次调入一个) 当进程完成时,移出主存 存储器中无进程处于就绪状态(例如,所有进程都在等待I/O操作) 把这些进程中的一个调回磁盘,排入中间队列 从中间队列中调入另一个进程,或处理长期队列中的一个新进程请求,并执行新到达的进程 然而,交换是一种I/O操作 … 交换 分区 把主存分块以容纳多个进程(包括操作系统) 固定长度分区 每个分区的长度可以不相等 当一个进程调入主存时,分配给它一个能容纳它的最小的分区 浪费了主存 更有效的方法是使用变长分区 固定分区举例 变长分区 (1) 当一个进程调入主存时,分配的分区大小可以与进程所需的大小一样,一点也不多 多个进程调入主存,最后导致主存末尾出现一小块空间,太小以至于无法被任何进程所用 只有一个小洞,浪费不多 当所有进程阻塞时,换出一个进程,换入另一个进程 新进程也许比换出的进程更小 另一个(主存)洞出现了 变长分区 (2) 最后将导致在存储器中出现许多小的空块 (主存碎片化) 解决方案: 紧缩 - 操作系统一次又一次地移动存储器中的进程,把所有空闲块放置在一起,组成一个整块 (例如磁盘碎片整理) 变长分区的效果 进程的位置迁移 无法保证一个进程每次换入时分配到与上次相同的位置 指令可以包含两种类型的存储器单元的地址 数据的地址 指令的地址,用于转移指令 逻辑地址 - 相对于程序起始单元的地址 物理地址 - 主存中的实际单元地址 (当前) 通过基地址自动转换 分页 把存储器分成相当小的、相等的固定长度的存储块 - 页帧 将每个进程也划分成小的固定长的程序块 - 页 为进程分配它所需要数量的页帧 空闲帧
文档评论(0)