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桌面。

## 基本資料

- 軟體版本週期：AIX
- 開發者：IBM
- 源碼模式：封閉原始碼
- 內核類別：含有可載入核心模組的整塊性核心
- 支援平台：ROMP、IBM POWER Instruction Set Architecture、PowerPC、IBM PS/2、System/370、ESA/390
- 默認使用者界面：CDE、（可以選用Plasma Workspaces和GNOME）
- 作業系統家族：Unix
- 發行日期：1986年
- 市場取向：工作站、伺服器
- 程式語言：C
- 語言：英文
- 運作狀態：支援中
- 許可證：專有