標籤:

Mac OS 9:關於「功能擴展」

Mac OS中的功能擴展為Mac OS本身添加功能,它們的數量相當龐大,幾乎是Mac OS的核心組成部分之一。舉例子:包括中文字元的顯示、Carbon應用程序的啟動、網路通訊的建立,設備的使用等都與功能擴展程序息息相關。


概述

「功能擴展」文件一般存放在「功能擴展」文件夾里,這個文件夾位於「系統文件夾」中。「功能擴展(停用)」文件夾則存放已經被停用的功能擴展文件。大多數功能擴展都默認被Mac OS安裝器安裝好了,取決於你選擇的安裝方式。

第三方安裝器也可以安裝功能擴展。也可以手動安裝一些功能擴展,只需要把功能擴展拖入「系統文件夾」,Finder會自動幫你把它們放到「功能擴展」文件夾。要停用功能擴展,把它們拖入「功能擴展(停用)」文件夾;要刪除功能擴展,直接把它們拖入廢紙簍。筆者不建議你刪除任何功能擴展,因為有朝一日你也許會用到它。

由於功能擴展文件夾里的文件數量龐大,難以手動操作,Mac OS提供一個叫做「功能管理程序」的控制板。你可以在「控制板」文件夾中尋找到它,它會幫助你管理功能擴展。任何你取消勾選的功能擴展都會被自動移動到「功能擴展(停用)」文件夾。

載入與衝突

與控制板類似,帶有INIT類型的功能擴展會在Mac OS啟動時自動載入;而不帶有INIT類型的功能擴展會在需要時被使用。大部分類型的功能擴展不能被直接從Finder中打開。

一個標準的Mac OS啟動流程,會從以下三個文件夾尋找適用的程序並載入:「系統文件夾」、「控制板」和「功能擴展」。成功載入的控制板會在Mac OS啟動屏幕下方顯示圖標。隨著Mac OS中的程序安裝增多,功能擴展的數量可能呈現爆髮式增長;如果某個安裝好的功能擴展不適用與這台Macintosh或載入失敗,Mac OS啟動屏幕下面的功能擴展圖標上會顯示紅色的「X」符號或直接中斷啟動並給出白框提示。

功能擴展被載入到內存中時可能造成衝突。當功能擴展載入到某個其他類似的功能擴展、控制板或應用程序所使用的空間時,就可能造成衝突。如果功能擴展造成衝突,它們會導致系統錯誤,乃至啟動失敗(如果是INIT類型的功能擴展的話)。此時應該嘗試按下shift來啟動Mac OS,關閉所有功能擴展並排除衝突。某些第三方應用程序,例如「Conflict Catcher」可以幫助你排除衝突問題(有趣的是,Conflict Catcher的功能擴展本身與系統自帶的功能EM功能擴展衝突,需要禁用後者才能使用Conflict Cather這個軟體)。

功能擴展的載入順序也是根據它們的命名的。空格開頭的功能擴展會被最優先載入,波浪線或星號開頭的功能擴展會被最後載入。嘗試重命名它們可以幫助你排除衝突問題,但除非你明白後果,最好不要改變它們的名字。

常見類型

常見的功能擴展有不同的類型屬性,發揮不同的作用,大致分為:Apple Guide文稿、應用程序、選擇器擴展、通訊工具、庫、系統擴展。它們還可以被存儲在子文件夾里。

  • Apple Guide文稿有多種類型。poco類型意為Macintosh Guide文稿,為Macintosh Guide應用程序使用。mixn類型為Macintosh Guide添加系統或機型特殊的內容。help類型則應該常見於應用程序目錄下,是普通的幫助內容。
  • 應用程序的類型為APPL。它們實際上是被其他應用程序所調用的應用程序。
  • 選擇器擴展有多種類型,包括PRER、PRES、RDEV等。選擇器是Macintosh通訊功能的核心程序之一,這些擴展為它服務,它們提供的功能包括印表機驅動(一般不在Mac OS啟動時載入,而是在選擇器使用它們時才載入)、AppleShare擴展等。有效的選擇器擴展會顯示在選擇器程序中。
  • 通訊工具有多種類型,包括cbnd,fbnd,tbnd。這些應用程序和系統內建的Communications Toolbox配合使用,提供更多選項和功能。
  • 庫一般為shlb類型,它們一般提供原生的PowerPC代碼供其他適合的應用程序調用,是比較關鍵的擴展。某些驅動程序的組件基於這種類型,例如ATI的3D加速驅動。libr類型的庫文件為Open Transport所服務。
  • 系統擴展包括appe、thng、comd、ndrv、scri等,是系統層面的擴展,更加關鍵。appe類型被自動載入,提供某些系統級功能的依賴,例如Control Strip Extension是控制條的依賴。thng提供為Mac OS或第三方應用程序提供的某些系統級資源,例如Audio CD Access允許你播放CD音樂。comd或ndrv是大量的驅動程序所使用的類型,comd為680×0電腦使用的,ndrv則是PowerPC電腦使用的,例如Apple Enet允許你使用內建乙太網。scri則為了適配某些腳本而生,例如Disc Burner Extension允許你刻錄光碟。
  • INIT類型是最底層的系統擴展。INIT在系統啟動時就會被載入到內存里,是相對危險的類型,提供最底層的功能,例如CarbonLib允許你運行Carbon應用程序,Apple Guide為提供增加Apple Guide功能。

當你遇到懸而不決的功能擴展時,不妨研究一下它的屬性。屬性有時可以幫助你做一些判斷,例如INIT類型的功能擴展,對它進行修改或是停用可能導致系統的部分功能出現問題,例如刪除掉CarbonLib會導致大量Carbon化應用程序不能啟動,刪除Apple Guide會導致系統的Apple Guide功能消失。


原文地址:Mac OS 9:關於「功能擴展」

讚賞作者:讚賞 / 投喂 | 排長的網站

歡迎加入:老Mac與Mac OS交流群(769483275)

本文作者(@paizhangpi)對一切原創內容保留所有權利。


推薦閱讀:

TAG:MacOS(Classic) |