Comparing Unix versions: AIX, HP-UX and Solaris
In this comparison of the top Unix versions, learn what distinguishes the file systems, management tools and virtualization products in Sun Solaris, Hewlett-Packard HP-UX and IBM AIX file systems.
In my last tip, I compiled a list of the top 50 Unix commands. Each of the commands I discussed are available on the top three Unix variants: Solaris, AIX and HP-UX. In this article, I'll walk you through the history of these Unix flavors, discuss some their fundamental differences and close with a command table comparison of important tasks.
Sun Solaris
Solaris, Sun's Unix version, was actually the successor of SunOS, going back to1992. SunOS was originally based on the BSD flavor of Unix, while SunOS versions 5.0 and later are based on Unix System V Release 4 (rebranded as Solaris).
How did this happen? Let's go further back in time. SunOS version 1.0 was introduced in 1983 with support for Sun-1 and Sun-2 systems. Version 2.0 was introduced in 1985 -- its claim to fame was virtual file system (VFS) and NFS. In 1987, AT&T and Sun announced that they would work together on a project to merge System V and BSD into one release, based on SVR4. Solaris 2.4 was Sun's first Sparc/x86 release. The last release of SunOS was version 4.1.4 in November 1994. Solaris 7 was its first 64-bit Ultra Sparc release and added native support for file system metadata logging. Solaris 9, introduced in 2002, added support for Solaris Volume Manager and Linux capabilities. Solaris 10 was first introduced in 2005, which has a number of innovations, including support for its new ZFS file system, Solaris Containers and Logical Domains.
Solaris is presently up to version 10; the latest update was released in October 2008. Among its innovations is support for paravirtualization, where Solaris 10 is used as a guest in Xen-based environments.
Fundamental differences and unique characteristics. Solaris is free and open source, distributed through the OpenSolaris operating system. Solaris is a more command-line based Unix operating system than HP-UX or AIX. As a practical matter, it does not have anything comparable to System Administration Manager (SAM) on HP-UX or System Management Interface Tool (SMIT) on AIX. Solaris runs on Sparc and x86 environments. It also has the newest file system around -- ZFS, which has made great strides in recent years, including the ability to now use it as its root file system. ZFS has the potential to be the best all-around Unix file system. Solaris has many ways to implement virtualization, including Containers/zones, xVM Server, Logical Domains and hardware partitioning.
Hewlett-Packard HP-UX
HP-UX, Hewlett-Packard's Unix, was originally based on System V release 3. It initially ran exclusively on PA-RISC HP 9000 platform. Version 1 of HP-UX was released in 1984. Version 9, introduced its character-based graphical user interface (GUI), SAM, from which one administrates the system. Version 10, introduced in 1995, brought changes in the layout of the system file and directory structure, making it similar to AT&T SVR4. Version 11 was introduced in 1997 and was HP's first release to support 64-bit addressing. In 2000, it was rebranded to 11i, when HP introduced operating environments, bundled groups of layered applications for specific IT purposes. In 2001, Version 11.20 introduced support for Itanium systems. HP-UX was the first Unix that used Access Control Lists (ACLs) for file permissions and was also one of the first to introduce built-in support for Logical Volume Manager. Today, HP-UX uses Veritas as its primary file system due to the close partnership between Veritas and HP. HP-UX is currently up to release 11iv3, update 4.
Fundamental differences and unique characteristics. HP-UX is the first of the Unix systems to allow its customers to purchase specific operating environments. For example, if you are looking for its high availability (HA) product Serviceguard, you would purchase the specific product that bundles in HA. HP-UX is the only version that uses a third-party file system -- Veritas (Sun used to offer this many years ago). HP has many forms of virtualization, including nPartitions, vPars, Integrity Virtual Machines (IVMs) and resource partitions. This does have a tendency to confuse some folks because there are so many choices. HP-UX runs on both HP 9000s and Integrity Itanium systems. HP-UX 11v3 can support up to 128 processor cores. HP-UX provides for a very strong command line in addition to its menu bases system, SAM. Performance tuning using kctune is in many ways simpler to what AIX and Solaris offer.
IBM AIX
AIX was introduced by IBM in 1986. While it is based on Unix System V, it also has BSD roots and, more than any other flavor, is a hybrid of both. AIX is the first OS to introduce a journaled file system (JFS). It was also the first to have an integrated Logical Volume Manager (LVM). IBM first ported AIX to its RS/6000 platform in 1989. Version 5L was a breakthrough release introduced in 2001 that provided for Linux affinity and logical partitioning with the Power4 servers. In 2004, AIX introduced virtualization in AIX 5.3. Advanced Power Virtualization (APV) offered micro-partitioning, shared processor pools and Symmetric multi-threading. In 2007, IBM enhanced its virtualization product, coinciding with the release of AIX 6.1 and the Power6 architecture. It also rebranded APV to PowerVM. The AIX enhancements included a form of workload partitioning called WPARs, which are similar to than Solaris zones/Containers but with better functionality. The latest release is AIX 6.1.
Fundamental differences and unique characteristics. IBM is widely recognized as having the best virtualization product on the midrange, PowerVM. Some recent innovations include live application mobility (allowing one to fail over working partitions without taking downtime), Active Memory Sharing and multiple shared processor pools. No other flavor of Unix can boast these virtualization characteristics, nor can they match IBM's 40-year history of virtualization -- PowerVM has evolved from mainframe/System z virtualization.
AIX runs only on IBM Power Systems -- easily the most powerful of midrange Unix servers. IBM sells the fact that AIX runs exclusively on Power as a plus because it is fully optimized on this architecture and it has a clear road map around which the company adheres to religiously. It should also be noted that one can run both Linux and AIX partitions on this platform. Its LX86 virtualization add-on allows one to run x86 Linux applications that are not ported to the Power architecture. AIX has always had an integrated logical volume manager, unlike other flavors that require add-on products. AIX is the only Unix that has continued to grow market share in recent years, partly because of the capabilities of its Power hardware that continues to lead the field in reliably, availability and scalability.
Command reference comparison
What are you trying to do? | Solaris | AIX | HP-UX |
Specify order of name server resolution | /etc/nsswitch.conf | /etc/netsvc.conf | etc/nsswitch.conf |
Configure networking | /etc/nodename, /etc/netmasks, etc/defaultrouter, ifconfig | recommendation is to use SMIT, because ifconfig does not save changes, lsattr | set_parms - initial, netconf file, ioscan |
Understand available file systems | ufs, zfs | jfs, jfs2 | hfs, VxFS |
Add space to file systems | growfs | chfs | extendfs |
Look at character-based admin GUI | None. Admintool was retired years ago. SMC (similar to AIX's WebSM) is the GUI | SMIT, smitty, WebSM | SAM |
Examine hardware changes | prtconf | lscfg, lsattr, prtconf | ioscan, dmesg |
View swap space | swap | lsps | swapinfo |
Examine file system info | /etc/vfstab | /etc/file systems | /etc/fstab |
Share NFS | share | exportfs | exportfs |
Check software and/or filesets | pkginfo, pkgchk | lslpp, lssrc | swlist |
Install software | pkgadd | smit install | swinstall |
Check error logs | prtdiag | errpt | dmesg |
Tune the kernel | prtctl and /etc/system | vmo, ioo, no, schedo, nfso, chdev | kctune |
start/stop services | Svcadm, svcs | lssrc, stopsrc, startsrc | Usually initiated by scripts from init.d I.E. for network -- /etc/init.d/net start |
Install devices | drvconfig | cfgmgr | insf |
ABOUT THE AUTHOR: Ken Milberg is a systems consultant with two decades of experience working with Unix and Linux systems. He is a SearchEnterpriseLinux.com Ask the Experts advisor and columnist.
What did you think of this feature? Write to SearchDataCenter.com's Matt Stansberry about your data center concerns at [email protected].