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

原文地址:https://www.cnblogs.com/feng9exe/p/12456542.html