IBM_AIX

**AIX**，是 IBM 專有 UNIX 作業系統的商標名。名稱來自**先進互動執行系統**（英語：Advanced Interactive executive，縮寫為 AIX）。最初的名稱來自英語：Advanced IBM Unix，但或許這個名字沒有得到法律部門的允許，因此更改為 "Advanced Interactive eXecutive"。

AIX 的一些流行特性例如 chuser、mkuser、rmuser 命令以及相似的東西允許如同管理檔案一樣來進行使用者管理。AIX 級別的邏輯捲軸管理正逐漸被添加進各種自由的 UNIX 風格作業系統中。

## 專用檔案系統

* JFS

IBM 最早在 1990 年 2 月於 AIX 3.1 引入初始版本的 JFS。這個版本的 JFS 現在被叫作 JFS1， 是 AIX 在往後十多年的首選檔案系統並被安裝在過百萬台 IBM 顧客的 AIX 系統中。JFS1 和 AIX 的記憶體管理程式緊緊連結在一起 [6]，這種設計經常在一些封閉原始碼作業系統或只支援一個作業系統的檔案系統出現。

1995 年，強化 JFS 的工作開始展開，當中包括加強其伸延性，支援多微處理器的電腦和令其易於移植至其他作業系統。經過多年的設計、改良和測試，新的 JFS 在 1999 年 4 月付運於 OS/2 Warp Server for eBusiness，隨後亦付運在 2000 年 10 月的 OS/2 Warp Client 中。與此同時，，JFS 開發團亦在 1997 年開始把開發中新版 JFS 移植回 AIX。為和原身 AIX 支援的原版 JFS1 分開，新版 JFS 亦會稱作 JFS2 (Enhanced Journaled File System)。2001 年 5 月，JFS2 開正式可供 AIX 5L 使用。

1999 年 10 月，原供 OS/2 並正在移植回 AIX 的新版 JFS 原始碼被以 GNU General Public License 開放給自由 / 開放原始碼軟體社群並展開了移植至 Linux 的工作。而第一個穩定版本的 JFS for Linux 亦在 2001 年 6 月推出。[7] 至 2002 年 8 月，JFS 正式併入穩定版 Linux 核心 2.4.20。[8]

AIX 作業系統使用 JFS 檔案系統 (JOURNAL FILE SYSTEM), JFS 檔案系統是一種位元組級紀錄檔檔案系統，借鑑了資料庫保護系統的技術，以紀錄檔的形式記錄檔案的變化。JFS 通過記錄檔案結構而不是資料本身的變化來保證資料的完整性。這種方式可以確保在任何時刻都能維護資料的可存取性。

該檔案系統主要是為滿足伺服器（從單處理器系統到進階多處理器和群集系統）的高吞吐量和可靠性需求而設計、開發的。JFS 檔案系統是為面向事務的高效能系統而開發的。在 IBM 的 AIX 系統上，JFS 已經過較長時間的測試，結果表明它是可靠、快速和容易使用的。JFS 也是一個有大量使用者安裝使用的企業級檔案系統，具有可伸縮性和健壯性。與非紀錄檔檔案系統相比，它的突出優點是快速重新啟動能力，JFS 能夠在幾秒或幾分鐘內就把檔案系統恢復到一致狀態。雖然 JFS 主要是為滿足伺服器（從單處理器系統到進階多處理器和群集系統）的高吞吐量和可靠性需求而設計的，但還可以用於想得到高效能和可靠性的客戶機組態，因為在系統崩潰時 JFS 能提供快速檔案系統重新啟動時間，所以它是網際網路檔案伺服器的關鍵技術。使用資料庫紀錄檔處理技術，JFS 能在幾秒或幾分鐘之內把檔案系統恢復到一致狀態。而在非紀錄檔檔案系統中，檔案恢復可能花費幾小時或幾天。

JFS 的缺點是，使用 JFS 紀錄檔檔案系統效能上會有一定損失，系統資源占用的比率也偏高，因為當它儲存一個紀錄檔時，系統需要寫許多資料。

* JFS2

JFS2（Enhanced Journaled File System），通常，這個新的檔案系統被稱為 JFS2，從 2001 年 5 月開始，JFS2 正式可以在 AIX 5L 上使用

JFS2 支援預定的紀錄檔記錄方式，可以提高較高的效能，並實現亞秒級檔案系統恢復。JFS2 同時為提高效能提供了基於分割區的檔案分配（Extent-based allocation）。基於分割區的分配 是指對一組連續的塊而非單一的塊進行分配。由於這些塊在磁碟上是連續的，其讀取和寫入的效能就會更好。這種分配的另外一個優勢就是可以將元資料管理最小化。按塊分配磁碟空間就意味著要逐塊更新元資料。而使用分割區，元資料則僅需按照分割區（可以代表多個塊）更新。JFS2 還使用了 B+ 樹，以便更快地尋找目錄和管理分割區描述符。JFS2 沒有內部紀錄檔提交策略，而是在 kupdate 守護行程逾時時提交。

* JFS 和 JFS2 的區別

JFS 和 JFS2 檔案系統都是檔案和目錄的集合，管理檔案或目錄在磁碟上的位置。除了檔案和目錄以外，JFS2 類型的檔案系統還包含一個超級塊、分配點陣圖和一個或多個分配組。分配組由磁碟 i 節點和片區（Extent）組成。一個 JFS2 類型的檔案系統也占據一個邏輯卷。

在 JFS 中，超級塊的大小是 4096 位元組，偏移量是 4096 位元組；而在 JFS2 中，超級塊的大小仍是 4096 位元組，但是超級塊在邏輯卷中的偏移量是 32768 位元組。

JFS2 的新功能包括基於片區的（Extent）的分配、目錄排序和檔案系統物件的動態空間分配等。

1. 基於片區（Extent）的定址結構

片區是一個連續的可變長的檔案系統塊的序列，它是 JFS2 物件的分配單位。"大片區" 可以跨越多個分配組。一般而言，JFS2 的分配策略通過為每一個片區分配儘可能大和連續的區間來使檔案系統中片區的數量達到最小，使邏輯塊的分配更加連續。這樣能夠提供更大的 i/o 傳輸效率，達以改善效能的目的。但是在有些情況上並不能總是達到這種理想的效果。

片區是由邏輯塊偏移量（logical offset）、長度（length）和實體位址（physical address）組成的三元組來描述。其中由邏輯塊偏移量和長度可能計算出實體位址。基於片區的定址結構是由片區描述、作為根的 i 節點和作為鍵值的檔案內的邏輯偏移量而構成的一個子 B + 樹。

2. 可變的邏輯塊大小

JFS2 把磁碟空間分割成塊，JFS2 支援 512，1024，2048 和 4096 位元組塊的大小。不同的檔案系統可以使用不同的塊的大小，從而達到最佳化空間的目的，減少目錄或檔案內部的殘片 (Fragmentation).

3. 動態分配磁碟 i 節點

JFS2 給磁碟 i 節點動態地按需分配空間，當 i 節點不再需要時就會釋放 i 節點所占用的空間。這個特點避免了在建立標準 JFS 時為磁碟 i 節點預留固定數量磁碟空間的缺點。因此，這樣就不需要使用者在建立檔案系統時計算這個檔案系統中要儲存的檔案和目錄的最大數。

4. 目錄組織

JFS2 提供了兩種不同的目錄組織。第 1 種目錄組織適用於小目錄和在一個目錄的 i 節點中儲存目錄的內容。這種目錄組織不需要單獨的目錄塊 i/o 和單獨的儲存分配。第 2 種目錄組織適用於較大的目錄，每一個目錄就是一個以名字為鍵值的 B + 樹。與傳統的、線性的、未分級的目錄組織相比，這種目錄組織能夠提供更快的目錄尋找、插入和刪除的能力。

5. 線上整理檔案系統的空閒殘片

JFS2 支援已安裝的檔案系統（即使有行程存取這個檔案系統）對殘餘在檔案系統中的空閒空間的整理功能。一旦一個檔案系統的空閒空間變成分散的殘片，對這些殘片的整理將會使得 JFS2 提供 I/O 效率更高的磁碟空間分配，從而避免出現一些因空閒空間不連續而不夠分配的情況。

 

## 發布歷史

一些不同版本的 AIX 曾經存在過，但是逐漸消失了。1986 年出現的 AIX V1 執行在 IBM RT/PC（AIX/RT）上。它基於 System V Release 3。自從 1989 年以來，AIX 成為 RS/6000 系列工作站和伺服器（AIX/6000）的作業系統。在 AIX 的開發過程中，IBM 和 INTERACTIVE Systems Corporation（同 IBM 簽約）將 4.2BSD 與 4.3BSD 的一些特性加入了 AIX 中。值得一提的是，著名的深藍的作業系統即是 AIX

## 支援的架構

* PowerPC
* POWER

## 版本

* AIX 7.1, 2010 年發布
  * 僅在採用 PowerPC 970，POWER4 或更新處理器技術的 Power Systems 伺服器上受支援
  *
* AIX 6.1, 2007 年 11 月 9 號
  * 技持 [工作量分割區]（WPARs = 作業系統層級虛擬化）
  * 行動裝置的生活應用
  * ...
* AIX 5L 5.3, 2004 年 8 月
  * NFS Version 4 支援
  * Advanced Accounting
  * 虛擬 SCSI
  * 虛擬乙太網路
  * SMT
  * 微分割區（Micro-Partitioning）
  * JFS2 配額（quota）支援
  * JFS2 檔案系統收縮（shrink）支援
* AIX 5L 5.2, 2002 年 10 月
  * 支援多路 IO 光纖信道磁碟
  * 動態 LPAR 支援
* AIX 5L 5.1, 2001 年 5 月
  * 引入 64 位元核心
  * JFS2
* AIX 4.3.3, 1999 年 9 月
  * 增加了線上備份功能
* AIX 4.3.2, 1998 年 10 月
* AIX 4.3.1, 1998 年 4 月
* AIX 4.3, 1997 年 10 月
  * 支援 64 位元體系
* AIX v4, 1994 年
* AIX v3, 1990 年
  * AIX v3.1
    * 引入了紀錄檔檔案系統（JFSv1）
* AIX v2
  * 最後一個版本為 v2.2.1
* AIX v1, 1986 年

_註：_L 表示同 Linux 的姻緣關係

## 圖形介面

通用桌面環境（Common Desktop Environment，CDE）是 AIX 系統的預設圖形化使用者介面。作為同 Linux 聯姻的一部分，針對 Linux 應用的 AIX 工具箱（ATLA）也提供了開源的 KDE 和 GNOME 桌面。

## 參考資料

## 外部連結

* IBM AIX 首頁（頁面存檔備份，存於網際網路檔案館）
* 針對 Linux 應用的 AIX 工具箱（頁面存檔備份，存於網際網路檔案館）
* AIX fixes（頁面存檔備份，存於網際網路檔案館）
* rootvtg.net（頁面存檔備份，存於網際網路檔案館）