內核體系結構
Mac OS kernel 是一個開源的工程,內核以及其他一部分Mac OS的核心繫統統稱爲Darwin(達爾文)。
Figure 3-1 Mac OS X architecture
Figure 3-2 Darwin and Mac OS X
Figure 3-3 Mac OS X kernel architecture
圖3-2可以理解爲Mac OS的體系結構,而3-3是kernel的體系結構,主要由兩部分構成:BSD(FS,NKE)+Mach(I/O Kit,Drivers)。
Mach
最底層的Mach管理進程資源,諸如CPU和內存、handle調度、內存保護,以及向其他操作系統層提供一個以消息爲中心的基礎設施。包括以下幾個組件:
• untyped interprocess communication (IPC )-進程間通信
• remote procedure calls (RPC )- 遠程程序調用
• scheduler support for symmetric multiprocessing (SMP ) -對稱多處理器調度
• support for real-time services-實時服務
• virtual memory support-虛擬內存
• support for pagers-頁式管理
• modular architecture-模塊化架構
BSD
基於Mach層的BSD層提供 “OS personality” APIs and services. BSD 層是基於BSD kernel, 主要是 FreeBSD . 提供:
• file systems-文件系統
• networking (except for the hardware device level)-網絡功能(不包括硬件設備級別)
• UNIX security model-UNIX安全模塊
• syscall support-系統調用
• the BSD process model, including process IDs and signals-BSD進程模塊,包括進程ID和信號
• FreeBSD kernel APIs-FreeBSD內核API
• many of the POSIX APIs-各種遵守POSIX標準的API
• kernel support for pthreads (POSIX threads)-pthreads的內核支持(POSIX線程)
Networking
Mac OS X利用BSD先進的網絡功能,來提供現代網絡功能,如網絡地址轉換(NAT)和防火牆,提供:
• 4.4BSD TCP/IP stack and socket APIs-4.4BSD的TCP / IP堆棧和套接字API
• support for both IP and DDP (AppleTalk transport)
• multihoming -多宿主
• routing-路由
• multicast support-多播支持
• server tuning-服務器調整
• packet filtering-包過濾
• Mac OS Classic support (through filters)-經典的Mac OS的支持(通過過濾器)
File Systems-文件系統
Mac OS X提供了多種類型的文件系統,包括HFS,HFS +,UFS,NFS, ISO 9660等。默認的文件系統類型是HFS+;
Mac OS X的啓動從HFS+,UFS,ISO,NFS和UDF的。 Mac OS
X的文件系統的先進功能包括增強的虛擬文件系統(VFS)的設計。 VFS的提供了一個分層的體系結構(文件系統是可堆疊)。文件系統組件提供:
• UTF-8 (Unicode) support
• increased performance over previous versions of Mac OS.-增加了以前版本的Mac操作系統的性能。
I/O Kit
I / O Kit提供了一個簡化的驅動程序開發框架,支持多種設備類型。I / O套件具有一個面向對象的I / O架構在一個受限制的子集的C ++實現。在I / O Kit支持模塊化和可擴展性。提供:
• true plug and play-即插即用
• dynamic device management-動態設備管理
• dynamic (“on-demand”) loading of drivers-按需驅動加載
• power management for desktop systems as well as portables-電源管理
• multiprocessor capabilities-多處理器能力
-----------(完)