29-传统存储方式与虚拟内存

文章探讨了传统存储方式的一次性与驻留性问题,以及如何通过高速缓冲技术和虚拟内存来解决这些问题。虚拟内存利用局部性原理,允许程序分多次装入内存,实现对换和逻辑上的内存扩充,提高了系统资源利用率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

传统存储方式的特征、缺点

一次性

作业必须一次性全部装入内存后才能开始运行。造成两个问题:

  1. 作业很大时,不能全部装入内存,导致大作业无法运行
  2. 当大量作业要求运行时,由于其内存无法容纳所有作业,因此只有少量作业能运行,导致多道程序并发度下降。

驻留性

一旦作业被装入内存,就会一直驻留在内存中,直至作业运行结束。事实上,在一个时间段内,只需要访问作业的一小部分数据即可正常运行,这就导致了内存中会驻留大量的、暂时用不到的数据,浪费了内存的资源。

高速缓冲技术

局部性原理的应用

将近期拼房访问到的数据存放到更高速的存储器中,暂时用不到的数据存放在更低速的存储器中。

虚拟内存的定义和特征

基于局部性原理,程序在装入时,可以将程序中很快会用到的部分装入内存,暂时用不到的部分留在外存,就可以让程序运行。
在程序执行过程中,当所访问的信息不在内存时,由操作系统负责将所需信息从外存调入内存,然后继续执行程序。
若内存空间不够,由操作系统负责将内存中暂时用不到的信息换出到外存。
在操作系统的管理下,在用户看来似乎有一个比实际内存大得多的内存,这就是虚拟内存。
虚拟内存:操作系统实现了逻辑上内存的扩充。
虚拟内存的最大容量:由寻址容量决定
虚拟内存的实际容量:min(内存和外存的容量之和,CPU寻址范围)


例题:某计算机地址结构为32位,按字节编址,内存大小为512MB,外存大小为2GB
虚拟内存的最大容量:2^32b=4GB
虚拟内存的实际容量:512MB+2GB


虚拟内存的特征

多次性

无需在作业运行时一次全部装入内存,而是允许被分成多次调入内存

对换性

在作业运行时无需一直常驻内存,而是允许在作业运行过程中,将作业换入、换出。

虚拟性

从逻辑上扩充了内存的容量,使用户看到了内存容量,远大于实际的容量

虚拟内存的实现

虚拟内存的实现建立在离散的内存管理方式基础上
主要区别:在程序执行过程中,当访问信息不在内存时,由操作系统负责将所需信息从外存调入内存,然后继续执行程序。
若内存空间不够,由操作系统负责将内存中暂时用不到的信息换出到外存。
所以,虚拟内存的实现包含三块:

  1. 请求分页存储管理
  2. 请求分段存储管理
  3. 请求段页式存储管理
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小蓝学不会嵌入式!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值