对换

1、对换(swapping)的引入

在多道程序环境下,一方面,在内存中的某些进程由于某事件尚未发生而被阻塞运行,但它却占用了大量的内存空间,甚至有时可能出现

在内存中所有进程都被阻塞而迫使CPU停止(空闲)下来的情况。

另一方面,却又有许多作业在外存上等待(就绪),因无内存而不能进入内存运行的情况。

显然这是对系统资源的一种浪费,系统吞吐量下降。为了解决这一问题,系统中增设了对换(交换)设施。

所谓“对换”,是指把内存中暂时不能运行阻塞)的进程或者暂时不用程序和数据调出到外存上,以便腾出足够的内存空间,再把已具备运行条件

的进程或者进程所需要的程序和数据调入内存。对换提高了内存的利用率。(中级调度)

-------  如果对换是以整个进程为单位的,便称之为“整体对换”或“进程对换”。

这种对换被广泛地应用于分时系统中,其目的是用来解决内存紧张的问题,进一步提高内存利用率。

-------  如果对换是以“”或“”为单位进行的,则分别称之为“页面对换”或“分段对换”,又统称为“部分对换”。

2、对换空间的管理

在具有对换功能的OS中,通常把外存分为文件区对换区。文件区用于存放文件,对换区用于存放从内存换出的进程

---- 由于通常的文件都是较长久地驻留在外存上,故对文件区管理的主要目标,是提高文件存储空间的利用率,为此,对文件区采取离散分配方式.

---- 进程在对换区中驻留的时间是短暂的,对换操作又较频繁,故对对换空间管理的主要目标,是提高进程换入和换出速度.

      为此,采取的是连续分配方式,较少考虑外存中的碎片问题.

3、进程的换出和换入

1)进程的换出。

每当一进程由于创建子进程需要更多的内存空间,但又无足够的内存空间等情况发生时,系统应将某进程换出。

过程是:系统首先选择处于阻塞状态且优先级最低的进程作为换出进程,然后启动磁盘,将该进程的程序和数据传送到磁盘的对换区上.

若传送过程中未出现错误 ,便可回收该进程所占用的内存空间,并对该进程的进程控制块(PCB)做相应的修改.

内存阻塞--->外存阻塞(阻塞+挂起)---->外存就绪(就绪+挂起 等待的事件到来)----->运行(调度程序将CPU分配给该进程)

2)进程的换入.

系统应定时地查看所有进程的状态,从中找出"就绪"状态但已换出的进程(外存就绪),将其中换出时间最久(换出到磁盘上)的进程作为换入进程,

将之换入,直至已无可换入的进程或无可换出的进程为止.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值