The AIX Filesystem Architecture
AIX first appeared in 1985 running on the IBM RT machine, which was IBM's first RISC-based workstation. AIX version 2 was enhanced to support TCP/IP and NFS. This was followed by a port to the PS/2 in 1989. In the same year, AIX was ported to the 370 series of mainframes and the following year saw the introduction of the RISC System / 6000 with AIX version 3. AIX version 3.2, which is the most publicly documented version of AIX, as seen in David Kelly's book AIX/6000 Internals and Architecture [KELL96], was released in 1992. The following text describes features of AIX from the 3.2 release with information on how filesystems perform I/O on the 5.x kernel series.
Although originally based on SVR2, AIX has undergone a major rewrite adding features from other versions of UNIX including SVR4. AIX also has features not found in any other versions of UNIX, such as a pageable kernel, an area that has resulted in considerable complexity within the kernel, in particular the virtual memory subsystem.
The Filesystem-Independent Layer of AIX
As with other earlier versions of UNIX, file descriptors are held in a fixed size array within the user area for each process. Similarly, each file descriptor entry points to an entry in the system file table. Although the file table entries contained all of the fields of other versions of UNIX including referencing a vnode, each entry also pointed to a filops structure that contained all of the operations that could be ...