您的位置:程序门 -> linux/unix社区 -> 内核及驱动程序研究区



linux加载可执行文件时是把所有内容都一块加载到内存中吗?


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


linux加载可执行文件时是把所有内容都一块加载到内存中吗?
发表于:2007-05-19 19:38:28 楼主
linux加载可执行文件时是把所有内容都一块加载到内存中吗?
还是先加载一部分,然后需要用到后面的再继续加载呢?
注:先不考虑动态连接库
发表于:2007-05-19 20:25:311楼 得分:0
静态连接库是打包进程序的。
因此你问题的答案是肯定的。
发表于:2007-05-19 20:59:382楼 得分:0
?
swap分区不就是提供交换技术支持的吗?
类似于win下的虚拟内存,应该是加载一部分吧

请楼上的详解为什么全部加载入内存了?
如果考虑so,那是什么样的情况??

我也不懂,只是猜的,前两天刚简略看了一下linux的内存管理
发表于:2007-05-19 23:07:223楼 得分:0
看大小吧,太大应该不会全装入。估计首先把程序文件映射好,按照策略装入部分程序段到内存,如果程序读到不在内存的程序文件部分,触发页异常,系统再装入所需的部分
发表于:2007-05-20 19:21:064楼 得分:0
同意楼上的,这就是页式内存管理的实施方案
发表于:2007-05-20 21:33:005楼 得分:0
也同意楼上,操作系统原理,不可能把所有程序一下加载到内存,页容量有限啊
发表于:2007-05-20 22:45:336楼 得分:0
我也是如楼上这样猜的,部分载入。没找到权威的说法,也不知道到底一开始会载入多少?而且还有个疑问,如果真是这样的话,那不是和使用动态连接库差不了多少了,反正是按需载入
发表于:2007-05-21 02:33:457楼 得分:0
回楼上:
动态链接库的是正文部分有系统内进程共享的,数据部分也采用了copy   on   write技术!
发表于:2007-05-21 13:18:348楼 得分:0
不使用动态链接库的普通程序是不是加载时链接的?


快速检索

最新资讯
热门点击