网站首页 > 技术教程 正文
虚拟存储器是存储管理中一个特别重要的概念,你要认真掌握虚存的定义和特征。此外,你还要知道为何要引入虚存、实现虚存技术的物质基础、虚存容量受到哪两方面的限制。
虚拟存储器的概念
(1)引入虚拟存储器的好处
① 用户编制程序时不必考虑内存容量的限制,只要按照实际问题的需要来确定合适的算法和数据结构就可简化程序设计的任务。
② 由于每个进程只有一部分装入内存,因而占用内存空间较少,在一定容量的内存中就可同时装入更多的进程,也相应增加了CPU的利用率和系统的吞吐量。
为了给用户(特别是大作业用户)提供方便,操作系统应把各级存储器统一管理起来。就是说,应该把一个程序当前正在使用的部分放在内存中,而其余部分放在磁盘上,在这种情况下启动进程执行。操作系统根据程序执行时的要求和内存的实际使用情况,使用对换技术随机地对每个程序进行换入/换出。
(2)对换技术
对换技术也称作交换技术。它的实现方式就类似于日常生活中几个单位租用一个会议厅那样,甲单位租用时间到了,就退出会议厅,由乙单位使用;乙单位到时后,也退出去,由丙单位使用,等等。如甲单位还需使用,就再租用,由管理者安排占用时间。
多道程序环境中也采用对换技术。此时,内存中保留多个进程。当内存空间不足以容纳要求进入内存的进程时,系统就把内存中暂时不能运行的进程(包括程序和数据)换出到外存上,腾出内存空间,把具备运行条件的进程从外存换到内存中。在UNIX/Linux系统中对内存的管理就利用了这种多道程序的对换技术。
(3)虚拟存储器的概念
虚拟存储器(Virtual Memory)是用户能作为可编址内存对待的虚拟存储空间,它使用户逻辑存储器与物理存储器分离,是操作系统给用户提供的一个比真实内存空间大得多的地址空间。就是说,虚拟存储器并不是实际的内存,它的大小比内存空间大得多;用户感觉所能使用的“内存”非常大,这是操作系统对逻辑内存的扩充。
实现虚拟存储技术的物质基础是二级存储器结构和动态地址转换机构。经过操作系统的改造,将内存和外存有机地联系在一起,在用户面前呈现一个足以满足编程需要的特大内存空间。
虚拟存储器实质上是把用户地址空间和实际的存储空间区分开来,当作两个不同的概念。动态地址转换机构在程序运行时把逻辑地址转换成物理地址,以实现动态定位。
应注意,虚拟存储器虽然给用户提供了特大地址空间,用户在编程时一般不必考虑可用空间有多大,但虚拟存储器的容量不是无限大的。它主要受到两方面的限制:
① 指令中表示地址的字长。机器指令中表示地址的二进制位数是有限的,如果地址单元以字节编址,且表示地址的字长是16位,则可以表示的地址空间最大是64KB。如果表示地址的字长是32位,则可以表示的地址空间最大是4GB。
② 外存的容量。从实现观点来看,用户的程序和数据都必须完整地保存在外存(如硬盘)中。然而,外存容量、传送速度和使用频率等方面都受到物理因素的限制。就是说,磁盘的容量有限,并非真正“无穷大”,其传送速度也不是“无限快”,所以,虚拟空间不可能无限大。
虚拟存储器的特征
虚拟存储器的特征可以用16个字来概括:虚拟扩充、部分装入、离散分配、多次对换。
对于虚拟存储器这个基本概念应从以下4个方面进行理解,这些也是虚拟存储器所具有的基本特征:
① 虚拟扩充
虚拟存储器不是扩大物理内存空间,而是扩充逻辑内存容量。就是说,用户编程时所用到的地址空间可以远大于实际内存的容量。例如,实际内存只有1MB,而用户程序和数据所用的空间却可以达到10MB或者更多。所以,用户“感觉”内存扩大了。
② 部分装入
每个进程不是全部一次性地装入内存,而是分成若干部分。当进程要执行时,只需将当前运行需要用到的那部分程序和数据装入内存。以后在运行过程中用到其他部分时,再分别把那些部分从外存调入内存。
③ 离散分配
一个进程分成多个部分,它们没有被全部装入内存。即使装入内存的那部分也不必占用连续的内存空间。这样,一个进程在内存的部分可能散布在内存的不同地方,彼此并不连续。这样做,不仅可避免内存空间的浪费,而且为进程动态调入内存提供方便。
④ 多次对换
在一个进程运行期间,它所需的全部程序和数据分成多次调入内存。每次调入一部分,只解决当前需要,而在内存的那些暂时不被使用的程序和数据,可换出到外存的对换区;甚至把暂时不能运行的进程在内存的全部映像都换出到对换区,以腾出尽量多的内存空间供可运行的进程使用。被调出的程序和数据在需要时可以重新调入内存中。
虚拟存储器根据地址空间的结构不同可以分为分页虚拟存储器和分段虚拟存储器两类。本课程只介绍分页虚拟存储器。
猜你喜欢
- 2024-10-05 业界:开源硬件挑战 GPU 计算极限 gpu计算平台开发
- 2024-10-05 计算机存储器 计算机存储器中,组成一个字节的二进制位数是
- 2024-10-05 巧妙使用Windows虚拟内存功能,0成本让你的系统性能火速提升
- 2024-10-05 计算机组成原理考点总结 计算机组成原理考点整理
- 2024-10-05 Win10虚拟内存设置多少合适?这样设置就最好!
- 2024-10-05 没内存了还能看片?什么是虚拟内存?虚拟内存原理与工作方式
- 2024-10-05 问题:页式虚拟存贮器把( )空间和( )空间都机械等分成相同大小的
- 2024-10-05 win7虚拟内存多少最好,如何设置win7虚拟内存
- 2024-10-05 页式虚拟存储练习 页式虚拟存储管理的实现原理
- 2024-10-05 计算机组成原理复习要点(复习必过)
你 发表评论:
欢迎- 04-26偶尔摸鱼18--招新海报
- 04-26一张还不知道能不能被采用的海报
- 04-26美工技巧:如何快速找素材找灵感?
- 04-26收集24个学好PPT的网站,拿走不谢
- 04-26美工设计必备的国内外素材网站大全
- 04-26电商设计师必备的国内外素材网站大全!
- 04-26安全防护标准化高清图,安全文明施工必备
- 04-26图说筏板基础施工那些事儿
- 最近发表
- 标签列表
-
- sd分区 (65)
- raid5数据恢复 (81)
- 地址转换 (73)
- 手机存储卡根目录 (55)
- tcp端口 (74)
- project server (59)
- 双击ctrl (55)
- 鼠标 单击变双击 (67)
- debugview (59)
- 字符动画 (65)
- flushdns (57)
- ps复制快捷键 (57)
- 清除系统垃圾代码 (58)
- web服务器的架设 (67)
- 16进制转换 (69)
- xclient (55)
- ps源文件 (67)
- filezilla server (59)
- 句柄无效 (56)
- word页眉页脚设置 (59)
- ansys实例 (56)
- 6 1 3固件 (59)
- sqlserver2000挂起 (59)
- vm虚拟主机 (55)
- config (61)
本文暂时没有评论,来添加一个吧(●'◡'●)