Operating System - HP-UX
1752808 Members
5862 Online
108789 Solutions
New Discussion юеВ

Re: Assessing the commercial Unixes

 
wenp
New Member

Assessing the commercial Unixes

My apologies for a question that isn't limited to HP-UX, but this is the only Unix (not Linux) forum I could find that is still fairly active.

I have used Linux for research and office work for years, but have always wished for a more stable and coherently designed system. From hearsay, I've had the impression that the commerical Unixes were much nicer but just too expensive to consider. These days, however, it looks possible to get a respectable Unix workstation second-hand for no more than the cost of a PC, and a license is either free or linked to the box.

Based on your experience working with the commercial Unixes, would you say that they are still significantly better to work with than Linux? My interest is workstation (maybe up to 8 core, 32GB RAM), not server use. From looking at past Unixes, it seems that HP-UX, AIX, and Solaris are the only ones to consider now. I think it would be too hard to use IRIX, Tru64, or SCO with newer hardware and software, but please correct me if I'm wrong on that.

To be more specific, how do RHEL/Debian compare with UX/AIX/Solaris on:
Process isolation (how easily an app can hang things)
File system reliability
Shell scripting gotchas
Ease of porting and building Unix apps
Quality of the C compiler vs. gcc
Conceptual coherence (file organization, naming conventions, etc.)
Convenience, stability, and heaviness of virtualization options
Administrative tools and documentation
6 REPLIES 6
Ismail Azad
Esteemed Contributor

Re: Assessing the commercial Unixes

Hey,

I can limit the answer to HPUX also. Just a few points. Well with Online JFS, file system has become way more reliable being able to record the pending transactions. Concepts of VFS and UFC are also factors you can correlate with a modern HPUX operating system when you speak in terms of enhancements. The persistent DSF and legacy device files naming is way different from Linux and so are some of the subdirectories within let's say a filesystem like /var or /usr and you should be seeing a /stand here as well.

The documentation is awesome as long as you have a huge clue of how to find it these days and tools there are many for performance and at the network side.

Perfview, Measureview, glance, gpm, nettl are some things that come into mind.



Regards
Ismail Azad
Read, read and read... Then read again until you read "between the lines".....
Bill Hassell
Honored Contributor

Re: Assessing the commercial Unixes

HP-UX only...

Workstations (classic Xwindow-based one user systems have been gone for a long time. You can get a very high performance office-friendly (quiet) rx2660 to replace your workstation -- and it even comes with USB keybaord/mouse support and a video output. Cheap? Probably not yet...

> Process isolation (how easily an app can hang things)

I can't remember ever seeing a program-created hang on HP-UX. Certainly you can write a bad app that allocates 10x more memory than is available and if there isn't enough swap space, the program is terminated. If there is enough swap space, then everything will slow down while pages are allocated and moved to the swap area. Add more RAM and the delay goes away. But no hang or crash.

> File system reliability

VxFS (Veritas filesystem) is not only solid but high performance with fast recovery (fsck). Optional Online JFS allows resizing up or down while mounted.

> Shell scripting gotchas

HP's POSIX shell and ksh88 are POSIX standard. ksh93 is also available with Xwindow extensions. You can download bash if you want.

> Ease of porting and building Unix apps

Easy to hard...just like any other platform ports. It all depends on quality coding and adhering to portable standards.

> Quality of the C compiler vs. gcc

aCC is excellent and optimized for PA-RISC and Integrity. gcc works but you need to be aware of 32/64 bit and IA64 features.

> Conceptual coherence (file organization, naming conventions, etc.)

HP-UX adopted SysV.4 more than a dozen years ago. HP supplied code follows the standards (/etc=config, /opt=application, /var/opt=app-temp,/usr/bin (user commands) and /usr/sbin (root-only). There are always apps and freeware that clobber /usr/local and /usr/contrib, often with no uninstall process.

> Convenience, stability, and heaviness of virtualization options

Virtualize hardware (nPars but only on cell-based servers), virtualize common hardware (vPars), virtualize everything (Integrity VM) with software. nPar is easy and free...just divide and combine cells (not workstations) and treats each nPar as a separate computer. vPar allocates hardware like memory, CPUs, disks and LAN cards to separate partitions. IVM is all software but runs only on Integrity (Itanium or ia64).

None of the virtualization products are supported on old workstations.

> Administrative tools and documentation

Several hundred OS commands in /usr. One of the most stable and thorough patch and software installers (software distributor). HP-UX patch management is easy compared to the other Unices. Documentation is massive.


Bill Hassell, sysadmin
James R. Ferguson
Acclaimed Contributor

Re: Assessing the commercial Unixes

Hi:

> I have used Linux for research and office work for years, but have always wished for a more stable and coherently designed system.

It would be informative if you offered a few details about exactly how you use your Linux distribution, let alone which distribution. What do you perceive as unstable and what would you like to be able to say that your system is more "coherently designed"?

> From hearsay, I've had the impression that the commerical Unixes were much nicer but just too expensive to consider. These days, however, it looks possible to get a respectable Unix workstation second-hand for no more than the cost of a PC, and a license is either free or linked to the box.

Define "nicer", please, money aside.

> Based on your experience working with the commercial Unixes, would you say that they are still significantly better to work with than Linux?

That would depend on exactly what you are doing. Is this a one-man, personal workstation. Do you enjoy choices in setting up your environment or do you prefer to be able to select from only a handful of configuration packages.

> My interest is workstation (maybe up to 8 core, 32GB RAM), not server use. From looking at past Unixes, it seems that HP-UX, AIX, and Solaris are the only ones to consider now. I think it would be too hard to use IRIX, Tru64, or SCO with newer hardware and software, but please correct me if I'm wrong on that.

I believe that is probably true.

> To be more specific, how do RHEL/Debian compare with UX/AIX/Solaris on:
Process isolation (how easily an app can hang things)
File system reliability
Shell scripting gotchas
Ease of porting and building Unix apps
Quality of the C compiler vs. gcc
Conceptual coherence (file organization, naming conventions, etc.)
Convenience, stability, and heaviness of virtualization options
Administrative tools and documentation

Now this should generate some lively opinions! Here are some of my own opinions having extensive HP-UX experience; a moderate degree of AIX; and a current immersion in RHEL. I come from the old systems programming environment prevalent in mainframe shops, so I think I appreciate some of these points.

> Process isolation (how easily an app can hang things)

Neither Unix nor Linux is Windows and either does far better.

> File system reliability

Modern Unix/Linux filesystems are journaled and offer quick, very, very reliable recovery and integrity.

> Shell scripting gotchas

This is a matter of learning. HP-UX uses a POSIX shell as it's default. It is based on the Korn (88) shell. AIX uses the Korn shell as its default and for the most part it and HP-UX behave the same. On Linux, the most (?) common shell used is the Bash shell. I'll be the first to admit that this has a few subtle differences over the Posix/Korn shells, but these are easily learned. The Bash shell offers a vastly richer shell. Understanding the areas that differ will make porting shell scripts easier and less apt to cause surprises.

> Ease of porting and building Unix apps

See above and see below. I'd hasten to add that if you write in Perl, porting is a virtual non-issue.

> Quality of the C compiler vs. gcc

I'm not a C expert. The proprietary Unix environments offer proprietary C compilers. These are crafted to produce optimal code for their limited hardware targets. Unless you need to squeeze every last ounce of performance from your code, in my opinion, it doesn't matter. If portability of your 'make' files and C code is desired, go with 'gcc'.

> Conceptual coherence (file organization, naming conventions, etc.)

Ah, it's too bad that every Unix and every Linux distribution has to muddle a bit here. For the most part, the filesystem hierarchy is common, though where you find a particular configuration file, or exactly what it is named, may differ. All of this is just a matter of orientation.

> Convenience, stability, and heaviness of virtualization options

The open-source community has very rich offerings with new ones all the time.

> Administrative tools and documentation

The proprietary Unix solutions do well here. HP-UX had SAM (now SMH) and AIX has SMIT. Of course Linux has its own GUI tools. Personally, I'll take a CLI interface that I can script, parse and feed any day.

Regarding documentation, my personal opinion is that HP has had some of the very finest offerings. During the last year, though, its website has been "updated" and in my opinion, *finding* what you are looking for is far more onerous than before.

That said, the wealth and quality of documentation in the GNU/Linux world will keep you reading for a very long time. The GNU tools and utilities tend to be vastly more feature-rich than any of the propriety Unixes.

In deference to HP, thanks to Porting and Archive Centre, a wealth of open-source tools and open-source versions of "standard" utilities can be installed as pre-packaged binaries, enhancing the value of the intrinsic HP environment.

Regards!

...JRF...

wenp
New Member

Re: Assessing the commercial Unixes

> It would be informative if you offered a few details...

I didn't want to start with an overly long post, but I'll give more background now.

I run a few multi-user, stand-alone boxes with Debian. They are used for document processing, internet, compiling (C), running simulations (Erlang), and searching/sorting 1MB-1GB data files (Python, Lua). None are servers and typical needed uptime is no more than a few days. I prefer to operate at the command line and in the interest of stability and speed, I set up systems to be as minimal as is practical. I value understanding how the innards work and I'm willing to put in extra effort up front in order to configure a more stable system. I want a system stable enough that I can compile, backup files, and use office apps at the same time. My experience has been that Linux stability is not sufficient.

Just last week, I connected a USB drive (ext2) to one box to backup a file. Noise in the cheap USB cable was too much and the transfer failed. What should have happened is just a warning message about the failure, or at worst, a corrupted file on the external drive. What actually happened is that most of the directory system on the external drive was corrupted so that I couldn't recover the files or the disk space. Spent a day restoring the drive. I've had similar cases with other external devices (usually FAT32).

A few days later, while using mc to manage some files, I moved several large files to a directory, waited for completion, navigated to another directory, and opened a file. The file didn't open and the directory I just left became inaccessible; I couldn't recover the files in it. (Yes, I keep multiple backups of everything, because of Linux.)

These things happened while I was also struggling with the udev system. I needed to enable USB automounting, but I couldn't get it to mount devices as current user. The manual clearly states how to do it, but the feature doesn't work. Google found several people with the same problem, some random guesses at the issue, and no solution. The Linux world is very loose about requiring documentation to be complete and accurate. It can also be very hard tracking down someone who knows how a particular thing really works. I resorted to using halevt; even though HAL is deprecated, it still works.

On a day to day basis, the biggest annoyance is how frequently apps hang. About half the time, using "kill" from the menu will work. Other times, I have to Ctl+Alt+Fn to another terminal and kill the process. Coming back, there may be orphaned processes that interfere with restarting the killed app or others. It would be better if Unix was like OpenVMS in this area, making sure that child processes are also killed. Some of the most frequently hanging apps are supposed to be quite stable: Firefox, Emacs, GIMP, Inkscape. Vi is quite good; I shifted to using it after several times losing work in Emacs.

To get around the stability problem, I have started running less stable apps in a guest OS on VirtualBox. It is easy to set up and fast enough, but eats up a lot of CPU and RAM. I tried other options: Xen (painfully hard to set up), KVM (immature), VMware (very poor Linux support), QEMU (very slow). I'd like a virtualization facility that is simple, light, and very secure.

My concern with porting and compiling C programs is limited to building other people's Unix apps for the machine. With Debian, I can get just about anything I want as a binary. But on Unix, I would have to compile specialized things for myself. I've heard that getting Unix apps to compile can be somewhat trickier with Solaris and AIX than other Unixes. I'm not a great C coder by any means.

One thing I don't have much hopes for is better organization, since it still has to be Unix. It's such a pain not being able to predict where things are. I spend a lot of time using the Debian package manager Synaptic to locate all the files of an installed package. It would save so much time if file locations, naming conventions, and utility options were more consistent. I've heard something to the effect that IRIX and AIX did work to make things neater.

I hope this has given more than enough to elicit useful discussion. To close, here are my impressions of these Unixes from years of lunchroom gossip.

AIX -- Excellent organization of configuration tools. More consistent naming and design of utilities, at the expense of compatibility with other Unixes.

HP-UX -- Maybe the most stable Unix. Exceptionally labor-intensive to maintain. Use of new features requires a hot, noisy, expensive Itanium machine.

Solaris -- Easiest and cheapest to get started with, since based on x86. Great development tools. Messier than other Unixes since it tries to cover every standard ever made and also packs in the GNU stuff. That and irregular naming conventions make building apps harder.
V. Nyga
Honored Contributor

Re: Assessing the commercial Unixes

Hi,

one more sad point for HP-UX:
You need a support contract to get patches now.
Maybe AIX/Solaris have this too, I don't know because this is a HP-UX forum :-)

V.
*** Say 'Thanks' with Kudos ***
Bill Hassell
Honored Contributor

Re: Assessing the commercial Unixes

Sun/Solaris locked out patches about 2 years ago. Recently Sun locked out patches even with a support contract if the patch you want is not for the hardware on your contract. And the most recent development is that Sun now requires a premium contract to those patches.

With HP locking patches, it would seem that AIX is the only commercial Unix with open patching.


Bill Hassell, sysadmin