内核体系结构
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-多处理器能力
-----------(完)