[AUUG-Talk]: Re: Sell me an Apple!

David Purdue david.purdue at auug.org.au
Thu Mar 30 14:14:38 EST 2006


Hi David,

OK - I have been waiting for an opportunity to weigh in here, but I'll
start with a statement of my biases: I work for Sun, my laptop is an
Apple, I am the President of AUUG and Apple and Sun have both been AUUG
sponsors.

On Wed, 29 Mar 2006, David Newall wrote:

> Gary R. Schmidt wrote:
> > There are two areas where kernel allocations are mode, one, over there
> > ==> is for allocations of 8Kb and more, the other, over there <== is for
> > allocations less than 8Kb.
> >   
> That part you explained clearly.
> 
> > I need 10Kb, but there is no space in the >8 zone.  Bad luck.  There may
> > be 63Kb free in the <8 zone, and 32Kb of that is contiguous, but, bad
> > luck, you can't get it.
> >   
> When a machine, with memory measured in hundreds of megabytes, has its 
> large buffer pool so full that it can't scrape together a measly 10KB, 
> then that machine is in trouble.  These buffers are simply staging areas 
> for data on its way from here to there, and if you run out of buffers it 
> means something over there stopped.  Satisfying a largish allocation 
> from the short buffer pool probably would be the worst thing to do.
> 
> > Well, what you have mentioned above seems to me to have a lot to do with
> > how you parcel out memory.
> No.  Not at all.  It was to do with how you parcel out address space.  
> Not the same thing at all.

There is a principal in operating system design called "Orthoginality" -
which is kinda a facy way to say "keep it simple, stupid." The idea is
that you pick a good way to do something and then every part of the OS
does that thing the same way.

For example - what we are talking about here is the allocation of buffer
caches. In early UNIXs the system administrator had to decide how much
memory would be used for buffer cache, and the rest would be for general
program memory use. It was sometimes a pain to tune the OS to have the
correct proportion of memory allocated to buffer cache.

Now, I have to cast my mind back to my Solaris Internals course...

As I recall, in Solaris they did away with this tuneable. How? Well, by
generalising file i/o - all file i/o goes through the same mechanism as
virtual memory. Storing a block in a file uses the same mechanism as
paging out a VM page.  So essentially the whole of memory is a buffer
cache, and there is nothing to tune. Memory is memory - all of it can be
used for whatever purpose has the most need at the time.

I think this is what prompted some of the comments about old fashioned
thinking in Mac OSX comes from.

OK - with that out of the way... I'd like to make some more general
comments about this discussion.

I bought my powerbook nearly a year ago, and I have found it a very useful
device. I primarily use it for accessing the net, and have been impressed
with the ease of use of the applications (both Apple and 3rd party), and
ease of configuration when I move from one environment to another - this
just makes me more productive, as I spend more time doing work and less
time fighting my computer.

My Apple experience is the "it just works" one - I'm sad to hear that Greg
has had a much less satisfying one.

I have heard good things about Mac OSX as a server OS, but personally,
that's not for me.

I have enjoyed reading the viewpoints expressed in this thread - thank you
all for contributing.

DavidP






More information about the Talk mailing list