mac 和 linux内核简单比较
来源:互联网 发布:java 读取文件内容 编辑:程序博客网 时间:2024/06/05 19:16
macOS内核源码官方链接
https://opensource.apple.com/
内核概述(我觉得有意思的部分)
OS X:完整操作系统
内核:Darwin 包含 XNU (混合式内核,包含1. Mach微内核,2. BSD层建立在Mach之上,3. I/O kit). 有趣的是,XNU's Not Unix.
XNU给用户态主要提供BSD的接口,不仅有POSIX兼容的系统调用,也有BSD独有的调用。同时也提供少量Mach接口(竟然称之为API)
由于纯微内核只有学术价值,因此OS X使用的是混合内核。
XNU不是BSD的完整实现,比如BSD的brk()是缺失的;XNU的kext和BSD的kmod不兼容。
没有像Linux那样用户可见的文件系统procfs,但还是可以使用sysctl命令
I/O kit是C++实现的,但只用到C++的严格子集
开机流程,自行对比Linux
The kernel first initializes all the data structures needed to support Mach and BSD. Next, the kernel initializes the I/O Kit, which connects the kernel with the set of extensions that correspond to the machine’s hardware configuration. The kernel then finds and mounts the root filesystem. Finally, it launches the first process on the system, launchd, which is responsible for bootstrapping the system as well as launching daemons on behalf of the system or users.
(摘自《Mac OS X for UNIX Geek》一书)
和Linux软硬件对比的个人总结
EFI对应BIOS
NVRAM对应CMOS
boot.efi对应grub
launched对应init
kext对应ko
对比宏内核和微内核的架构
宏内核:
微内核:
(图片来源:《Mac OS X for UNIX Geek》)
阅读全文
0 0
- mac 和 linux内核简单比较
- Solaris, Linux 和 FreeBSD 的内核比较
- Solaris, Linux 和 FreeBSD 的内核比较
- Solaris, Linux 和 FreeBSD 的内核比较
- Solaris、Linux和FreeBSD的内核比较
- Solaris,Linux和FreeBSD内核的比较
- 比较 Solaris、Linux 和 FreeBSD 内核(转)
- 比较 Solaris、Linux 和 FreeBSD 内核(转)
- Linux内核和传统Unix内核的比较
- Linux内核和传统Unix内核的比较
- Linux内核和传统Unix内核的比较
- uClinux内核和标准linux内核的比较
- Linux内核和传统Unix内核的比较
- Linux内核2.6和2.4中内核堆栈的比较
- Linux内核2.6和2.4中内核堆栈的比较
- Linux内核2.6和2.4中内核堆栈的比较
- 内核中时间获取和比较 -- linux内核
- Linux内核2.6和2.4中内核堆栈的比较
- 揭秘微信红包:架构、抢红包算法、高并发和降级方案
- hdu4773 Problem of Apollonius【反演变换】
- Vuejs2.5.9源码解读(1) — package.json
- vim编辑器
- java基础
- mac 和 linux内核简单比较
- 队列的实现
- 欢迎使用CSDN-markdown编辑器
- Java总结第二章(Java基本语句结构)
- QT的qss文件语法高亮
- JS实现交通信号灯
- html的格式化样例
- myeclipse中集成maven
- VS2012 格式化(自动对齐)快捷键