Which mac VM (was RE: String>>hash performance)
John M McIntosh
squeak-dev at lists.squeakfoundation.org
Fri Sep 6 23:22:23 UTC 2002
On Thursday, September 5, 2002, at 08:30 PM, Richard A. O'Keefe wrote:
> John M McIntosh <johnmci at smalltalkconsulting.com>
> *very* helpfully wrote:
> In general the application used must have the largest version number,
> an internally assigned number that I typically increment for each VM
> distributed. In case of version number duplication then the
> application
> with the latest creation date is used, if duplication then it's
> usually
> the one you've last moved within the finder. Ah, os-x might have some
> different opinions here.
>
> ....
> IE do a custom search for file type is APPL and creator is 'FAST'
>
> I have
> Date 'vers' Name
> 2000.01.04 <<missing>> Squeak VM 2.7 PPC
> 2000.08.28 2.8.0 Final 0 Squeak VM 2.8
> 2001.02.28 3.0.8 Alpha 8 Squeak 3.0Alpha8MT
> 2001.06.31 3.1.8 Alpha 0 Squeak 3.0 (the browser plugin)
> 2002.05.31 3.2.7 Beta 7 Squeak 3.2.7b6 Classic
> 2002.05.31 3.2.7 Beta 7 Squeak 3.2 VM (a copy in a shared folder)
>
> The 'vers' resource doesn't seem to be helping MacOS 8.6 find the
> most recent version.
I see that. I did check my 3.0.8MT in my archive of shipped VM and
found it's version 3.0.8
I''ve this note from apple (it's old)
Date Written: 11/27/90
Last reviewed: 6/14/93
We have several versions of a Macintosh application (standard,
demonstration, student, and so on) and they all share the same type
('APPL') and creator bytes. When we have all of the versions on a hard
disk, double-clicking on a document launches the demonstration version
rather than the full version. Is the system's application choice based
on its date of creation, name, or other attribute? How can a user
specify which of several versions s/he wishes to launch when
double-clicking on a document? Alternatively, what can we as developers
do to designate the standard version as the one to be launched if there
are other versions on the disk?
Under System 6, the Finder adds information about the last application
copied to a disk to the disk's Desktop file, and that application is
used for opening documents with the appropriate creator type.
Under System 7, the Desktop Database maintains a list of the disk's
applications, and when asked (via the call PBDTGetAPPL) specifically
returns as the "preferred" application on a volume the one with the
appropriate creator type and most recent creation date. Make certain
that the desired application has the most recent creation date before
users copy it to their hard drives. For more information about the
Desktop Database under System 7, see the Finder Interface chapter of
Inside Macintosh Volume VI.
--------------------
As you've notice what you are finding isn't following the rules for
system 6.x or 7.x. But I do recall a bug report when I was building the
browser plugin installer that fetching the application based on type
from the desktop database would result in a array that 'should' be
sorted in creation order. However a *bug* in the logic in some versions
of os 8.x would return the list in the order you last moved/copied the
application.
I'll point out personally I felt that os-9.x was 100% more stable than
os 8.x and paying for the migration is well worth the expense just from
the stability viewpoint, even if you don't migrate to os-x. os-9 is
just way better...
>
> Then delete the ones you don't want to use.
>
> It's not clear to me that I don't want to use any of them.
> I had imagined that the browser plugin VM was different for a reason;
> not that I have any idea what the reason might be.
I believe they install a VM in the browser folder for completeness sake
so you can run the image standalone or embedded in the browser using
the browser plugin. But really it could go if you've another VM handy,
unless of course someone wants to point out some security issue I'm not
aware of with the Smalltalk code in the plugin image?
> If you want to see whether something works in an older Squeak,
> you _don't_ want to do your testing in a VM that might have some
> bugs fixed. And of course, older VMs asked for less memory; on a
> 64MB machine it is surprising just how little you can have running
> at the same time as a Squeak 3.2 VM.
New VM need more memory to run because the image is bigger. You can
adjust the memory down to as little as 1MB if you can find an image
that fits within 500K or so, going with 10MB if you've an 6mb image is
workable too. Might need to use resedit to adjust the minimum size. At
one time it was 1000K but then I found that some versions of the mac OS
would then stuff the VM into say a 4MB hole and attempt to run it. Then
the user would be confused because the image wouldn't run, and "About
this mac" seemed to imply lots of memory was available, but not a large
contiguous block.
>
> I don't know how MacOS picks 'em, but it certainly isn't newness...
>
> Hokay, I've compressed all but the latest VM, so that I _can_ test with
> older VMs by uncompress followed by drag-and-drop.
This works fine too.
>
> Should something about this be in an installation guide somewhere?
> Should a new release image (or one derived from it) pop up a warning
> if run on an older VM?
It could, I'd check
Smalltalk vmVersion
that returns on newer VM's
'Squeak3.2gamma of 15 January 2002 [latest update: #4913] Squeak VM
3.2.8b4'
For older VM it just returns the string
'Squeak3.2gamma of 15 January 2002 [latest update: #4913] '
But both are useful in deciding the age of the VM, I guess one could
submit a change request /enh to have a check at start to match a 3.2 vm
with a 3.2image etc... (higher version VM should run lower version
number images).
Welll I was going to try 3.0.8mt with 3.2gamma4918 but found the image
does a fatal walkback on startup
screen is blank, resizing shows the emergency evaluator up with
***system error handling failed***
Error: Bad BitBlt arg (Fraction?); proceed to convert.
Debugger class...
BitBlt(Object)>>error:
BitBlt>>copyBits
That's interesting, mmm I'm not sure we've talked about forward
compatibility here, so don't expect a 3.2
image to run with a 3.0 VM.
--
========================================================================
===
John M. McIntosh <johnmci at smalltalkconsulting.com> 1-800-477-2659
Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com
========================================================================
===
More information about the Squeak-dev
mailing list
|