由于比较忙,先简略地写一下问题:

在研究到操作系统vm部分时,我产生了这样的疑惑,当os把ELF加载到内存中并创建进程时,是全部加载还是加载一部分?

答案是加载一部分。

那么os的缺页如何判断:是由于ELF部分从来没有加载到内存而导致的缺页还是由于页面暂存在swap file中造成的缺页?


通过google、stackoverflow、baidu……一番查找,最后在《understanding linux kernel(英文版)》p385果然有这个问题的解决方案(看来我想到了内核设计者会遇到的问题),解答那是相当详细(由于pdf文件只读且不能复制,大家自己去看吧)。另外mm_struct还包含了fs_struct,方便内核定位文件在disk上的位置。


《understanding linux kernel(英文版)》下载链接http://ishare.iask.sina.com.cn/f/15124365.html?sudaref=www.google.com.hk&retcode=0

Logo

更多推荐