MAC內核編程指南-內核體系結構

內核體系結構

   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-多處理器能力

-----------(完)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章