On the High and Low points of AIX
In the early 1990's IBM recognized the genius in the UNIX
philosophy and decided to make their own version, AIX
(Advanced Interactive eXecutive?). With a few exceptions,
UNIX purists dislike it. I think it has a lot of value, but I
usually summarize my feelings on AIX this way:
AIX is a great operating system, but not a great UNIX.
On the Plus Side
From the end-user's point of view, AIX feels pretty much
like most UNIX os's: The shells work fine and all of the UNIX
utilities are there. Even manpages seem to work, though the
formatting is not as clean as in other UNIXes.
From the programmer's point of view, there are a few
places where things are not quite the same. Things are better
than they used to be: most free software compiles o.k. under
AIX, and they're starting to meet up with the API standards
for newer things like large file support, etc.
AIX has lots of features that make a sysadmin's job
- The Logical Volume Manager is totally integrated into
the OS. With no extra cost, you can mirror your OS
filesystems, grow their size on the fly. In Solaris, it's a
separate product, and the process to mirror the root
volumes is kludgy and fragile.
- AIX comes with a backup utility which creates bootable
tapes. Restoring a dead system to it's last backed-up state
is about as idiot-proof as you can get.
- AIX comes with a working fsdb, which is more than I can
say for Solaris. fsdb lets you walk filesystem trees,
examine inodes, disk blocks, directory structures, etc.
With practice, you can even undelete files.
- The AIX kernel is especially well-hooked. The AIX trace
facility lets you identify the hot files in a volume, count
I/O calls to a device, follow head-seek patterns, and just
about anything else.
- Adding devices is really easy, and the OS can keep
track of disks and volume groups even if they move to other
On the Minus Side
Most of the bad things in AIX all come down to a single
problem: The developers at IBM just don't get the UNIX
- Lots of AIX config files use a stanza format,
where other UNIXes would store as single lines. This makes
it ugly to parse things like /etc/filesystems (their
/etc/fstab equivalent) with awk, grep, etc.
- Lots of important operating system configuration is
stored in proprietary, binary databases, where UNIX would
put them in human-readable, human-editable text files. That
means that lots of changes need to be made with menus or
byzantine commands, instead of with a text editor. Fixing
corrupt configs or merging changes is sometimes
- On-line docs are not stored in nice, simple man-page
format, but rather in huge, monolithic database files.
Again, it means you have to use specialized tools to get at
them, rather than general purpose tools (plus performance
is worse; UNIX is really good at dealing with lots of small
- IBM re-invented the wheel (pardon the pun) on all sorts
of strategies (like password file shadowing, init and
startup files, etc) while the rest of the world was
settling on simple solutions.
- While the tracing facilities are extensive, they are
obnoxious and difficult to use. Most other UNIXes provide a
simple tool (trace or truss) to trace all the system calls
made by some program. Sysadmins use this all the time in
troubleshooting. The AIX trace tools require so much
planning and post-processing that few sysadmins are willing
to take the time.
Can You Live With It?
If you're just a UNIX login user, I think you'll be
If you're a sysadmin, you're going to grumble and swear a
lot about how different some things are. But there isn't
anything so fundamentally wrong with AIX as a system that you
can't run a good production shop on it. If you're a
relatively inexperienced sysadmin, AIX might even be better,
because so much can be managed via menus, and lots of
everyday tasks to keep a system running are easier (volume
mirroring, backups, etc).
Programmers might find some peculiarities in the APIs, but
most stuff is acceptable (basic UNIX syscalls, stdio, signal
handling, async I/O, mmap(), etc). The virtual memory system
is a little odd (the page table is inverted! You have to walk
a hash-bucket chain to translate virtual to physical!) but
you shouldn't care.
Managers and the like have a few additional concerns:
Solaris truly dominates the commercial UNIX world, so lots of
products are developed on Solaris, and then ported to the
other OS's. But for most shops, that is not a huge problem.
Plus, IBM's relational databases are starting to give Sybase
and Oracle a run for their money.
The scary thing is that IBM has been talking about totally
revising their UNIX philosophy, and trying to make their
systems follow more of the industry standards. Stay