操作系统原理学习笔记(二十一)-对换
文章首发及后续更新:https://mwhls.top/1350.html
新的更新内容请到mwhls.top查看。
无图/无目录/格式错误/更多相关请到上方的文章首发页面查看。
操作系统原理学习笔记目录
对换(Swapping)的概念
- 单用户分时系统中的对换:
- 为了实现分时运行多个用户程序而引入。
- 将用户作业存放于磁盘,每次调入一个作业进入内存,时间片用完后,将其调至外存后备队列,将后备队列中另一个作业调入内存。
- 现在很少使用。
- 多道程序环境下的对换:
- 为了解决资源浪费,将内存中被阻塞进程,或不用的数据调入外存,再将具备运行条件的进程装入内存。
- Unix系统中的对换:
- 设置一个对换进程,由其进行对换操作。
- Windows系统中的对换:
- 进程在装入内存时,若内存空间不足,则将其与老进程对换。
对换的类型
- 整体对换/进程对换:
- 以进程作为对换单位。
- 处理机中级调度就是存储器的对换功能。
- 用于多道程序系统中,并作为处理机的中级调度。
- 页面对换/分段对换/部分对换:
- 以页面/分段作为对换单位。
- 页面对换与分段对换统称为部分对换。
- 是请求分页与请求分段式存储管理的基础。
对换空间的管理
- 对换空间管理的主要目标
- 对文件区管理的主要目标:
- 优先提高存储空间利用率,后提高对文件访问速度。
- 采用离散分配方式
- 对对换空间管理的主要目标:
- 优先提高进程交换速度,后提高文件存储空间利用率。
- 采用连续分配方式。
- 对文件区管理的主要目标:
- 对换区空闲盘块管理中的数据结构
- 与动态分区分配相似,可以使用空闲分区表与空闲分区链。
- 空闲分区表中,包含:
- 对换区首地址-盘块号。
- 对换区大小-盘块数。
- 对换空间的分配与回收
- 分配方式与动态分区方式相似,可用如下算法:
- 首次适应算法。
- 循环首次适应算法。
- 最佳适应算法。
- 回收方式与回收内存方式一样,对以下四种情况进行处理:
- 前有空闲分区。
- 后有空闲分区。
- 前后有空闲分区。
- 前后无空闲分区。
- 分配方式与动态分区方式相似,可用如下算法:
进程的换入与换出
- 进程的换出:
- 选择被换出的进程:
- 检查内存中进程,优先选择阻塞/睡眠状态的进程,再选择其中优先级最低的进程作为换出进程。
- 无阻塞进程时,选择其中优先级最低的进程。
- 为了防止低优先级进程频繁出入,进程的驻留时间也应纳入考虑。
- 进程换出过程:
- 只能换出非共享的程序与数据段。
- 换出时,先申请对换空间,成功后,启动磁盘,将待兑换数据传入磁盘对换区中。
- 传送成功,无出错后,回收进程所占用内存空间,并修改相应数据结构。
- 若换出进程后,依然有阻塞/睡眠进程,则继续换出。
- 选择被换出的进程:
- 进程的换入:
- 定时执行换入操作:
- 查看PCB集合中所有进程状态,找出“就绪”且已换出的进程。
- 数量足够多时,选择其中驻留时间足够,且驻留最久的进程作为换入内存。
- 若换入失败,则先将内存中进程换出,再进行换入。
- 若换入成功后,还有可换入进程,则继续换入,直到无“就绪”且已换出进程,或无足够内存为止。
- 常用的对换方案:
- 在进程运行时经常缺页且内存紧张,才启动对换程序。
- 若缺页率减少,系统吞吐量下降,则暂停对换程序。
- 定时执行换入操作:
操作系统原理学习笔记(二十一)-对换相关推荐
- python3.4学习笔记(二十一) python实现指定字符串补全空格、前面填充0的方法
python3.4学习笔记(二十一) python实现指定字符串补全空格.前面填充0的方法 Python zfill()方法返回指定长度的字符串,原字符串右对齐,前面填充0. zfill()方法语法: ...
- Mr.J-- jQuery学习笔记(二十一)--模拟微博页面
先看之前的节点操作方法:Mr.J-- jQuery学习笔记(二十)--节点操作方法 Mr.J-- jQuery学习笔记(五)--属性及属性节点 Mr.J-- jQuery学习笔记(十一)--事件委托 ...
- 操作系统原理学习笔记(基础概念与进程)
学习视频 王道的操作系统原理,我在网上搜了一下,没有那个视频像湖科大那种推荐的人那么多,感觉这个还可以,就看这个了. 随看随记 进程运行前需要将需要执行的程序放置到内存中,内存再到CPU中执行程序. ...
- kvm虚拟化学习笔记(二十一)之KVM性能优化学习笔记
本学习笔记系列都是采用CentOS6.x操作系统,KVM虚拟机的管理也是采用virsh方式,网上的很多的文章都基于ubuntu高版本内核下,KVM的一些新的特性支持更好,本文只是记录了CentOS6. ...
- 操作系统原理学习笔记(文件与I/O)
学习视频 随看随记 成组链接法 文件管理 文件系统 文件的基本概念 文件的属性 文件名:由创建文件的用户决定文件名,主要是为了方便用户找到文件,同一目录下不允许有重名文件. 标识符:一个系统内的各文件 ...
- linux驱动开发学习笔记二十一:异步通知
一.异步通知简介 我们首先来回顾一下"中断",中断是处理器提供的一种异步机制,我们配置好中断以后就可以让处理器去处理其他的事情了,当中断发生以后会触发我们事先设置好的中断服务函数, ...
- 浏览器工作原理学习(二十一)
浏览器安全分为三大块:Web页面安全.浏览器网络安全和浏览器系统安全. Web页面安全 什么是同源策略 如果两个URL的协议.域名和端口都相同,我们就称这两个URL同源. 浏览器默认两个相同的源之间是 ...
- 操作系统原理--学习笔记2
二.处理器管理 2.1中断系统 中断: 指计算机在执行期间, 系统内发生任何非寻常的或非预期的急需处理事件, 使得CPU暂时中断当前程序的执行, 而转去执行相应的事件处理程序, 等到事件处理结束后又返 ...
- 媒体查询配合rem使用(HTML+CSS学习笔记二十一)
媒体查询 + rem 计算方法 计算rem方法: 结合媒体查询 -> 随着设备的改变 更改html font-size的值. 媒体查询确定范围?? 移动端设计图 : 640px 750p ...
最新文章
- OpsDev是什么?
- UVa1377 Ruler(dfs或者bfs)
- 让你的JXTA应用更加安全.建立真正你自己的私有的组!
- 扑捉和捕捉的区别照相_扑捉和捕捉的区别照相
- 随想录(对比着c学java)
- Arcgis Javascript那些事儿(十二)——geometry service几何服务
- vue 第二天(常用指令及插值语法)
- hiredis中异步的实现小结
- Adobe Acrobat如何快速将PDF文档的书签修改为“承前缩放”——PDF增效插件AutoBookmark
- Neo4j ---windows下载安装neo4j
- 如何通过Matlab调用Aspen?
- html---表单实例代码
- android一键清理任务,Android 一键清理、内存清理功能实现
- 你不了解的 @reduxjs/toolkit 中的createApi
- 视频转换成flv注意事项
- [超详细高达5000字]一篇带你玩转数据分析与数据可视化
- linux 选择 平铺 窗口,【如何配置linux 平铺式窗口管理器i3wm?】-看准网
- smartupload工具上传文件
- 智能门锁:电源管理概述2
- Eclipse使用c3p0连接池出现A ResourcePool could not acquire a resource from its primary factory or sour错误