登录
|
注册
|
QQ账号登录
|
常见问题
联系我们:
我要上传
首页
浏览
幼儿/小学教育
中学教育
高等教育
研究生考试
外语学习
资格/认证考试
论文
IT计算机
经济/贸易/财会
管理/人力资源
建筑/环境
汽车/机械/制造
研究报告
办公文档
生活休闲
金融/股票/期货
法律/法学
通信/电子
医学/心理学
行业资料
文学/艺术/军事/历史
我的淘豆
我要上传
帮助中心
复制
下载此文档
全面介绍Windows内存管理机制及C 内存分配实例.doc
文档分类:
IT计算机
|
页数:约91页
举报非法文档有奖
分享到:
1
/
91
下载此文档
搜索
下载此文档
关闭预览
下载提示
1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
2.下载该文档所得收入归上传者、原创者。
3.下载的文档,不会出现我们的网址水印。
同意并开始全文预览
(约 1-6 秒)
下载文档到电脑,查找使用更方便
下 载
还剩?页未读,
继续阅读
分享到:
1
/
91
下载此文档
文档列表
文档介绍
全面介绍Windows内存管理机制及C 内存分配实例.doc
全面介绍Windows内存管理机制及C++内存分配实例
(一):进程空间
在编程中,很多Windows或C++的内存函数不知道有什么区别,更别谈有效使用;根本的原因是,没有清楚的理解操作系统的内存管理机制,本文企图通过简单的总结描述,结合实例来阐明这个机制。
本文目的:
对Windows内存管理机制了解清楚,有效的利用C++内存函数管理和使用内存。
本文内容:
本文一共有六节,由于篇幅较多,故按节发表。其他章节请看本人博客的Windows内存管理及C++内存分配实例(二)(三)(四)(五)和(六)。
1. 进程地址空间
· 32|64位的系统|CPU
操作系统运行在硬件CPU上,32位操作系统运行于32位CPU上,64位操作系统运行于64位CPU上;目前没有真正的64位CPU。
32位CPU一次只能操作32位二进制数;位数多CPU设计越复杂,软件设计越简单。
软件的进程运行于32位系统上,其寻址位也是32位,能表示的空间是232=4G,范围从0x0000 0000~0xFFFF FFFF。
· NULL指针分区
范围:0x0000 0000~0x0000 FFFF
作用:保护内存非法访问
例子:分配内存时,如果由于某种原因分配不成功,则返回空指针0x0000 0000;当用户继续使用比如改写数据时,系统将因为发生访问违规而退出。
那么,为什么需要那么大的区域呢,一个地址值不就行了吗?我在想,是不是因为不让8或16位的程序运行于32位的系统上呢?!因为NULL分区刚好范围是16的进程空间。
· 独享用户分区
范围:0x0001 0000~0x7FFE FFFF
作用:进程只能读取或访问这个范围的虚拟地址;超越这个范围的行为都会产生违规退出。
例子:
程序的二进制代码中所用的地址大部分将在这个范围,所有exe和dll文件都加载到这个。每个进程将近2G的空间是独享的。
注意:,这个区域的范围从2G扩大为3G:0x0001 0000~0xBFFE FFFF。
· 共享内核分区
范围:0x8000 0000~0xFFFF FFFF
作用:这个空间是供操作系统内核代码、设备驱动程序、设备I/O高速缓存、非页面内存池的分配、进程目表和页表等。
例子:
这段地址各进程是可以共享的。
注意:,这个区域的范围从2G缩小为1G:0xC000 0000~0xFFFF FFFF。
通过以上分析,可以知道,如果系统有n个进程,它所需的虚拟空间是:2G*n+2G (内核只需2G的共享空间)。
· 区域
区域指的是上述地址空间中的一片连续地址。区域的大小必须是粒度(64k) 的整数倍,不是的话系统自动处理成整数倍。不同CPU粒度大小是不一样的,大部分都是64K。
区域的状态有:空闲、私有、映射、映像。
在你的应用程序中,申请空间的过程称作保留(预订),可以用VirtualAlloc;删除空间的过程为释放,可以用VirtualFree。
在程序里预订了地址空间以后,你还不可以存取数据,因为你还没有付钱,没有真实的RAM和它关联。
这时候的区域状态是私有;
默认情况下,区域状态是空闲;
当exe或DLL文件被映射进了进程空间后,区域状态变成映像;
当一般数据文件被映射进了进程空间后,区域状态变成映射。
· 物理存储器
Windows各系列支持的内存上限是不一样的,从2G到64G不等。理论上32位CPU,硬件上只能支持4G内存的寻址;能支持超过4G的内存只能靠其他技术来弥补。顺便提一下,Windows个人版只能支持最大2G内存,Intel使用Address Windows Extension (AWE) 技术使得寻址范围为236=64G。当然,也得操作系统配合。
内存分配的最小单位是4K或8K,一般来说,根据CPU不同而不同,后面你可以看到可以通过系统函数得到区域粒度和页面粒度。
· 页文件
页文件是存在硬盘上的系统文件,它的大小可以在系统属性里面设置,它相
全面介绍Windows内存管理机制及C 内存分配实例 来自淘豆网www.taodocs.com转载请标明出处.
猜你喜欢
辽宁省辽师大附中学高二语文下学期(月)第二次..
7页
轻资产计划书
38页
酒吧后勤计划书
31页
2024年社区工作者考试必考1000题【模拟题】
296页
饭堂菜品计划书
32页
饮品销售计划书
33页
2024年社区工作者考试必考1000题(考试直接用..
293页
2024年社区工作者考试必考1000题【培优b卷】
295页
2024年演出经纪人考试必背1000题附完整答案【..
274页
2024年社区工作者考试必考1000题含答案【新】..
292页
赤水计划书定制
37页
2024年社区工作者考试必考1000题含答案【精练..
294页
烘焙店的计划书
33页
2024年社区工作者考试必考1000题含答案【a卷】..
292页
2024年社区工作者考试必考1000题含完整答案【..
292页
相关文档
更多>>
非法内容举报中心
文档信息
页数
:
91
收藏数
:
0
收藏
顶次数
:
0
顶
上传人
:
AIOPIO
文件大小
:
723 KB
时间
:
2020-12-15
相关标签
内存分配算法
内存分析
java内存分析
存储介质管理制度
jvm内存模型面试题
库存管理制度
存货内部控制论文
存货管理制度
存款实名制管理办法
存货管理存在的问题及对策
计算机原理
PHP资料
linux/Unix相关
C/C++资料
Java
.NET
windows相关
开发文档
管理信息系统
软件工程
网络信息安全
网络与通信
图形图像
行业软件
人工智能
计算机辅助设计
多媒体
软件测试
网站策划/UE
网页设计/UI
网吧管理
电子支付
搜索引擎优化
服务器
电子商务
Visual Basic
数据挖掘与模式识别
数据库
Web服务
网络资源
Delphi/Perl
Python
CSS/Script
Flash/Flex
手机开发
UML理论/建模
并行计算/云计算
嵌入式开发
计算机应用/办公自动化
数据结构与算法
SEO
最近更新
高校教师绩效评价体系研究的开题报告
高压氧对大鼠脑出血后脑消肿的影响及机理研..
高中生英语口语输出过程中母语思维的相关研..
食品安全责任强制性保险研究报告的开题报告..
2024年最后一片藤叶读后感常用(2篇)
苏教版练习口语交际-课件
颜之推哲学思想研究的开题报告
预应力连续刚构桥剪力滞效应的研究的开题报..
心脑血管预防
韩中上市公司信息披露制度比较及其存在的问..
2024年暑假教师研修学习心得体会
2024年暑假小学周记(精选23篇)
面向价值观管理的组织结构设计的开题报告
2024年晚安说说大全
青藏高原夏季风对长江中下游气候的影响的开..
2024年春节走心祝福文案(精选220条)
2024年春节短信-春节短信大全-春节短信集锦..
雨洪资源在城市园林绿地中的景观应用研究的..
2024年春节大扫除日记500字(通用32篇)
2024年春节传统节日作文集锦6篇
2024年春季开学典礼小学校长讲话稿
防裂制剂对新郑灰枣果实品质和组织结构的影..
间充质干细胞用于实体组织治疗的潜在机制分..
长白山阔叶红松林积雪升华速率观测与模拟研..
2024年全国高中数学联赛福建赛区预赛试题及..
2023年河南省级普通高中学生学业水平考试生..
经典碑帖《圣教序》史上最高清版本,赶紧收..
最新八年级下册英语单词表(听写版)
主奴合约只是分享(共3页)
第五章--遵守道德规范-锤炼高尚品德PPT
在线
客服
微信
客服
QQ
客服
意见
反馈
手机
查看
返回
顶部