关于 映射 文件 的 问题?

fly2009fly 2009-04-06 07:55:19
当创建 进程 的 时候 ;进程 的 地址 空间 是 从 那 分配 的?
当 运行 的 时候 ;是 将 这个 进程 的 exe 文件 所在 的 位置 确定 为 进程 的 4G地址 空间 吗?

文件 映射 是 将 硬盘 上 文件(可能是一部分) 映射 到 进程 的 地址空间;这里的 映射 是 将 硬盘 文件 的 首地址 放进 进程 地址 空间? ;还是 真的 将 硬盘 文件 拷 进 进程 空间(2GB 可用 空间)?

能 简单 说 一下 过程吗?

createfile()应该 是 打开 硬盘 上 文件 ;(主要 是 确定 硬盘 文件 的 位置)

createfilemapping()这个函数 主要 目的 是 有 足够 的 物理存储器 可以 供 文件 映射 对象 使用;

物理存储器 是 指 什么?(是 进程 的 空间 吗?)

文件 映射 对象 是 指 什么?

mapviewfile()( 主要 是 为 文件 的 数据 预定 一块 地址空间; 并 将 文件 的 数据 做 为 物理 存储 器 拨给 该 区域。) 既然 是 映射 (我 猜 是 获得 硬盘 文件 的 首地址 ;进行 读 ;为什么还 要 预定 一块 地址空间?)
...全文
67 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
fly2009fly 2009-04-13
  • 打赏
  • 举报
回复
我已经知道 答案了 不用回了;点数 随便 给了。
fly2009fly 2009-04-09
  • 打赏
  • 举报
回复
呵呵 你 把 文件 映射 的 过程 (和 在 那分配 的 空间 )说 一下 吧。呵呵 转眼 我 又要 从 头 学了 呵呵。
chunyou128 2009-04-08
  • 打赏
  • 举报
回复
CMap
biweilun 2009-04-07
  • 打赏
  • 举报
回复
createfilemapping搞的是虚拟内存,磁盘上的虚拟地址。4G大小。你去学习下操作系统的知识应该就能明白了,现在我这么讲太笼统了,你要系统地学习下
fly2009fly 2009-04-07
  • 打赏
  • 举报
回复
我 问 的 问题 主要是 关于 文件 映射 的 问题
fly2009fly 2009-04-07
  • 打赏
  • 举报
回复
我 问 的 问题 主要是 关于 文件 映射 的 问题
fly2009fly 2009-04-07
  • 打赏
  • 举报
回复

呵呵;你厉害
mengde007 2009-04-06
  • 打赏
  • 举报
回复
地址空间是虚拟的。
不是,学了操作系统你会知道,什么是虚拟内存。
文件首地址
物理存储器:页面
内核

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧