文章首发及后续更新:https://mwhls.top/1350.html
新的更新内容请到mwhls.top查看。
无图/无目录/格式错误/更多相关请到上方的文章首发页面查看。

操作系统原理学习笔记目录

对换(Swapping)的概念

  • 单用户分时系统中的对换:

    • 为了实现分时运行多个用户程序而引入。
    • 将用户作业存放于磁盘,每次调入一个作业进入内存,时间片用完后,将其调至外存后备队列,将后备队列中另一个作业调入内存。
    • 现在很少使用。
  • 多道程序环境下的对换:
    • 为了解决资源浪费,将内存中被阻塞进程,或不用的数据调入外存,再将具备运行条件的进程装入内存。
  • Unix系统中的对换:
    • 设置一个对换进程,由其进行对换操作。
  • Windows系统中的对换:
    • 进程在装入内存时,若内存空间不足,则将其与老进程对换。

对换的类型

  • 整体对换/进程对换:

    • 以进程作为对换单位。
    • 处理机中级调度就是存储器的对换功能。
    • 用于多道程序系统中,并作为处理机的中级调度。
  • 页面对换/分段对换/部分对换:
    • 以页面/分段作为对换单位。
    • 页面对换与分段对换统称为部分对换。
    • 是请求分页与请求分段式存储管理的基础。

对换空间的管理

  • 对换空间管理的主要目标

    • 对文件区管理的主要目标:

      • 优先提高存储空间利用率,后提高对文件访问速度。
      • 采用离散分配方式
    • 对对换空间管理的主要目标:
      • 优先提高进程交换速度,后提高文件存储空间利用率。
      • 采用连续分配方式。
  • 对换区空闲盘块管理中的数据结构
    • 与动态分区分配相似,可以使用空闲分区表与空闲分区链。
    • 空闲分区表中,包含:
      • 对换区首地址-盘块号。
      • 对换区大小-盘块数。
  • 对换空间的分配与回收
    • 分配方式与动态分区方式相似,可用如下算法:

      • 首次适应算法。
      • 循环首次适应算法。
      • 最佳适应算法。
    • 回收方式与回收内存方式一样,对以下四种情况进行处理:
      • 前有空闲分区。
      • 后有空闲分区。
      • 前后有空闲分区。
      • 前后无空闲分区。

进程的换入与换出

  • 进程的换出:

    • 选择被换出的进程:

      • 检查内存中进程,优先选择阻塞/睡眠状态的进程,再选择其中优先级最低的进程作为换出进程。
      • 无阻塞进程时,选择其中优先级最低的进程。
      • 为了防止低优先级进程频繁出入,进程的驻留时间也应纳入考虑。
    • 进程换出过程:
      • 只能换出非共享的程序与数据段。
      • 换出时,先申请对换空间,成功后,启动磁盘,将待兑换数据传入磁盘对换区中。
      • 传送成功,无出错后,回收进程所占用内存空间,并修改相应数据结构。
      • 若换出进程后,依然有阻塞/睡眠进程,则继续换出。
  • 进程的换入:
    • 定时执行换入操作:

      • 查看PCB集合中所有进程状态,找出“就绪”且已换出的进程。
      • 数量足够多时,选择其中驻留时间足够,且驻留最久的进程作为换入内存。
      • 若换入失败,则先将内存中进程换出,再进行换入。
      • 若换入成功后,还有可换入进程,则继续换入,直到无“就绪”且已换出进程,或无足够内存为止。
    • 常用的对换方案:
      • 在进程运行时经常缺页且内存紧张,才启动对换程序。
      • 若缺页率减少,系统吞吐量下降,则暂停对换程序。

操作系统原理学习笔记(二十一)-对换相关推荐

  1. python3.4学习笔记(二十一) python实现指定字符串补全空格、前面填充0的方法

    python3.4学习笔记(二十一) python实现指定字符串补全空格.前面填充0的方法 Python zfill()方法返回指定长度的字符串,原字符串右对齐,前面填充0. zfill()方法语法: ...

  2. Mr.J-- jQuery学习笔记(二十一)--模拟微博页面

    先看之前的节点操作方法:Mr.J-- jQuery学习笔记(二十)--节点操作方法 Mr.J-- jQuery学习笔记(五)--属性及属性节点 Mr.J-- jQuery学习笔记(十一)--事件委托  ...

  3. 操作系统原理学习笔记(基础概念与进程)

    学习视频 王道的操作系统原理,我在网上搜了一下,没有那个视频像湖科大那种推荐的人那么多,感觉这个还可以,就看这个了. 随看随记 进程运行前需要将需要执行的程序放置到内存中,内存再到CPU中执行程序. ...

  4. kvm虚拟化学习笔记(二十一)之KVM性能优化学习笔记

    本学习笔记系列都是采用CentOS6.x操作系统,KVM虚拟机的管理也是采用virsh方式,网上的很多的文章都基于ubuntu高版本内核下,KVM的一些新的特性支持更好,本文只是记录了CentOS6. ...

  5. 操作系统原理学习笔记(文件与I/O)

    学习视频 随看随记 成组链接法 文件管理 文件系统 文件的基本概念 文件的属性 文件名:由创建文件的用户决定文件名,主要是为了方便用户找到文件,同一目录下不允许有重名文件. 标识符:一个系统内的各文件 ...

  6. linux驱动开发学习笔记二十一:异步通知

    一.异步通知简介 我们首先来回顾一下"中断",中断是处理器提供的一种异步机制,我们配置好中断以后就可以让处理器去处理其他的事情了,当中断发生以后会触发我们事先设置好的中断服务函数, ...

  7. 浏览器工作原理学习(二十一)

    浏览器安全分为三大块:Web页面安全.浏览器网络安全和浏览器系统安全. Web页面安全 什么是同源策略 如果两个URL的协议.域名和端口都相同,我们就称这两个URL同源. 浏览器默认两个相同的源之间是 ...

  8. 操作系统原理--学习笔记2

    二.处理器管理 2.1中断系统 中断: 指计算机在执行期间, 系统内发生任何非寻常的或非预期的急需处理事件, 使得CPU暂时中断当前程序的执行, 而转去执行相应的事件处理程序, 等到事件处理结束后又返 ...

  9. 媒体查询配合rem使用(HTML+CSS学习笔记二十一)

    媒体查询 + rem 计算方法 计算rem方法: 结合媒体查询 -> 随着设备的改变 更改html font-size的值. ​ 媒体查询确定范围?? ​ 移动端设计图 : 640px 750p ...

最新文章

  1. OpsDev是什么?
  2. UVa1377 Ruler(dfs或者bfs)
  3. 让你的JXTA应用更加安全.建立真正你自己的私有的组!
  4. 扑捉和捕捉的区别照相_扑捉和捕捉的区别照相
  5. 随想录(对比着c学java)
  6. Arcgis Javascript那些事儿(十二)——geometry service几何服务
  7. vue 第二天(常用指令及插值语法)
  8. hiredis中异步的实现小结
  9. Adobe Acrobat如何快速将PDF文档的书签修改为“承前缩放”——PDF增效插件AutoBookmark
  10. Neo4j ---windows下载安装neo4j
  11. 如何通过Matlab调用Aspen?
  12. html---表单实例代码
  13. android一键清理任务,Android 一键清理、内存清理功能实现
  14. 你不了解的 @reduxjs/toolkit 中的createApi
  15. 视频转换成flv注意事项
  16. [超详细高达5000字]一篇带你玩转数据分析与数据可视化
  17. linux 选择 平铺 窗口,【如何配置linux 平铺式窗口管理器i3wm?】-看准网
  18. smartupload工具上传文件
  19. 智能门锁:电源管理概述2
  20. Eclipse使用c3p0连接池出现A ResourcePool could not acquire a resource from its primary factory or sour错误

热门文章

  1. 红帽linux安装注意事项
  2. PC、手机平台主流字体兼容情况
  3. 新规范《钢筋混凝土用钢材试验方法》、《建设用卵石、碎石》、《建设用砂》变化内容一览
  4. 软件设计原则:高内聚低耦合
  5. 宝宝无人看管? 谷歌婴儿监控AI来当保姆!
  6. 变压变频调速的原理(VVVF)——基础补充
  7. 感想篇:8)关于提升机械结构工程师地位的畅想
  8. win7系统下解决VC6.0 与office2007、2010不兼容的问题
  9. 工业卡车(叉车)用充气轮胎行业研究及十四五规划分析报告
  10. 任务管理器被禁用时的三种恢复方法