Mac OS X和iOS内核开发全解析
1. 内核文件系统支持
XNU支持多种文件系统,各有其特点和用途,具体如下表所示:
| 名称 | 描述 |
| — | — |
| HFS+ | Mac OS X和iOS使用的标准文件系统 |
| HFS | 旧版Mac OS文件系统 |
| UFS | BSD Unix文件系统 |
| NFS | 网络文件系统 |
| ISO 9660和UDF | CD和DVD使用的标准文件系统 |
| SMB | 服务器消息块,用于与Microsoft Windows计算机连接的网络文件系统 |
| AFP | 苹果文件协议 |
HFS+在Mac OS X 10.2.2中开始支持日志功能。日志通过在执行事务之前将其记录在日志中来提高文件系统的可靠性。这使得文件系统能够抵御诸如电源故障或内核崩溃等事件,因为在重启后可以重放数据,使文件系统恢复到一致状态。HFS+支持非常大的文件,最大可达8 EiB(1 Exbibyte = 2^60字节),这也是最大可能的卷大小。该文件系统完全支持文件名中的Unicode字符,并且默认情况下不区分大小写。同时,它支持Unix风格的文件权限和访问控制列表(ACLs)。
2. 虚拟文件系统(VFS)
虚拟文件系统(VFS)为特定的文件系统(如HFS+和AFP)提供了抽象,使应用程序能够使用单一一致的接口访问它们。VFS允许通过VFS内核编程接口(KPI)以内核扩展的形式轻松添加对新文件系统的支持,而操作系统整体无需了解其实现细节。VFS的基本数据结构是vnode,它是文件和目录在内核中的表示形式。内核中每个活动的
超级会员免费看
订阅专栏 解锁全文

1453

被折叠的 条评论
为什么被折叠?



