OSX iOS
mac iOS内核: Darwin(操作系统) -> XNU(BSD+Mach) -> Unix
终端命令:
查看系统信息: system_profiler SPSoftwareDataType
系统版本:uname -v
Darwin
Darwin: (部分开源)基于乔布斯的:OpenStep
OpenStep:及其前身NextStep则是衍生与加州大学伯克利分校所发布的Berkeley Software Distribution(BSD).
Darwin内核XNU: 结合了BSD 与 Mach,以及苹果自己的一些科技研发出来的。
而 iOS(连同OSX)有很多代码来自 BSD,所以最为一个完整的系统,属于 BSD 家族。
Mac OS X的kernel.Darwin架构:
- Mach(I/O kit,Driver)
- BSD(filesystem,NKE)
Darwin主要组件:
- BSD
- Mach : 最底层为(BSD和I/O kit提供服务
- I/O Kit : 面向对象的设备驱动框架
- Platform Expert
- libkern
- libs
Mach
Mach 是对内核运作方式的一次探索创新。Mach 提出了“微内核”的概念——将系统内核的部分任务交给用户层进程处理。(Mach 可以认为是微内核的 BSD 系统)
Mach负责 XNU(“X is Not UNIX”) 比较底层的任务。如:
- -抢占式多任务,包括内核线程(Mac OS X用内核线程实现POSIX线程)
- -内存保护
- -虚拟内存管理
- -进程间通信
- -中断管理
- -实时支持
- -内核调试支持
- -控制台I/O
BSD
BSD -> freeBSD:unix重要分支
BSD 主要负责:
- -处理模型
- -用户ID、权限,基本安全策略
- -POSIX API,BSD风格的系统调用
- -TCP/IP协议栈,BSD套接字,防火墙
- -VFS和文件系统
- -System V IPC
- -加密框架
- -各种同步机制
Unix
Unix:诞生于1969年的贝尔实验室,由于历史原因,Unix一直处于半闭源状态(理论闭源,代码开源)。
所以出现各种衍生版本。
POSIX:
POSIX是基于UNIX的第一个操作系统簇国际标准,Linux遵循这一标准这使UNIX下许多应用程序可以很容易地移植到Linux下,相反也是这样。
内核大致有 SysV, BSD, 和 Linux 三大家族。
SysV:
主要有 A/UX AIX HP-UX IRIX LynxOS SCOOpenServer Tru64 Xenix OS/2 solaris(SUN OS)。
BSD UNIX (386BSD):
主要有,DragonFly BSD,FreeBSD,NetBSD,NEXTSTEP,Mac OS X,OpenBSD,SUN OS,OpenSolaris,OpenIndiana.
UNIX Like:
主要有GNU / Linux,Minix,QNXUnix的特点。
linux:
芬兰黑客Linus Torvalds于1991年推出。它属于类Unix家族中的一支(linux源码与Unix毫无关系,like Unix而已),不过由于一直开源导致广泛传播,名气要比Unix大得多,有着众多的发行版,比如:
- 桌面上的Ubuntu,
- 路由器上的OpenWRT(事实上路由器的系统基本都是基于Linux),
- 以及占据大部分智能手机份额的谷歌Android。Android -> linux
- linux几乎可以装在所有的服务器,桌面的X86系统中,其还常常被用于嵌入式系统,机顶盒、手机、交换机、游戏机、PDA、网络交换机。。。。
GNU(GNU is not Unix):1983年
GNU操作系统是类Unix操作系统, 由一系列应用程序、系统库和开发工具构成的软件集合, 并加上用于资源分配和硬件管理的内核 (就差Linux)
GNU/Linux:
Linux这个词本身只表示Linux核心,但在实际上人们已经习惯了用Linux来形容整个基于Linux核心,并且使用GNU工程各种工具和数据库的操作系统(也被称为GNU/Linux)
如果你说mac os是基于UNIX的, 那我觉得windows就是基于dos😂
windows:
windows内核: windows NT(大卫·卡特勒)
NT过于倾心于X86平台(虽然近些年也能在ARM上跑了)
windows phone 基于windows CE(windows CE6.0全开源)
X86
X86: 是由Intel推出的一种复杂指令集,用于控制芯片的运行的程序,现在X86已经广泛运用到了家用PC(机箱+xx主板+xx电源+xx处理器+(光驱选装)的领域。
06年后,苹果也是使用Intel的X86架构(这时mac也就可以装windows系统了)
ARM
ARM :全世界超过95%的智能手机和平板电脑都采用ARM架构
苹果自研A11 处理器基于ARM V8指令集自主设计.加以改进
高通骁龙也是ARM内核. 他们都没得CPU架构研发能力(或者说都不能撼动ARM的商业地位)。
网友评论