[comp.sys.mac.system] true multitasking on macs

urlichs@smurf.sub.org (Matthias Urlichs) (05/04/90)

In article <2638A883.57FF@intercon.com> amanda@mermaid.intercon.com (Amanda Walker) writes:
< As I see it, the hardest problem in providing protected address spaces on
< a per-application basis is that the Macintosh uses the low end of memory
< as a catch-all storage space for a large amount of system and application
< information.  Unfortunately, the local and global information is all
< interleaved (there being no distinction as long as you only have one
< process, after all).  This means that things like the tick count and the
< time of day (which "ought" to be mapped into the same physical page for
< every applicatioon and write protected to everything but the kernel)
< can't be mapped separately from things like the current application name
< and current directory/volume (which should be kept on a per-application
< basis).
MultiFinder solves this problem with copying stuff around. Not a very good
solution, but a solution.
Apple could start by protecting applications from each other, and making the
low memory stuff read-only. This alone would surely catch lots of stupid
programming errors, without breaking anything that isn't broken already.

In comp.sys.mac.system, article <54337@microsoft.UUCP>,
  edwardj@microsoft.UUCP (Edward JUNG) writes:
< 
< A related yet orthogonal issue is that the Toolbox is currently not
< reentrant. Some of the Toolbox state information is located in
< low memory. This means that currently you would have to disable
< interrupts so that context switching could not occur while the Mac
< was in the Toolbox.
< 
Even worse, some important OS stuff like the File Manager is not reentrant.
While you can have more than one async request at the same time (which block
context switching for compatibility reasons -- these completion routines
forget to set up their own A5, or rather their programmers do) there's some
global state information which keeps the OS from actively working on more than
one request at a time.
I hope Apple is doing something about this in System 7.0..?

-- 
Matthias Urlichs