zoukankan      html  css  js  c++  java
  • XNU加载Mach-O和dyld

    我们知道,操作系统是电脑、手机上最基本的软件,任何其他的软件都必须在操作系统的支持下才能够运行。同理,软件的启动也必须在操作系统的支持下才能够运行。对于iOS系统来说,操作系统内核是XNU(X is not Unix),那么在一个app的启动过程中,XNU发挥了什么作用呢?本篇文章,我们来探究一下这个问题。

    --------

    总结

    到这里,就完成了XNU如何将一个Mach-O文件以及dyld加载到内存中的流程分析。其实不看源码,大体流程我们也可以猜到,操作系统想要启动一个app,无非是给这个app分配进程,以及相应的进程空间,之后是给app分配内存,将app映射到内存中。通过源码,能看到每一步是如何实现的。这里只是分析到了XNU将Mach-O文件加载到内存中,实际上后续用户态的dyld还要做一些工作,才能真正的将一个app启动。关于后续dyld做的工作,之后的文章再介绍。


    ————————————————
    版权声明:本文为CSDN博主「TuGeLe」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/TuGeLe/article/details/81544252

  • 相关阅读:
    小记2_finddata_t结构体
    小记1
    2014-1-2 笔记
    _RecordsetPtr的 open函数
    SAFEARRAY
    用VC实现特定编辑框上对回车键响应
    常用控件的常用消息
    单文档与多文档
    java中得到json格式的数据
    form表单验证时的onsubmit事件
  • 原文地址:https://www.cnblogs.com/feng9exe/p/12456542.html
Copyright © 2011-2022 走看看