Hello Dan and all,
I very rarely post here, but I find this list to be very informative
and worthwhile reading. I read this post from Dan and decided to
share it with a very close friend who works in the Computer Science
Department at USC. I will share his response here, in the hope that
some folks will find value in it.
Rick Boggs
Morning Rick,
Mac OS is unix under the hood. Mostly a BSDish flavor of Unix
utilities running on top of the Mach Microkernal with a BSDish
service presenting the Unix interface combined with GNU's gcc and
libraries for building things. The Terminal program defaults to
using the Bash shell which comes from the GNU people (Free Software
Foundation). So all Bash commands work. Aqua would be analogous to
the X Windows System in other forms of Unix. Its a Windowing system
using Finder as the Window manager. Now X was meant to be a
networked window system and while Aqua as some of those features it
is tuned to be a single machine's window system.
This was the architecture of NeXT Step and Mac OS X is really NeXT
Step + an Apple style interface. This is true even today at version
10.4.x.
Now from a programming perspective this is very cool. For the
average user it doesn't impact them. Its like a body of a car, Aqua
is the body, Unix is the engine, drive train, etc.
Because Mac OS X is Unix you can do all your unix things assuming the
programs you need are installed. Now modern Unixes tend to come with
more then you need, Apple has chosen (probably a wise choice from a
support point of view) to only include what they need by default.
Because of Apple's NeXT Step heritage you don't see
the usual assortment of stuff in /usr/bin, /usr/lib, /usr/include,
/etc, /var and so on. If you need development tools then you need to
install them, if you need other server stuff then you need to install
them, etc. I recommend using OpenDarwin Ports
(<http://www.opendarwin.org>http://www.opendarwin.org/) for getting
the usual set of Unix tools and services that you'd find by default
with most Linux distributions. You need to read through the docs on
Open Darwin because there are some pre-requisites that need to be in
place (I vaguely remember having to install the Mac OS X developer
tools before installing Darwin).
Once Open Darwin is installed the Unix under the hood is remarkably
similar to BSD, Linux, Solaris, etc.
Hope this helps,
Robert
Origianl Message:
Hello Scott and everyone else,
You know, that brings up a point.
While I can certainly understand trade secrets, many of us are
already familiar with Linux and Unix and such. I wish there was much
more information on the different processes used in Apple's flavor
of Unix and in particular how the GUI apps work with the underlying
Unix. and the other way round. Furthermore, I wish there was much
more information available on Mac's terminal, including Sin-tax and
anything especially pertaining to Mac and its particular flavor of
Unix.
Just a thought, along with your questions regarding mail processes.
Dan
On Feb 19, 2006, at 7:47 PM, Scott Howell wrote:
Folks, I got to thinking and yes nothing good comes of me thinking.
In any case, when I was running my Linux box, I used a program
called Fetchmail which would poll a mail server/servers and dump
mail into /var/spool/mail. Now I haven't been able to locate any
info that covers how mail works in great detail, but what I was
curious is if it would be possible to use a program like fetchmail,
have it pull mail down from a server and Mail make use of it. I
suspect Mail wouldn't do this very easily as it seems it either
imports mail from /var/spool/mail or such directory or Mail simply
pops the server itself and the mail is placed into the mail
directory in the local user's home folder.
Anyone have some insight into how Mail works? Is it possible to run
Mail as a cron job and have it pickup mail that way?
tnx
Scott