windows内存管理概述

本文探讨了虚拟内存的概念及其在现代操作系统中的应用。通过引入虚拟内存技术,即使应用程序大小超过了实际物理内存,也能通过硬盘空间的支持顺利运行。此外,文章还介绍了在Windows环境下,程序员如何利用4GB的内存地址进行编程。

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

   一直在犹豫是不是应该写学习笔记^^写的话要耗费不少的时间,但是不写的话又很容易忘记,除非你所学的就是你工作中所用的,这样学以致用后,

就很久不忘记了. 不过可惜的是,我所学的东西基本都不能在工作中使用,所以还是必须要把学习的心得体会记录下来,否则的话,用不了多久,曾经付出了

好多精力深刻理解过的东西又会变得陌生,就像没见过一样...所以,要坚持写....

   内存,是PC中很重要的一部分. 在过去的操作系统中,一个应用程序(.exe文件),用户双击它以后, OS要把它载入到内存中才能够执行. 如果你有一个16M的内存,那么你不能够执行一个17M的应用程序. 现在,OS可以把硬盘的容量(叫做虚拟内存 virtual Memory) 当作内存来使用.所以基本上不会出现因为应用程序太大而不能够成功载入的情况了.

   从程序员的角度出发来讲, 在现在的windows中, 程序员可以使用4GB的内存地址来编程. 为什么是4GB呢? 事实上真正的内存条并没有达到4GB.

我们把硬盘的空间来当作内存来使用. 在windows中,我们利用指针来保存内存地址,32位的OS, 最大值能达到0xffffffff,

也就是0xffffffff/1024/1024/1024 = 4GB.

   在了解"虚拟内存"的概念之前,我写出来的应用程序照样可以跑的好好的.那是因为我在程序中调用的都是C的库函数,这些函数都已经把内存方面的

事情给处理好了,比如说malloc/free.在它们的内部调用了windows内存管理函数(比如说virtualAlloc函数或者说HeapAlloc函数).

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值