[Duo2400] Re: Question for 2400 OSX users

Ivan Drucker ivanxqz at yahoo.com
Thu Dec 19 02:21:22 PST 2002



>This is my understanding of how RamDoubler worked (this is from using 
>several versions and a bunch of company faqs).
>
>Lets say you have 100 megs of ram. Ram Doubler 8 gave you 300 megs 
>(later versions tripled instead of doubled). Now you could only assign 
>a program as much ram as you physically had, but, and this is the 
>biggie, it no longer mattered that your OS needed 40 megs. You could 
>still assign Photoshop 100 megs instead of only 60, and with triple the 
>ram you still had 160 left for your other programs. Lets see, SF = 
>40mb, Pshop = 100mb, Freehand = 50, Quark = 50 and enough left over for 
>Maelstrom, Fetch, Eudora and Newswatcher. Not too shabby for a Mac with 
>only 100 megs of ram.

Kinda. This is what's going on at the user level. But RAM Doubler doesn't 
"give" you additional memory any more than StuffIt gives you additional 
disk space. The way RAM Doubler does its magic is twofold: 1) it makes 
available to other programs memory that is reserved by a running 
application but not currently in use and 2) it replaces Apple's Virtual 
Memory system with an (arguably) more efficient one. In later versions of 
the OS (maybe 8.5 and onward) Apple's VM became far better than it used 
to be, and is always enabled by default.

Virtual memory of any sort means that when memory is full, parts that 
aren't being used get written out to disk for later retrieval when 
needed, so that space can be made for programs that need it now. OS X 
(and all modern operating systems, including Windows NT/2000/XP) always 
are running Virtual Memory). The downside to using virtual memory is, of 
course, the performance hit of having to hit the hard drive, which is 
much slower than RAM.

Thus even without RAM Doubler, you can use VM on OS 9 to "give" yourself 
more memory for free, and you can set how much (via the Memory control 
panel). Apple's VM will work as you expect. Think of RAM as a desk and 
your HD as your file cabinet. This is oversimplified, but say you have 
100 MB, and have set your VM for 200 MB (total). The system uses 40, and 
you launch FreeHand (which you have assigned 50), so the system will run 
(more or less) without using VM, because you're still within the limits 
of your physical RAM. Your desk is not yet full.

But then if you launch Quark (another 50), the system will see that there 
is no room in physical RAM, and write some or all of the memory being 
used by FreeHand, and clear the room in RAM so you can launch Quark. In 
other words, you've taken some of what was on your desk and put it in the 
front of your file cabinet for quick retrieval when needed, so that you 
could make room for something else. The system will now say that you've 
got 140 MB being used, but (at least) 40 of that is stored on the disk 
temporarily, and to use it would require clearing out some of what's in 
physical RAM and reloading it (taking some of what's on your desk and 
putting it in the front of your file cabinet, so that you can again make 
space for what you put there initially on your desk).

This can be very efficient as long as both Quark and FreeHand aren't both 
trying to do things at the same time. If you're just going back and forth 
between them, you might have to wait a second while memory for one 
unloads and the other loads, but that's it. If they're both working 
actively on their documents, though, you'll have a flurry of disk 
thrashing as the two apps compete for available RAM. The reason why you 
have to keep your application memory sizes to within physical RAM under 
any VM system (including RAM Doubler) is that if an app's memory has to 
be partially stored on disk at all times, you're constantly going to be 
loading and unloading memory for that app if you work with a document 
large enough to spill over.

Anyway, let's say Photoshop is set to 75 MB -- if you try to launch it at 
this point, you'll get an out of memory, because you set your VM ceiling 
at 200 MB, and you only have 60 MB left. But the ceiling is arbitrary -- 
you could set it higher, at the cost of potential slowdown by loading and 
unloading more apps, and also you have to reserve more of your HD space 
for it.

What RAM Doubler brings to the table is that under Apple's VM system, if 
Quark is set to 50 MB so that you can work effectively with large 
documents, most of the time 40 MB or so are going to waste; Quark has 
just reserved the memory in case it needs it. RAM Doubler sees that 40 MB 
are not being used, and lets other programs use it *before* having use VM 
to write stuff out to disk. So you're right, you can give all of your 
apps huge memory partitions, secure in the knowledge that under RAM 
Doubler, you can run many more programs at once because it won't let any 
memory go to waste before writing to disk. If Quark is only using 10 MB, 
and Photoshop is only using 15 MB, and FreeHand is only using 20, and the 
system is using 40, you're still within the limits of physical RAM and 
don't have to do any disk writing.

However, you don't get something for nothing, and you'll have the usual 
VM limitations under some circumstances. If you're working with a large 
Quark file that uses all 50 MB, then RD can't give any of its memory to 
other apps. So if you launch Photoshop and open a large file that uses 
all 75 MB, there's still only 100 MB of physical RAM, and RD has to write 
some of the memory being used by Quark to disk, just as Apple's VM system 
does. When RD has to do this, it's a lot less magical because there's the 
usual VM performance hit. This is why RD imposes a ceiling (initially 
double your memory, later triple); it's an arbitrary ceiling, but if they 
set it too high, you'll get slowdowns just because the active memory 
needs of all your running apps are likely to not fit in physical RAM, and 
then it's just a disk-based VM system.

Personally, on my 2400 I have 112 MB, and use no virtual memory at all, 
and instead live with running fewer apps at once. I usually find it 
comfortable enough.

>Therefore OSX on a machine with limited resources wouldn't be juggling 
>these resources between a greedy system and program(s) but rather 
>devote all 100 to the OS and still have a lot left over for other 
>tasks. At the very least it would allow you to run Classic and one or 
>two other apps efficiently.

Not so simple. OS X requires an ungodly amount of RAM just for its lovely 
user interface. All those transparencies are expensive and in order to 
get decent performance out of things like window resizing the system 
keeps multiple copies of the screen in memory at all times. That is, if 
you have enough memory -- if you don't, it uses VM to write screen data 
to disk. (Hint: run in Thousands, not Millions [which probably isn't an 
option anyway on a 2400]). There's also all kinds of under the hood stuff 
going on that I don't even know about that also demands RAM.

If you have only 112 MB of RAM, it's unlikely that you can run Classic 
efficiently even all by itself. It's just not enough. Remember that 128 
MB is Apple's minimum requirement for OS X, and that's barely enough. 
You'll be VM thrashing till the cows come home. Classic is the most 
resource-intensive part of OS X. Sorry...

>The fact that system-bloat didn't cut into my available ram was the 
>main reason I started using RD, I no longer had to be frugal with how 
>much useless crap was in my SF (bring it on AfterDark).

System bloat should have still cut into your available RAM under RD -- 
it's just that so much more was being made available to you by reclaiming 
unused memory for your apps that it didn't matter.

>Considering how 
>crafty the RD programmers were and how well OSX manages memory I'm sure 
>that RamDoubler X would be fantastic for earlier Powerbooks trying to 
>run OSX.

No doubt they are very crafty, but this makes no sense. The point is that 
OS X manages memory more efficiently, hence no need (or possiblity) for 
RAM Doubler X to do a better job. Under OS X, you don't assign memory 
partitions to applications as you do in OS 9; they don't need to reserve 
memory for their documents in advance. I don't know enough about what 
happens under the hood in OS X to say definitively that there is no room 
at all for a memory-enhancement product, but I really doubt that there 
is. Also let us not forget that Apple's minimum PowerBook for OS X is a 
Wall Street, and that takes 256 MB of RAM.

> PS. My 2400 should be arriving friday, I'm very excited.

Cool! You'll have to let us know how you like it.

Ivan.



More information about the DuoList mailing list