Spanky wrote on Jul 28th, 2009 at 11:29am:What exactly does the shell interact with? Is the the "UNIX operating system"? The kernel? What is the correct terminology?
It interacts with the kernel. The operating system is the combination of the kernel, shell, GUI (if installed) and all the system utilities.
Spanky wrote on Jul 28th, 2009 at 11:29am:Do you happen to know HOW MANY Unix utility programs there are? Or where I might find out?
I don't know how many there are and I doubt anyone does. Easily thousands. If you are talking about Unix proper, then it depends on the type of Unix. HP Unix doesn't work the same as AIX (made by IBM) or Solaris (made by Sun). If you are talking about the BSD families (Unix descendants) and Linux (written from scratch to be compatible with Unix) then most of the utilities come from the GNU project.
http://www.gnu.org/GNU actually has a kernel that they have been working on for ~20 years, but it isn't done yet, so it is usually paired with the Linux kernel.
Rad.in.UbuntuVM wrote on Jul 28th, 2009 at 1:35pm:Compiling sources. Is this something you actually do? Frequently? Rarely? Ever?
Yes, I do it regularly (although not frequently.) Sometimes the program you want is not available in a package for your particular distribution, or the version in the repositories is not current and you want some new feature. A good example of this is BOINC:
http://boinc.berkeley.edu/ The version in the Ubuntu repository is 6.2.x. Versions before 6.6.0 don't support using your graphics card to do computations. So, if you want to put your idle nVidia graphics card to use doing volunteer computing in Linux, you have to install the BOINC client from source.
So, we get the source and compile it. It isn't hard at all. For many programs, you simply untar the source, cd into the directory, and run 'make'. Then, su to root and run 'make install'. Done. Sometimes you have to edit the make file to enable certain options or change where it installs to, but usually the defaults work fine.