Discuz!NT|BBS|论坛

注册

 

发新话题 回复该主题

深入了解Mac OS X 序章---By [复制链接]

1#

深入了解Mac OS X 序章---By Sundigi友人 蕉

蕉为香港人,所以文章为繁体,请大家见谅

深入了解Mac OS X 序章


大部份Mac用家都只會說, Mac OS X是個擁有先進功能及介面的作業系統, 但一提到內部構造, 卻沒有多少用家了解. 大家就只知道是個UNIX系的作業系統, 那UNIX究竟是什麼? 從以前的完全GUI介面OS至加入指令行模式的意義是什麼? 網路上BBS中的各玩家答不到你, Windows用家更是幫不上忙. 對於老用戶來說, 打開硬盤後, 從中看到的東西和之前的Classic OS比較, 簡直像是魔宮一樣的構造…..究竟各個檔案夾代表什麼, 用以儲存什麼, 我想, 在未去了解OS X的UNIX架構時, 我們先來了解一下OS X中各個階層的構造吧!

閒話不多說了, 原因是, 這將會又是一篇超長篇的文章. 會連續十多期連載, 因為涉及的範圍太大…相信全文看完後, 各位會對你的OS有更深入的了解吧(希望如此)


我們從老Mac的用戶角度去看OS X時, 一般老Mac用戶都會感覺對比之前的Classic系統, OS X明顯不具之前OS的透明性. 很多東西都隱藏其中. 蘋果手冊上沒有說明, 蘋果也不太願意告訴你. 這多少是因為兩個OS在設計上的意念之分別, 之前的Mac OS, 是個人電腦史上直至現在都是唯一的完全GUI OS, 意念上是空前絕後, 對比其他OS, 如Windows—MSDOS, UNIX更是個完全的指令為主OS(請把UNIX的X-Window理解成是UNIX上的其中一個應用程序). 相對OS X來說, 雖然一般操作上. 仍是以力求簡單為原則, 但無論如何, OS X始終是比之前的OS, 或是任何版本的Windows都來得複雜. 原因是, 太多不知用途的檔案夾, 檔案存在其中, 而這些東西是老Mac用戶從未見過的…特別是多了很多稱為Library或Services的檔案或檔案夾…對比從前的用戶只需認識plug-in及extension..現在要了解OS X真是比之前困難得多了…


先了解一下OS X的構造…OS X的基本構造可分為四層, 最下層的是OS的核心稱為Darwin, 由Mach Kernel及FreeBSD的Library所組成, 第二層為Common Services. 由一般服務組成.(什麼叫服務, 之後的文章會對其深入解釋). 第三層由Classic, Java, Carbon及Cocoa四個元件所組成. Classic就是OS X之前的OS核心, Java就是SUN MICRO的Java了(留意Java並不等同Java script, 之所以特地詳細地說明, 是因為不少人都以為Java script是Java的一種, 實際是兩樣不同的東西來的, Java是Sun Micro開發出來的Cross-platform程序語言, 而Java script是由Netscape開發, 借Java的名字來混淆視聽的東西而矣). Carbon是炭化, 一般Classic軟件可經炭化成可在OS X中執行, 但不能完全利用OS X的特性. 而Cocoa就是完全為OS X而撰寫的native software原生軟件了. 最上層就是Aqua..一般使用者最常接觸到, 亦只會接觸到的就是Aqua...Mac OS X專有的視窗管理程序了.


從打開你的硬盤開始….


當用mouse打開你的硬盤後, 你會發現內中有四個檔案夾存在(可能會更多, 視各機械及你預載的軟件而定, 在此只提及任何預載了OS X的機械都必定存在的四個檔案夾). 分別有—應用程式(Applications), 系統(System). 使用者(User). 資料庫(Library).四個檔案夾中又分別各有若干數量的檔案夾存在, 這種儲存檔案的方法我們業界稱為階層式目錄架構. 現在我們節錄當中較為重要的幾個檔案夾, 抽絲剝繭地逐個分析吧

System




先談System, 老Mac用戶會發現, 不像從前的Classic般, 現在OS X的System檔案夾之下, 只會出現一個叫Library的檔案夾. 從Library當中再細分其他的檔案夾. 其實, 這個檔案夾雖稱為System, 但對個人電腦基一定知識的用家都會發現, 這個名叫系統檔案夾的系統檔案夾, 內中其實是不存在任何啟動電腦時所必需具備的資料(即開機用的檔案). 這和UNIX的架構有關.




/System/Library/caches

就是用來儲存系統標準會利用到的緩衝檔案. 例同系統起動時一同起動的ATSServer服務, 都會存取此檔案夾.




/System/Library/CFMSupport

CFM, Code Fragment Manager, 等同舊Mac OS應用程序都會使用的共有程式庫. 以確保Mac OS環境的一致性. 當中儲存有一個在OS X中極為重要的檔案---CarbonLib, 是執行炭火軟件時必不可欠的檔案. 此外還有DiscRecordingLib(CD/R-RW用的程式庫), OpenGLLib(OpenGL), stbCLib(C語言), TWAINSourceManager.Shlb(TWAIN對應), vecLib(AltiVec)等程序庫, 都是儲存於此.




/System/Library/HelpViewer

一切和Mac OS Help有關的檔案及文件都存放於此




/System/Library/DTDs

作為存放系統所使用的各種XML檔案, 並為其格式定義之檔案. Mac OS X Data形式製成的文書, 分別由三個檔案管理, 分別是PropertyList.dtd, KeyboardLayout.dtd及sdef.dtd三個檔案所組成. 而DTD, 全名為Document Type Definition. 此外, .plist檔案亦是由XML撰寫出來的.




/System/Library/Extensions

其實這裡就是用作存放硬件驅動的地方, 蘋果不稱驅動程序為driver, 而是稱為Extension.




/System/Library/Filesystems

主要就是用以存放OS X對應及支持何種檔案格式的資料. 例同標準的AppleShare(蘋果檔案分享標準), ISO 9660/FTP/HFS及至網絡上用的如Samba等




/System/Library/Find

就是搜尋機能了. 是對應多國語言的.




/System/Library/Fonts

不用筆者說你們也知道是用來儲存字型的吧




/System/Library/Frameworks

這個Frameworks在OS X中很常見了, 其實就是應用程序對於OS的環境設定數據, 例如Address, Audio, OpenGL機能等. 可以說是擔當起Cocoa技術的中核. 舊Mac OS及共通應用是利用前述的CFM, 而純粹的Cocoa應用就是利用這個檔案夾了.




/System/Library/Image Capture

儲存有多個DC廠商的標準驅動程序, 當中還細分有兩個檔案夾, 其中Devices中, 蘋果將各款不同DC細分成8個種類不同的驅動. 此外, 這裡還存放了各種和相機, Scanner有關的驅動, 例同PTP(Picture Transfer Protocol), TWAIN等.




/System/Library/Java

誇平台程式語言的一種, 由Sun Micro開發, 以Java開發出來的程序籍Java虛擬機執行時, 可不受任何平台的原生碼所限制, 目前Mac所使用的Java, 是Sun Micro提倡的主流標準Java 2 Standard Edition. 而Mac OS X的Java虛擬機械(JVM)是存放在 /System/Library/Frameworks/JavaVM.framework/中

Mac OS X中的Java, 可籍CoreAudio.jar檔案充分利用Mac的Audio機能, 同時Mac的另一核心技術Quicktime亦充份和Java整合(QTJava.zip). 同檔案夾中還有一個叫MRJToolkit.jar的檔案, 這其實就是舊Mac OS所用的Mac OS Run Time for Java. Classic環境時執行Java程序就會利用到此個檔案了.




/System/Library/OpenSSL




全名為Secure Sockets Layer. 是一套通訊加密技術, 一般用於Web服務器上, 會將密碼傳送時以加密的暗號處理, 從而減低第三方成功盜取資料的可能. 一般應用於以https開首的URL上. Mac OS X內置的Web Server---Apache, 亦包含這個服務.




/System/Library/PreferencePanes

其實即是Mac OS X的Control Panels, 所有對應OS的環境設定程序都存放於此, 一般這種檔案的擴充格式都為 .prefPane




/System/Library/QuickTime

又是個不用筆者多說的檔案夾, 一切有關Quicktime的, 都盡存放於此地




/System/Library/Screen Savers

存放Screen saver資料的地方




/System/Library/Scripting Additions

這可說是擴張版本的Apple Script吧. 這種檔案的副檔名一般都為 .osax 可以說成是OSX專用的script語言, 應用性高, 撰寫出來的script能應用於多方面, 包括Color-Sync, FontSync, Image Capture等, 還可以改變圖片的大小及令圖片回轉等…




其實還有太多太多, 好像專門用來存放軟件Installer的/Library Receipts, 存放系統日誌的/Library/Logs, 還有/etc這些UNIX上才有的檔案夾等, 不過如果要全部講解, 也差不多已經可寫成書了. 因此, 就唯有放棄某些目前還不太重要的檔案夾, 反正日後在Shell的應用章節中, 總有機會談及的. 璋在反而想集中講解最後一個最為重要的檔案夾/System/Library/CoreServices, 因為, 差不多所有Mac OS X中最重要的東西, 大部份都是存在其中的
分享 转发
上海意初计算机有限公司
地址(点击查看地图):上海市徐汇区天钥桥路380弄20号汇峰大厦16楼F座(徐家汇地铁2号出口)
咨询热线:021-64288026  技术支持热线:021-64285298 邮编:200030
营销QQ:919899或899899  技术支持QQ:899695
维修部QQ:911261  发货和保内维修查询QQ:860018
销售MSN:nbuser88@live.cn  技术支持MSN:nbuser@live.cn
TOP
发新话题 回复该主题