# IBM AIX

AIX (pronounced /ˌeɪ.aɪ.ˈɛks/ ay-eye-EKS) is a series of proprietary Unix operating systems developed and sold by IBM since 1986. The name stands for "Advanced Interactive eXecutive". Current versions are designed to work with Power ISA based server and workstation computers such as IBM's Power line.

## Background

Originally released for the IBM RT PC RISC workstation in 1986, AIX has supported a wide range of hardware platforms, including the IBM RS/6000 series and later Power and PowerPC-based systems, IBM System i, System/370 mainframes, PS/2 personal computers, and the Apple Network Server. Currently, it is supported on IBM Power Systems alongside IBM i and Linux.
AIX is based on UNIX System V with 4.3BSD-compatible extensions. It is certified to the UNIX 03 and UNIX V7 specifications of the Single UNIX Specification, beginning with AIX versions 5.3 and 7.2 TL5, respectively. Older versions were certified to the UNIX 95 and UNIX 98 specifications.
AIX was the first operating system to implement a journaling file system. IBM has continuously enhanced the software with features such as processor, disk, and network virtualization, dynamic hardware resource allocation (including fractional processor units), and reliability engineering concepts derived from its mainframe designs.

## History

Unix began in the early 1970s at AT&T's Bell Labs research center, running on DEC minicomputers. By 1976, the operating system was used in various academic institutions, including Princeton, where Tom Lyon and others ported it to the S/370 to run as a guest OS under VM/370. This port later grew into UTS, a mainframe Unix offering from IBM's competitor Amdahl Corporation.
IBM's involvement with Unix began in 1979 when it assisted Bell Labs in porting Unix to the S/370 platform to be used as a build host for the 5ESS switch's software. During this process, IBM made modifications to the TSS/370 Resident Supervisor to better support Unix.
In 1984, IBM introduced its own Unix variant for the S/370 platform called VM/IX, developed by Interactive Systems Corporation using Unix System III. However, VM/IX was only available as a PRPQ (Programming Request for Price Quotation) and was not a General Availability product. It was replaced in 1985 by IBM IX/370, a fully supported product based on AT&T's Unix/360 6th Edition, later updated to Unix System V.
In 1986, IBM introduced AIX Version 1 for the IBM RT PC workstation. It was based on UNIX System V Releases 1 and 2, incorporating source code from 4.2 and 4.3 BSD UNIX.
AIX Version 2 followed in 1987 for the RT PC.
In 1990, AIX Version 3 was released for the POWER-based RS/6000 platform. It became the primary operating system for the RS/6000 series, which was later renamed IBM eServer pSeries, IBM System p, and finally IBM Power Systems.
AIX Version 4, introduced in 1994, added symmetric multiprocessing and evolved through the 1990s, culminating with AIX 4.3.3 in 1999. A modified version of Version 4.1 was also used as the standard OS for the Apple Network Server line by Apple Computer.
In the late 1990s, under Project Monterey, IBM and the Santa Cruz Operation attempted to integrate AIX and UnixWare into a multiplatform Unix for Intel IA-64 architecture. The project was discontinued in 2002 after limited commercial success.
In 2003, the SCO Group filed a lawsuit against IBM, alleging misappropriation of UNIX System V source code in AIX. The case was resolved in 2010 when a jury ruled that Novell owned the rights to Unix, not SCO.
AIX 6 was announced in May 2007 and became generally available on November 9, 2007. Key features included role-based access control, workload partitions, and Live Partition Mobility.
AIX 7.1 was released in September 2010 with enhancements such as Cluster Aware AIX and support for large-scale memory and real-time application requirements.

## Supported hardware platforms
### IBM RT PC

The original AIX (sometimes called AIX/RT) was developed for the IBM RT PC workstation by IBM in conjunction with Interactive Systems Corporation, who had previously ported UNIX System III to the IBM PC for IBM as PC/IX. According to its developers, the AIX source (for this initial version) consisted of one million lines of code. Installation media consisted of eight 1.2M floppy disks. The RT was based on the IBM ROMP microprocessor, the first commercial RISC chip. This was based on a design pioneered at IBM Research (the IBM 801).
One of the novel aspects of the RT design was the use of a microkernel, called Virtual Resource Manager (VRM). The keyboard, mouse, display, disk drives and network were all controlled by a microkernel. One could "hotkey" from one operating system to the next using the Alt-Tab key combination. Each OS in turn would get possession of the keyboard, mouse and display. Besides AIX v2, the PICK OS also included this microkernel.
Much of the AIX v2 kernel was written in the PL.8 programming language, which proved troublesome during the migration to AIX v3. AIX v2 included full TCP/IP networking, as well as SNA and two networking file systems: NFS, licensed from Sun Microsystems, and Distributed Services (DS). DS had the distinction of being built on top of SNA, and thereby being fully compatible with DS on IBM mainframe systems and on midrange systems running OS/400 through IBM i. For the graphical user interfaces, AIX v2 came with the X10R3 and later the X10R4 and X11 versions of the X Window System from MIT, together with the Athena widget set. Compilers for Fortran and C were available.

### IBM PS/2 series

AIX PS/2 (also known as AIX/386) was developed by Locus Computing Corporation under contract to IBM. AIX PS/2, first released in October 1988, ran on IBM PS/2 personal computers with Intel 386 and compatible processors.
The product was announced in September 1988 with a baseline tag price of $595, although some utilities, such as UUCP, were included in a separate Extension package priced at $250. nroff and troff for AIX were also sold separately in a Text Formatting System package priced at $200. The TCP/IP stack for AIX PS/2 retailed for another $300. The X Window System package was priced at $195, and featured a graphical environment called the AIXwindows Desktop, based on IXI's X.desktop. The C and FORTRAN compilers each had a price tag of $275. Locus also made available their DOS Merge virtual machine environment for AIX, which could run MS DOS 3.3 applications inside AIX; DOS Merge was sold separately for another $250. IBM also offered a $150 AIX PS/2 DOS Server Program, which provided file server and print server services for client computers running PC DOS 3.3.
The last version of PS/2 AIX is 1.3. It was released in 1992 and announced to add support for non-IBM (non-microchannel) computers as well. Support for PS/2 AIX ended in March 1995.

### IBM mainframes

In 1988, IBM announced AIX/370, also developed by Locus Computing. AIX/370 was IBM's fourth attempt to offer Unix-like functionality for their mainframe line, specifically the System/370 (the prior versions were a TSS/370-based Unix system developed jointly with AT&T c.1980, a VM/370-based system named VM/IX developed jointly with Interactive Systems Corporation c.1984, and a VM/370-based version of TSS/370 named IX/370 which was upgraded to be compatible with UNIX System V). AIX/370 was released in 1990 with functional equivalence to System V Release 2 and 4.3BSD as well as IBM enhancements. With the introduction of the ESA/390 architecture, AIX/370 was replaced by AIX/ESA in 1991, which was based on OSF/1, and also ran on the System/390 platform. This development effort was made partly to allow IBM to compete with Amdahl UTS. Unlike AIX/370, AIX/ESA ran both natively as the host operating system, and as a guest under VM. AIX/ESA, while technically advanced, had little commercial success, partially because UNIX functionality was added as an option to the existing mainframe operating system, MVS, as MVS/ESA SP Version 4 Release 3 OpenEdition in 1994, and continued as an integral part of MVS/ESA SP Version 5, OS/390 and z/OS, with the name eventually changing from OpenEdition to Unix System Services. IBM also provided OpenEdition in VM/ESA Version 2 through z/VM.

### IA-64 systems

As part of Project Monterey, IBM released a beta test version of AIX 5L for the IA-64 (Itanium) architecture in 2001, but this never became an official product due to lack of interest.

### Apple Network Servers

The Apple Network Server (ANS) systems were PowerPC-based systems designed by Apple Computer to have numerous high-end features that standard Apple hardware did not have, including swappable hard drives, redundant power supplies, and external monitoring capability. These systems were more or less based on the Power Macintosh hardware available at the time but were designed to use AIX (versions 4.1.4 or 4.1.5) as their native operating system in a specialized version specific to the ANS called AIX for Apple Network Servers.
AIX was only compatible with the Network Servers and was not ported to standard Power Macintosh hardware. It should not be confused with A/UX, Apple's earlier version of Unix for 68k-based Macintoshes.

### POWER ISA/PowerPC/Power ISA-based systems

The release of AIX version 3 (sometimes called AIX/6000) coincided with the announcement of the first POWER1-based IBM RS/6000 models in 1990.
AIX v3 innovated in several ways on the software side. It was the first operating system to introduce the idea of a journaling file system, JFS, which allowed for fast boot times by avoiding the need to ensure the consistency of the file systems on disks (see fsck) on every reboot. Another innovation was shared libraries which avoid the need for static linking from an application to the libraries it used. The resulting smaller binaries used less of the hardware RAM to run, and used less disk space to install. Besides improving performance, it was a boon to developers: executable binaries could be in the tens of kilobytes instead of a megabyte for an executable statically linked to the C library. AIX v3 also scrapped the microkernel of AIX v2, a contentious move that resulted in v3 containing no PL.8 code and being somewhat more "pure" than v2.
Other notable subsystems included:
* IRIS GL, a 3D rendering library, the progenitor of OpenGL. IRIS GL was licensed by IBM from SGI in 1987, then still a fairly small company, which had sold only a few thousand machines at the time. SGI also provided the low-end graphics card for the RS/6000, capable of drawing 20,000 gouraud-shaded triangles per second. The high-end graphics card was designed by IBM, a follow-on to the mainframe-attached IBM 5080, capable of rendering 990,000 vectors per second.
* PHIGS, another 3D rendering API, popular in automotive CAD/CAM circles, and at the core of CATIA.
* Full implementation of version 11 of the X Window System, together with Motif as the recommended widget toolkit and window manager.
* Network file systems: NFS from Sun; AFS, the Andrew File System; and DFS, the Distributed File System.
* NCS, the Network Computing System, licensed from Apollo Computer (later acquired by HP).
* DPS on-screen display system. This was notable as a "plan B" in case the X11+Motif combination failed in the marketplace. However, it was highly proprietary, supported only by Sun, NeXT, and IBM. This cemented its failure in the marketplace in the face of the open systems challenge of X11+Motif and its lack of 3D capability.
In addition, AIX applications can run in the PASE subsystem under IBM i.

## Source code

IBM formerly made the AIX for RS/6000 source code available to customers for a fee; in 1991, IBM customers could order the AIX 3.0 source code for a one-time charge of US$60,000; subsequently, IBM released the AIX 3.1 source code in 1992, and AIX 3.2 in 1993. These source code distributions excluded certain files (authored by third-parties) which IBM did not have rights to redistribute, and also excluded layered products such as the MS-DOS emulator and the C compiler. Furthermore, in order to be able to license the AIX source code, the customer first had to procure source code license agreements with AT&T and the University of California, Berkeley.

## Versions
### POWER/PowerPC/Power ISA releases

| Version | Release date | End of support date |
| Old version, no longer maintained: 5L 5.1 | May 4, 2001; 23 years ago (2001-05-04) | April 1, 2006; 18 years ago (2006-04-01) |
| Old version, no longer maintained: 5L 5.2 | October 18, 2002; 22 years ago (2002-10-18) | April 30, 2009; 15 years ago (2009-04-30) |
| Old version, no longer maintained: 5L 5.3 | August 13, 2004; 20 years ago (2004-08-13) | April 30, 2012; 12 years ago (2012-04-30) |
| Old version, no longer maintained: 6.1 | November 9, 2007; 17 years ago (2007-11-09) | April 30, 2017; 7 years ago (2017-04-30) |
| Old version, no longer maintained: 7.1 | September 10, 2010; 14 years ago (2010-09-10) | April 30, 2023; 20 months ago (2023-04-30) |
| Old version, still maintained: 7.2 | December 4, 2015; 9 years ago (2015-12-04) | TBA |
| Latest version: 7.3 | December 10, 2021; 3 years ago (2021-12-10) | TBA |
| Legend:Unsupported versionOld version, still maintainedLatest versionLatest preview versionFuture release |||
* AIX V7.3, December 10, 2021
** Requires POWER8 or newer CPUs
* AIX V7.2, October 5, 2015
** Live update for Interim Fixes, Service Packs and Technology Levels – replaces the entire AIX kernel without impacting applications
** Flash based filesystem caching
** Cluster Aware AIX automation with repository replacement mechanism
** SRIOV-backed VNIC, or dedicated VNIC virtualized network adapter support
** RDSv3 over RoCE adds support of the Oracle RDSv3 protocol over the Mellanox Connect RoCE adapters
** Supports secure boot on POWER9 systems.
** Requires POWER7 or newer CPUs
* AIX V7.1, September 10, 2010
** Support for 256 cores / 1024 threads in a single LPAR
** The ability to run AIX V5.2 or V5.3 inside of a Workload Partition
** An XML profile based system configuration management utility
** Support for export of Fibre Channel adapters to WPARs
** VIOS disk support in a WPAR
** Cluster Aware AIX
** AIX Event infrastructure
** Role-based access control (RBAC) with domain support for multi-tenant environments
** Requires POWER4 or newer CPUs
* AIX V6.1, November 9, 2007
** Workload Partitions (WPARs) operating system-level virtualization
** Live Application Mobility
** Live Partition Mobility
** Security
*** Role Based Access Control RBAC
*** AIX Security Expert – a system and network security hardening tool
*** Encrypting JFS2 filesystem
*** Trusted AIX
*** Trusted Execution
** Integrated Electronic Service Agent for auto error reporting
** Concurrent Kernel Maintenance
** Kernel exploitation of POWER6 storage keys
** ProbeVue dynamic tracing
** Systems Director Console for AIX
** Integrated filesystem snapshot
** Requires POWER4 or newer CPUs
** AIX 6 withdrawn from Marketing effective April 2016 and from Support effective April 2017
* AIX 5L 5.3, August 13, 2004, end of support April 30, 2012
** NFS Version 4
** Advanced Accounting
** Virtual SCSI
** Virtual Ethernet
** Exploitation of Simultaneous multithreading (SMT)
** Micro-Partitioning enablement
** POWER5 exploitation
** JFS2 quotas
** Ability to shrink a JFS2 filesystem
** Kernel scheduler has been enhanced to dynamically increase and decrease the use of virtual processors.
* AIX 5L 5.2, October 18, 2002, end of support April 30, 2009
** Ability to run on the IBM BladeCenter JS20 with the PowerPC 970
** Minimum level required for POWER5 hardware
** MPIO for Fibre Channel disks
** iSCSI Initiator software
** Participation in Dynamic LPAR
** Concurrent I/O (CIO) feature introduced for JFS2 released in Maintenance Level 01 in May 2003
* AIX 5L 5.1, May 4, 2001, end of support April 1, 2006
** Ability to run on an IA-64 architecture processor, although this never went beyond beta.
** Minimum level required for POWER4 hardware and the last release that worked on the Micro Channel architecture
** 64-bit kernel, installed but not activated by default
** JFS2
** Ability to run in a Logical Partition on POWER4
** The L stands for Linux affinity
** Trusted Computing Base (TCB)
** Support for mirroring with striping
* AIX 4.3.3, September 17, 1999
** Online backup function
** Workload Manager (WLM)
** Introduction of topas utility
* AIX 4.3.2, October 23, 1998
* AIX 4.3.1, April 24, 1998
** First TCSEC security evaluation, completed December 18, 1998
* AIX 4.3, October 31, 1997
** Ability to run on 64-bit architecture CPUs
** IPv6
** Web-based System Manager
* AIX 4.2.1, April 25, 1997
** NFS Version 3
** Y2K-compliant
* AIX 4.2, May 17, 1996
* AIX 4.1.5, November 8, 1996
* AIX 4.1.4, October 20, 1995
* AIX 4.1.3, July 7, 1995
** CDE 1.0 became the default GUI environment, replacing the AIXwindows Desktop.
* AIX 4.1.1, October 28, 1994
* AIX 4.1, August 12, 1994
** AIX Ultimedia Services introduced (multimedia drivers and applications)
* AIX 4.0, 1994
** Run on RS/6000 systems with PowerPC processors and PCI busses.
* AIX 3.2.5, October 15, 1993
* AIX 3.2 1992
* AIX 3.1, (General Availability) February 1990
** Journaled File System (JFS) filesystem type
** AIXwindows Desktop (based on X.desktop from IXI Limited)
* AIX 3.0 1989 (Early Access)
** LVM (Logical Volume Manager) was incorporated into OSF/1, and in 1995 for HP-UX, and the Linux LVM implementation is similar to the HP-UX LVM implementation.
** SMIT was introduced.

### IBM System/370 releases

* AIX/ESA Version 2 Release 2
** Announced December 15, 1992
** Available February 26, 1993
** Withdrawn Jun 19, 1993
** Runs only in S/370-ESA mode
* AIX/ESA Version 2 Release 1
** Announced March 31, 1992
** Available June 26, 1992
** Withdrawn Jun 19, 1993
** Runs only in S/370-ESA mode
* AIX/370 Version 1 Release 2.1
** Announced February 5, 1991
** Available February February 22, 1991
** Withdrawn December 31, 1992
** Does not run in XA, ESA or z mode
* AIX/370 Version 1 Release 1
** Announced March 15, 1988
** Available February 16, 1989
** Does not run in XA, ESA or z mode

### IBM PS/2 releases

* AIX PS/2 v1.3, October 1992
** Withdrawn from sale in US, March 1995
** Patches supporting IBM ThinkPad 750C family of notebook computers, 1994
** Patches supporting non PS/2 hardware and systems, 1993
* AIX PS/2 v1.2.1, May 1991
* AIX PS/2 v1.2, March 1990
* AIX PS/2 v1.1, March 1989

### IBM RT releases

* AIX RT v2.2.1, March 1991
* AIX RT v2.2, March 1990
* AIX RT v2.1, March 1989
** X-Windows included on installation media
* AIX RT v1.1, 1986
* AIX RT v1.0, 1985

## User interfaces

The default shell was Bourne shell up to AIX version 3, but was changed to KornShell (ksh88) in version 4 for XPG4 and POSIX compliance.

### Graphical

The Common Desktop Environment (CDE) is AIX's default graphical user interface. As part of Linux Affinity and the free AIX Toolbox for Linux Applications (ATLA), open-source KDE Plasma Workspaces and GNOME desktop are also available.

### System Management Interface Tool

SMIT is the System Management Interface Tool for AIX. It allows a user to navigate a menu hierarchy of commands, rather than using the command line. Invocation is typically achieved with the command smit. Experienced system administrators make use of the F6 function key which generates the command line that SMIT will invoke to complete it. SMIT also generates a log of commands that are performed in the smit.script file. The smit.script file automatically records the commands with the command flags and parameters used. The smit.script file can be used as an executable shell script to rerun system configuration tasks. SMIT also creates the smit.log file, which contains additional detailed information that can be used by programmers in extending the SMIT system.
smit and smitty refer to the same program, though smitty invokes the text-based version, while smit will invoke an X Window System based interface if possible; however, if smit determines that X Window System capabilities are not present, it will present the text-based version instead of failing. Determination of X Window System capabilities is typically performed by checking for the existence of the DISPLAY variable.

## Database

Object Data Manager (ODM) is a database of system information integrated into AIX, analogous to the registry in Microsoft Windows. A good understanding of the ODM is essential for managing AIX systems.
Data managed in ODM is stored and maintained as objects with associated attributes. Interaction with ODM is possible via application programming interface (API) library for programs, and command-line utilities such as odmshow, odmget, odmadd, odmchange and odmdelete for shell scripts and users. SMIT and its associated AIX commands can also be used to query and modify information in the ODM. ODM is stored on disk using Berkeley DB files.
Example of information stored in the ODM database are:
* Network configuration
* Logical volume management configuration
* Installed software information
* Information for logical devices or software drivers
* List of all AIX supported devices
* Physical hardware devices installed and their configuration
* Menus, screens and commands that SMIT uses