第二章-OSX概览 用户空间文件系统构成

尽管Mac OS X的内核非常有趣,大部分时间终端用户和开发者会使用用户空间的程序。而文件系统则是用户能够使用系统的基础。Mac OS Xde文件系统布局主要来自Unix和NEXTSTEP的布局,但也有来自传统的Macintosh的影响。

Mac OS X总的来说有着Unix风格的文件系统,所有的文件都在一个volume下。文件夹布局也类似于Unix,例如在根目录下有/bin,/dev,/etc,/sbin,/tmp,/usr等等Unix系统上可以见到的目录。除此之外,Mac OS X将文件系统分成四个domain:User,Local,Network和System。

User类似Unix系统的home目录,例如一个叫amit的用户对应的home目录即为/Users/amit。一个用户home目录下有一些标准的子目录,例如.Trash,Applications,Desktop,Documents等。一些用户目录例如Public默认公开,因此可以用于和系统中其他用户共享文件。

Local下有着对系统中所有用户都可用的文件,例如共享的应用和文档。这个domain通常在boot volume中,而Mac  OS  X的boot volume通常也是root volume。例如系统默认的安装目录/Application就是Local domain的一部分。虽然所有用户都可以读取Local domain的文件,只有系统管理员可以修改Local domain。

Network中包含了对本地网络中所有用户可见的文件,例如网络中共享的文档。这个domain的内容通常在一个独立的文件服务器中,并被挂载在/Network下。同样只有网络管理员可以修改这个domain的文件。

System顾名思义包含了Mac OS X本身,其中有着系统的函数库,程序,脚本和配置文件。这个domain和Local一样在boot volume或root volume中。在系统搜索一个特定的资源,例如一个字体时,将会以从近到远的顺序搜索,也就是User,Local,Network,如果都没有需要的资源则会在全局的System中搜索。

System domain有着一些重要的文件夹,其中最重要的文件夹之一是Library文件夹。Library中包含了内核和内核拓展的缓存,苹果提供的框架,文件系统和launchd的启动脚本。在/System/Library/CoreServices中包含了系统最基础的组件,例如Dock和Finder程序。其他的一些组件包括System Events,ReportCrash,WifiAgent等基础组件。

This entry was posted in OSX Internals笔记. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *