Windows内存管理(1)

本文介绍了Windows内存管理,包括虚拟地址空间、工作集、页状态等概念。在32位系统中,每个进程有4GB虚拟地址空间,分为进程使用和系统使用两部分。工作集是已分配物理内存的页集合,而页状态包括Free、Reserved和Committed。系统通过内存页表将虚拟地址转换为物理地址,并管理物理内存与磁盘之间的页面交换。
摘要由CSDN通过智能技术生成

     Memory Management

      内存管理器通过在虚拟内存空间提供一系列核心服务:内存映射文件,内存写时复制,大内存支持,以及一些底层的支持等来进行缓存管理。

      内存管理来会涉及到的主题:

      一、关于内存管理

      二、内存管理函数的使用

      三、内存管理参考手册

      以下先重点讲理论和概念,结合代码使用,交叉穿插以及形象具体易学。

      1   About Memory Management

      关于内存管理

      在基于NT架构的微软Windows操作系统中,在32位系统中,每一个进程拥有一个多达4GB(2^32)的虚拟地址空间;而64位系统中这个值高达8TB(2^45)。进程中的每个线程都可以访问整个进程的虚拟地址空间。但是,线程不能访问本进程以外的其他进程的地址空间,这使得每个进程的地址空间得到保护,不会被别的进程干扰。以下列出了虚拟以址空间以及内存管理函数,分别在下列主题中。

      1.1  Virtual Address Space

      虚拟地址空间

      所谓进程的虚拟地址空间是指一个虚拟的内存地址集合,这个地址集合仅供本进程使用。在进程不共享地址空间的情况下,每个进程的地址空间都是私有的、不能被其他进程所访问的。

      一个[虚拟地址]不代表其在实际物理内存上的具体的位置,而是由系统通过对每个进程维护一个[内存页表]来进行管理的。内存页表是每个进程用来将进程的虚拟地址转变为对应的物理内存地址的内部数据结构 。每当一个线程使用对应的虚拟内存地址时,系统就会把虚拟内存地址转换为对应的物理内存地址。

      在32位windows系统下,每个进程拥有4GB的虚拟地址空间。这4GB虚拟地址空间被分成两个部分:一部分由进程代码借用,另一部分保留由系统所使用。以下章节暂时不讨论64位系统的情况。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值