C++前序——(1)虚拟地址空间

本文介绍了为解决程序间地址不隔离、内存使用效率低及程序运行地址不确定等问题,引入虚拟地址空间的原因和作用。虚拟地址为每个程序提供独立的地址空间,通过内存分段和分页管理实现与物理地址的映射。在32位系统中,虚拟地址空间的4GB被操作系统管理和分配,部分区域供内核使用。

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

一、前言

以前的程序,都是直接运行在物理内存上的,即程序在运行时访问的地址都是物理地址。这种方式带来的问题就是:如何把有限的物理内存分配给这么多程序使用呢?

与此同时,这种内存分配策略也带来几个问题:

(1) 程序间的地址不隔离,恶意程序可能会借此损坏正常程序的数据。

(2) 内存使用效率低,由于内存大小有限,当剩余的内存不够装载接下来要运行的程序的时候,正在运行的程序需要暂停换出到磁盘,以空出足够的内存来,等它运行完了再换回来。这样大量的数据进进出出,导致内存的使用效率非常低

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值