操作系统-内存与外存的对换
1.对换的引入
在多道程序环境下,可能会有如下两个问题:
- 内存中的某些进程可能被阻塞(由于等待I/O或其他原因),但是该进程占用了大量的内存空间,甚至会发生内存中所有的进程都被阻塞的情况。
- 在上述情况下,还有些作业在外存上等待调入内存,但因内存空间已被那些阻塞的进程占用所以这些在外存上等待的作业无法被调入内存执行。
上诉两个问题会导致系统资源被严重浪费,且系统吞吐量(单位时间内完成的工作量)会下降。为了解决这个问题,引入了对换(swapping)。
2.概念
对换是指将内存中的暂时还不能被运行的进程或者暂时用不到的程序和数据,调到外存上(在linux中,有个/swap分区专门用户对换),以便腾出足够的内存供在外存中等待的作业使用。
3.对换分类
按照进行对换的单位,可以将对换分为如下三类:
- 进程对换(整体对换):以进程为单位进行对换。
- 页面对换(部分对换):以页面为单位进行对换。
- 分段对换(部分对换):以分段为单位进行对换。
整体对换主要用于分时系统,而部分对换的主要目的是为了支持虚拟存储系统。
4.进程对换
为了实现进程对换,要操作系统要实现的三大功能:
- 对换空间的管理
- 进程的换出
- 进程的换入
4.1.对换空间(外存的磁盘空间)的管理
具有对换功能的操作系统通常将外存分为文件区和对换区。
文件区用于存放文件,对换区存放从内存中换出的进程。
文件区的侧重点是外存空间利用率,为了提高文件区的外存空间利用率,文件区采用离散分配方式。
对换区的侧重点是换入换出速度,为了提高对换区的换入换出速度,对换区采用连续分配方式。
为了对换区中的空闲磁盘分区进行管理,可以采用类似于动态分区分配中采用的空闲分区表/链。
至于对换区中的空闲磁盘分区的分配算法也可以借鉴动态分区分配算法。
4.2进程的换出
(1)选择处于阻塞状态下并且优先级最低的进程作为换出进程
(2)启动磁盘
(3)将该进程的程序和数据传送到磁盘
4.2进程的换入
(1)操作系统定时的查看所有进程的状态
(2)找出处于就绪状态的进程
(3)找出换出时间最长的进程作为换入进程
(4)将该进程换入内存
操作系统-内存与外存的对换相关推荐
- 操作系统内存管理-Linux版
引言 操作系统内存管理:总的来说,操作系统内存管理包括物理内存管理和虚拟内存管理. 物理内存管理: 包括程序装入等概念.交换技术.连续分配管理方式和非连续分配管理方式(分页.分段.段页式). 虚拟内存 ...
- 操作系统内存管理——分区、页式、段式管理
操作系统内存管理--分区.页式.段式管理 标签: 内存管理操作系统数据结构算法 2010-07-05 11:26 20805人阅读 评论(5) 收藏 举报 分类: 操作系统(4) 版权声明:本文为博主 ...
- 操作系统 —— 内存管理
目录 一.思维导图 二.内存的基础知识 2.1 什么是内存? 2.2 存储单元 2.3 逻辑地址和物理地址 2.4 编译.链接.装入 2.4.1 编译 2.4.2 链接 链接的三种方式 : 2.4.3 ...
- 操作系统内存管理详细总结
1. 内存管理的概念 内存管理(Memory Management)是操作系统设计中最重要和最复杂的内容之一.虽然计算机硬件一直在飞速发展,内存容量也在不断增长,但是仍然不可能将所有用户进程和系统所需 ...
- 操作系统12————存储器管理之对换
操作系统12----存储器管理之对换 一.目录 文章目录 操作系统12----存储器管理之对换 一.目录 二.概述 三.多道程序环境下的对换技术 1.对换的引入 2.对换的类型 四.对换空间的管理 1 ...
- 【操作系统】存储器管理:对换
对换的引入: 把内存中暂时不能运行的进程或不用的进程换出到外存上,以便腾出足够内存空间,再把已具备运行条件的进行或进程所需要的程序和数据换入内存. 提高内存利用率,广泛应用OS中. 对换类型: 整体对 ...
- 操作系统内存知识概括
操作系统内存知识概括 内存 内存管理 非连续分配管理方式 虚拟内存 页面置换算法 页面分配策略 内存 内存的用户空间和内核空间: Linux虚拟内存的大小为2^32(在32位的x86机器上),内核将这 ...
- 内存和外存的主要区别_内存与外存的关键区别有哪些?
易失性VS非易失性.内存,例如随机存取内存(RAM),是具有易失性的.这意味着当系统断电时,数据就会丢失.与之相反,外部存储是非易失性的,因此即使没有电源,它也能保存数据. 性能和容量.在大多数情况下 ...
- 计算机内存和外存的作用,内存和外存的主要区别之处竟是在这里!
原标题:内存和外存的主要区别之处竟是在这里! 内存:也称为内存储器.主存储器,简称为内存.它是计算机的重要的组成部分,也是我们前面说的计算机的大脑的主要部分.内存由高速半导体存储器芯片组成,是计算机运 ...
最新文章
- 【radar】毫米波雷达静态障碍物识别及其相关资料(仿真、生成、标定、运动估计、静态障碍物识别)(3)
- 亚马逊用算法解雇员工:“没想到我的HR居然不是人”
- JS+jQuery简单版发布、删除留言
- 平面上给定n条线段,找出一个点,使这个点到这n条线段的距离和最小。
- 链表的有序集合_JAVA
- tableview 的小 点点,
- [C#.NET 拾遗补漏]06:单例模式最佳实践
- 程会玩 | 在.NET Core里操作Git
- linux mysql安装_Linux下安装mysql服务(超详细)
- 一文看懂华为云AI新政,这波开发者福利有点硬
- EasyRecovery如何添加XML头文件标识
- 耐人寻味的 8 幅Java技术图
- 1011. World Cup Betting (20)——PAT (Advanced Level) Practise
- 计算机数字音频工作站 pdf,分享一款开源和免费的数字音频工作站
- 谷歌如何捕获街景中的门牌号码
- 11.	Zigbee应用程序框架开发指南 - 命令行接口(CLI)
- python语法简单吗_python基本语法练习实例 python好学吗? 语法简单吗? 举个例子?...
- 维夏英语暑期调研小分队——第二天
- 《软件工程——实践者的研究方法》重难点复习笔记(第八章——理解需求)
- 记录下echarts Map3D地图渐变