设为首页 | 加入收藏  
软件定制开发
  网站首页 关于我们 新闻中心 产品介绍 解决方案 成功案例 服务支持 联系我们
首页 > 行业动态
 
【软件开发中内存管理】
来源:www.sywebsoft.com 发布者:领航科技  发布时间:2019-06-17 
 虚拟内存将主存看成是一个磁盘的高速缓存,主存中只保存活动区域,并根据需要在磁盘和主存之间来回传送数据。

在任意时刻,虚拟页面都分为三个不相交的部分:

  • 未分配的(Unallocated):VM 系统还未分配(或者创建)的页,未分配的页没有任何数据和它们关联,因此不占用任何内存/磁盘空间。
  • 缓存的(Cached):当前已缓存在物理内存中的已分配页。
  • 未缓存的(UnCached):该页已经映射到磁盘上了,但是还没缓存在物理内存中。

虚拟地址、物理地址、逻辑地址、线性地址

 虚拟地址又叫线性地址。linux没有采用分段机制,所以逻辑地址和虚拟地址(线性地址)(在用户态,内核态逻辑地址专指下文说的线性偏移前的地址)是一个概念。物理地址自不必提。内核的虚拟地址和物理地址,大部分只差一个线性偏移量。用户空间的虚拟地址和物理地址则采用了多级页表进行映射,但仍称之为线性地址。


栈,在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。

  堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。

  自由存储区,就是那些由malloc等分配的内存块,他和堆是十分相似的,不过它是用free来结束自己的生命的。


下一篇:BUG?BUG?软件开发的杀手
 
推荐文章

C++的前世今生 [2019-06-15]
BUG?BUG?软件开发的杀手 [2019-06-15]
软件开发公司的管理模式 [2019-06-14]
沈阳软件公司的源码加密原则 [2019-06-14]
香港云主机真的来了 [2019-06-13]
web.xml怎么配置尼? [2019-06-13]
 
沈阳软件开发
沈阳软件定制开发
沈阳软件公司
沈阳软件开发公司
首页
关于我们
新闻中心
产品介绍
解决方案
成功案例
服务支持
联系我们
关于领航
 
公司地址:沈阳市沈河区北站路77-1号光达大厦C座13层
邮政编码:110013
客服电话:13840539193 024-31281857
Email:2579047692@qq.com
客服Q Q:2579047692
官方微信
 
Copyright @ 2005-2019 sywebsoft.com All Right Reserved
展开