iOS系统内核

时间:2020-07-06 01:12:01   收藏:0   阅读:136
Documentation Archive

https://developer.apple.com/library/archive/navigation/#section=Technologies&topic=Web Services

技术图片

XNU内核是Darwin操作系统的一部分,可在macOS和iOS操作系统中使用。 XNU是X is Not Unix的首字母缩写。 XNU是一个混合内核,它结合了卡内基梅隆大学开发的Mach内核,FreeBSD的组件以及用于编写称为IOKit的驱动程序的C ++ API。 XNU在x86_64上针对单处理器和多处理器配置运行。

Darwin的内核是XNU,XNU is Not Unix。XNU是两种技术的混合体,Mach和BSD。BSD层确保了Darwin系统的UNIX特性,真正的内核是Mach,但是对外部隐藏。BSD以上属于用户态,所有的内容都可以被应用程序访问,而应用程序不能访问内核态。当需要从用户态切换到内核态的时候,需要通过mach trap实现切换。

1. XNU 包含:
2. Mach

Mach 是 XNU的原子核,是一个微内核轻量级操作系统,仅处理最核心的任务

3. BSD层

BSD层简历在Mach之上,确保了Darwin符合 POSIX 。提供了更高层次的功能,包括:

4. libKern

I/OKit是C++ 编写的;为了支持C++运行时并提供所需要的基类,是一个內建的自包含的C++库。

I/O Kit
这是一个在内核中的完整的自包含的执行环境,让开发者可以使用C++快速创建设备驱动程序。

apple开源

https://github.com/apple/darwin-xnu

参考

http://www.uml.org.cn/mobiledev/201501293.asp
https://www.jianshu.com/p/06ee5c6fb3bd
https://www.jianshu.com/p/029cc1b039d6
https://www.jianshu.com/p/fdeea4dc86a8

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!