OSX iOS
mac iOS內(nèi)核: Darwin(操作系統(tǒng)) -> XNU(BSD+Mach) -> Unix
終端命令:
查看系統(tǒng)信息: system_profiler SPSoftwareDataType
系統(tǒng)版本:uname -v
Darwin
Darwin: (部分開(kāi)源)基于喬布斯的:OpenStep
OpenStep:及其前身NextStep則是衍生與加州大學(xué)伯克利分校所發(fā)布的Berkeley Software Distribution(BSD).
Darwin內(nèi)核XNU: 結(jié)合了BSD 與 Mach棉钧,以及蘋(píng)果自己的一些科技研發(fā)出來(lái)的。
而 iOS(連同OSX)有很多代碼來(lái)自 BSD,所以最為一個(gè)完整的系統(tǒng),屬于 BSD 家族。
Mac OS X的kernel.Darwin架構(gòu):
- Mach(I/O kit宴胧,Driver)
- BSD(filesystem,NKE)
Darwin主要組件:
- BSD
- Mach : 最底層為(BSD和I/O kit提供服務(wù)
- I/O Kit : 面向?qū)ο蟮脑O(shè)備驅(qū)動(dòng)框架
- Platform Expert
- libkern
- libs
Mach
Mach 是對(duì)內(nèi)核運(yùn)作方式的一次探索創(chuàng)新。Mach 提出了“微內(nèi)核”的概念——將系統(tǒng)內(nèi)核的部分任務(wù)交給用戶層進(jìn)程處理肢藐。(Mach 可以認(rèn)為是微內(nèi)核的 BSD 系統(tǒng))
Mach負(fù)責(zé) XNU(“X is Not UNIX”) 比較底層的任務(wù)。如:
- -搶占式多任務(wù)孽尽,包括內(nèi)核線程(Mac OS X用內(nèi)核線程實(shí)現(xiàn)POSIX線程)
- -內(nèi)存保護(hù)
- -虛擬內(nèi)存管理
- -進(jìn)程間通信
- -中斷管理
- -實(shí)時(shí)支持
- -內(nèi)核調(diào)試支持
- -控制臺(tái)I/O
BSD
BSD -> freeBSD:unix重要分支
BSD 主要負(fù)責(zé):
- -處理模型
- -用戶ID窖壕、權(quán)限,基本安全策略
- -POSIX API杉女,BSD風(fēng)格的系統(tǒng)調(diào)用
- -TCP/IP協(xié)議棧瞻讽,BSD套接字,防火墻
- -VFS和文件系統(tǒng)
- -System V IPC
- -加密框架
- -各種同步機(jī)制
Unix
Unix:誕生于1969年的貝爾實(shí)驗(yàn)室熏挎,由于歷史原因速勇,Unix一直處于半閉源狀態(tài)(理論閉源,代碼開(kāi)源)坎拐。
所以出現(xiàn)各種衍生版本烦磁。
POSIX:
POSIX是基于UNIX的第一個(gè)操作系統(tǒng)簇國(guó)際標(biāo)準(zhǔn)养匈,Linux遵循這一標(biāo)準(zhǔn)這使UNIX下許多應(yīng)用程序可以很容易地移植到Linux下,相反也是這樣都伪。
內(nèi)核大致有 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的特點(diǎn)陨晶。
linux:
芬蘭黑客Linus Torvalds于1991年推出猬仁。它屬于類Unix家族中的一支(linux源碼與Unix毫無(wú)關(guān)系,like Unix而已)先誉,不過(guò)由于一直開(kāi)源導(dǎo)致廣泛傳播湿刽,名氣要比Unix大得多,有著眾多的發(fā)行版褐耳,比如:
- 桌面上的Ubuntu诈闺,
- 路由器上的OpenWRT(事實(shí)上路由器的系統(tǒng)基本都是基于Linux),
- 以及占據(jù)大部分智能手機(jī)份額的谷歌Android铃芦。Android -> linux
- linux幾乎可以裝在所有的服務(wù)器雅镊,桌面的X86系統(tǒng)中,其還常常被用于嵌入式系統(tǒng)杨帽,機(jī)頂盒漓穿、手機(jī)、交換機(jī)注盈、游戲機(jī)晃危、PDA、網(wǎng)絡(luò)交換機(jī)老客。僚饭。。胧砰。
GNU(GNU is not Unix):1983年
GNU操作系統(tǒng)是類Unix操作系統(tǒng)鳍鸵, 由一系列應(yīng)用程序、系統(tǒng)庫(kù)和開(kāi)發(fā)工具構(gòu)成的軟件集合, 并加上用于資源分配和硬件管理的內(nèi)核 (就差Linux)
GNU/Linux:
Linux這個(gè)詞本身只表示Linux核心尉间,但在實(shí)際上人們已經(jīng)習(xí)慣了用Linux來(lái)形容整個(gè)基于Linux核心偿乖,并且使用GNU工程各種工具和數(shù)據(jù)庫(kù)的操作系統(tǒng)(也被稱為GNU/Linux)
如果你說(shuō)mac os是基于UNIX的, 那我覺(jué)得windows就是基于dos??
windows:
windows內(nèi)核: windows NT(大衛(wèi)·卡特勒)
NT過(guò)于傾心于X86平臺(tái)(雖然近些年也能在ARM上跑了)
windows phone 基于windows CE(windows CE6.0全開(kāi)源)
X86
X86: 是由Intel推出的一種復(fù)雜指令集,用于控制芯片的運(yùn)行的程序哲嘲,現(xiàn)在X86已經(jīng)廣泛運(yùn)用到了家用PC(機(jī)箱+xx主板+xx電源+xx處理器+(光驅(qū)選裝)的領(lǐng)域贪薪。
06年后,蘋(píng)果也是使用Intel的X86架構(gòu)(這時(shí)mac也就可以裝windows系統(tǒng)了)
ARM
ARM :全世界超過(guò)95%的智能手機(jī)和平板電腦都采用ARM架構(gòu)
蘋(píng)果自研A11 處理器基于ARM V8指令集自主設(shè)計(jì).加以改進(jìn)
高通驍龍也是ARM內(nèi)核. 他們都沒(méi)得CPU架構(gòu)研發(fā)能力(或者說(shuō)都不能撼動(dòng)ARM的商業(yè)地位)眠副。