本文共 886 字,大约阅读时间需要 2 分钟。
在多道程序环境下,可能会有如下两个问题:
上诉两个问题会导致系统资源被严重浪费,且系统吞吐量(单位时间内完成的工作量)会下降。为了解决这个问题,引入了对换(swapping)。
对换是指将内存中的暂时还不能被运行的进程或者暂时用不到的程序和数据,调到外存上(在linux中,有个/swap分区专门用户对换),以便腾出足够的内存供在外存中等待的作业使用。
按照进行对换的单位,可以将对换分为如下三类:
整体对换主要用于分时系统,而部分对换的主要目的是为了支持虚拟存储系统。
为了实现进程对换,要操作系统要实现的三大功能:
具有对换功能的操作系统通常将外存分为文件区和对换区。
文件区用于存放文件,对换区存放从内存中换出的进程。 文件区的侧重点是外存空间利用率,为了提高文件区的外存空间利用率,文件区采用离散分配方式。 对换区的侧重点是换入换出速度,为了提高对换区的换入换出速度,对换区采用连续分配方式。 为了对换区中的空闲磁盘分区进行管理,可以采用类似于动态分区分配中采用的空闲分区表/链。 至于对换区中的空闲磁盘分区的分配算法也可以借鉴动态分区分配算法。(1)选择处于阻塞状态下并且优先级最低的进程作为换出进程
(2)启动磁盘 (3)将该进程的程序和数据传送到磁盘(1)操作系统定时的查看所有进程的状态
(2)找出处于就绪状态的进程 (3)找出换出时间最长的进程作为换入进程 (4)将该进程换入内存转载地址:http://vuxen.baihongyu.com/