博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助

一花世界

天地为炉兮,造化为工。阴阳为炭兮,万物为铜。我们就在世上受着者煎熬,迟钝的人就麻木地过,感受不到痛苦,敏感的人就觉得处处疼痛不已,然而老天还不罢休,这样炼狱也就算了,还要时不时地在给你戳上一刀。记记流水账吧,也算留下点痕迹。
   cellar.cublog.cn
关于作者  
渐渐的,我越来越冷漠,对外在的人事更佚,季节递,充耳不闻。有时竟可不发一言,整日发呆。这是一个茧化的过程,自己结一个茧把自己包起来,让伤口慢慢好起来。别人无法伤害我;我也不去伤害别人。付出的代价却是,对生命热望的散逸.....

我的分类  




关于linux的execve调用过程[转]

如果我们举一个a.ou为例子, ldd a.out看:[root@localhost ~]# ldd a.out        linux-gate.so.1 =>  (0xffffe000)        libc.so.6 => /lib/tls/i686/libc.so.6 (0x00914000)        /lib/ld-linux.so.2 (0x008f6000)

当某个进程execve() a.out时, 大体来说是:1, 陷入内核的execve系统调用;2, 内核负责加载a.out这个可执行文件3, 内核负责加载/lib/ld-linux.so.24, 从内核态返回到用户态, 并且, 强制性地迫使其返回到/lib/ld-linux.so.2的代码段中, 而不是a.out的代码段中5, ld-linux.so.2分析a.out文件, 搜索并加载需要的共享库6, ld-linux.so.2把控制权交付给a.out,  a.out这才真正开始执行

 原文地址 http://bbs.chinaunix.net/viewthread.php?tid=532737&extra=page%3D1
 发表于: 2006-02-24,修改于: 2006-02-24 10:46 已浏览784次,有评论0条 推荐 投诉

  网友评论

  发表评论



Copyright © 2001-2006 ChinaUnix.net All Rights Reserved

感谢所有关心和支持过ChinaUnix的朋友们
页面生成时间:1.67784

京ICP证041476号