【发布时间】:2012-11-13 16:46:46
【问题描述】:
当操作系统将程序从文件系统加载到内存中时,操作系统如何知道程序有多大?
它是否一次只从文件系统中分页一页? 或者是否有某种硬件或软件指标让操作系统知道程序有多大?
【问题讨论】:
-
how big到底是什么意思? -
你所说的“程序”是什么意思,机器码(.text)的大小或所有的exe段?
-
我基本上要问(我认为)当一个程序被制作成一个进程时,操作系统如何知道要为进程分配多少内存?您点击的 .exe 只是众多文件中的一个。
-
它通常会解析一些包含程序信息的头文件,包括可执行部分的大小,并相应地继续。是否将整个内容映射到内存中是一个细节 - 您可以像处理过一样继续进行,因为系统会在需要时透明地将丢失的任何内容分页到内存中。
-
啊,刚刚看了你的评论!谢谢尼克!所以分页是我遇到问题的地方。关于文件系统分页如何工作的任何好的链接? (不交换分页,除非它们是相同的东西)为了简洁再次编辑。
标签: memory-management operating-system