20CN网络安全小组第一代论坛
发表新主题  发表回复

个人资料 | 社区目录 用户登录 | | 论坛搜索 | 常见问题 | 论坛主页
  下一个最老的主题   下一个最新的主题
» 20CN网络安全小组第一代论坛   » 电 脑 技 术   » 编程破解   » WIN32内存讨论

   
作者 标题: WIN32内存讨论
病毒
未注册


图标 1  发表于         编辑/删除帖子   引用原文回复  
milanfeng 于 2001-04-26 09:14:43 加贴在 编程乐园 上

--------------------------------------------------------------------------------
内容(132bytes):

有谁能把虚拟内存,文件映射,堆栈这三者“结合”起来说一下。
我先开一个头:当要准备运行进程A(或打开文件A)时,内存的操作为........


病毒 于 2001-04-26 18:19:13 加贴在 编程乐园 上

--------------------------------------------------------------------------------
内容(351bytes):

WIN32为每个进程分配4GB的虚拟内存空间,是这样分配的,0-4M和2G-3G为共享内存段,所有进呈都可用32位指针访问,4M-2G为应用程序段,映射给每个进程,在该段中,进程只能访问自己的线性地址。3G-4G为系统核心段,大布分为vxd,只有ring 0级代码可访问。其中从0x80000000到0xBFFFFFFF的1GB空间由所有的WIN32进程共享,内存映射文件就使用这段地址空间。(注意:以上说的是WIN 9X)


milanfeng 于 2001-04-27 08:59:14 加贴在 编程乐园 上

--------------------------------------------------------------------------------
内容(67bytes):

"WIN32为每个进程分配4GB的虚拟内存空间",这个恐怕不是吧?


jouwei 于 2001-04-27 11:37:41 加贴在 编程乐园 上

--------------------------------------------------------------------------------
内容(14bytes):

是的,比较多。


[ID:5679] 主题:怎么不是?

[ 转发帖子 回复此帖 相关帖子 ]

--------------------------------------------------------------------------------
病毒 于 2001-04-27 14:35:18 加贴在 编程乐园 上

--------------------------------------------------------------------------------
内容(765bytes):

怎样叫正面回答你提出的问题?

//当要准备运行进程A(或打开文件A)时,内存的操作为........

为A进程分配4GB的虚拟内存空间...

4GB这点是肯定的,(你可以随便翻本书来看看,这个是最基本的)虚拟但并不代表它真正拥有4GB的实际物理内存,而只是操作系统利用CPU的内存分页功能提供的虚拟地址空间。在一般情况下,绝大多数虚拟地址并没有物理内存与之对应,在真正可以使用这些地址空间之前,还要由操作系统提供实际的物理内存。为虚拟地址提供实际物理内存的过程叫做“提交”(Commit)。在不同情况下,系统提交的物理内存的类型是不同的,可能是RAM,也可能是硬盘模拟的虚拟内存。
你说的内存操作难道不是这些么?

还有关于内存映射你是指那种?俺理解为是为进程通讯基于页面交换文件的内存映射,
还是基于数据文件内存映射?(这种是不需要调用文件I/O的),还是可执行文件的内存映射?我想是你没有说清楚。

IP: 已记录
zyclql
未注册


图标 1  发表于         编辑/删除帖子   引用原文回复  
好东西,
IP: 已记录

 
发表新主题  发表回复 关闭主题 突出主题 移动主题 删除主题 下一个最老的主题   下一个最新的主题
 - 适于打印的主题视图
转到:
联系我们 | 20CN网络安全小组

Powered by Infopop Corporation
UBB.classic™ 6.5.0
NetDemon修改版 1.5.0, 20CN网络安全小组 版权所有。