QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1161|回复: 2

关于内存管理方面,有个小问题请高手做答

[复制链接]
发表于 2005-5-10 14:16:55 | 显示全部楼层 |阅读模式
在为一段程序创建进程的时候,需要给他分配内存.
其中,所分到内存区域的代码段是存放CODE的,请问系统是如何把放在文件中的代码跟所分配到的内存区域联系起来的呢?按照我的理解,刚开始是没有分配实际的物理内存给代码的,当程序执行第一行代码的时候,发生缺页中断,系统分配新的页面,但是系统如何知道该把什么内容映射到这个新分配的物理页面上呢?
发表于 2005-5-19 00:37:57 | 显示全部楼层

原来执行时是把代码复制到内存中来的?

我觉得内存中应该主要放数据,
代码都在硬盘上。
回复

使用道具 举报

发表于 2005-6-1 16:45:30 | 显示全部楼层
内核在execv()中会调用do_mmap()讲可执行文件的code section衍射到内存中来
所以在发生缺页中断时,内核很容易定位该加载的代码在文件中的 位置
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-5-4 06:29 , Processed in 0.071692 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表