当前位置:文档之家› 操作系统作业(虚拟存储器与磁盘缓存)

操作系统作业(虚拟存储器与磁盘缓存)

操作系统作业操作系统——虚拟存储器与磁盘缓存1
1.问题描述
虚拟存储器技术牺牲了内存访问速度,换取了可用内存容量的增加;磁盘高速缓存以内存容量的牺牲换取了I/O性能的提升。

一个以时间换空间,一个以空间换时间,这两种看似矛盾的技术为什么可以并存?
2.解答
在操作系统中,各种存储器管理方式都有一个共同点,就是他们都要求将一个作业全部装入内存后方能运行,所以就会出现有的作业很大,其所要求的内存空间超过了内存总容量,作业不能全部装入内存,致使该作业无法运行或者出现有大量作业要求运行,但由于内存容量不足以容纳所有这些作业,只能将少数的作业装入内存让他们先运行,而将其他大量的作业留在外存上等待,而这种情况的原因都是由于内存容量不够大,所以要增加内存容量,要是从物理上增加内存容量,成本太大。

而虚拟内存则是在逻辑上扩充了内存容量.
在具有层次结构存储器的计算机系统中,自动实现部分装入和部分替换功能,能从逻辑上为用户提供一个比物理贮存容量大得多,可寻址的“主存储器”。

虚拟存储区的容量与物理主存大小无关,而受限于计算机的地址结构和可用磁盘容量。

虚拟内存在计算机中的作用很大,电脑中所有运行的程序都需要经过内存来执行,如果执行的程序很大或很多,就会导致内存消耗殆尽。

为了解决这个问题,Windows中运用了虚拟内存技术,即拿出一部分硬盘空间来充当内存使用,当内存占用完时,电脑就会自动调用硬盘来充当内存,以缓解内存的紧张。

这样,在有效缓解了内存紧张的同时,也控制了成本.
而在文件系统中,对文件的访问速度至关重要,为了提高对文件的访问速度,可以提高磁盘的I/O的速度,能够将文件中的数据快速地从磁盘传送到内存中,或者相反。

但是目前,磁盘的I/O的速度远低于内存的访问速度,所以采用磁盘高速缓存技术硬盘上集成了高速缓存的芯片(内存),来提高硬盘的运行速度。

磁盘高速缓存是指利用内存中的存储空间,来暂存从磁盘中读出的一系列盘
块中的信息。

因此,这里的高速缓存是一组在逻辑上属于磁盘,而物理上是驻留在内存中的盘块。

高速缓存在内存中可分成两种形式。

第一种是在内存中开辟一个单独的存储空间来作为磁盘高速缓存,其大小是固定的,不会受应用程序多少的影响;第二种是把所有未利用的内存空间变为一个缓冲池,供请求分页系统和磁盘I/O时(作为磁盘高速缓存)共享。

此时高速缓存的大小,显然不再是固定的。

当磁盘I/O的频繁程度较高时,该缓冲池可能包含更多的内存空间;而在应用程序运行得较多时,该缓冲池可能只剩下较少的内存空间。

两个方式看似矛盾,但其实并不矛盾。

两种方式解决的是不同的问题。

虚拟存储技术解决的是内存容量问题,当内存不足时,通过硬盘空间对内存进行补充,缓解内存的紧张,使作业或者进程可以正常运行。

而磁盘高速缓存技术则是在需要的时候提高磁盘的I/O速度,从而提高对文件的访问速度。

两种方式解决的是不同的问题,在不同时刻,需要解决的问题是不同的,侧重点也是不同的。

因此,这两者是可以共存的。

相关主题