Re: Lisa OS preemptive multitasking and protected memory: myth or reality?

From: Shirl <shirlgato_at_email.domain.hidden>
Date: Wed, 20 Dec 2006 07:59:04 -0700

To clarify Ray Arachelian's comments:

>> It did have memory protection and virtual memory via the MMU. I believe
>> that the multitasking wasn't pre-emptive due to LisaGraf being
>> non-reentrant, but I'm not 100% sure. (LisaGraf became QuickDraw on the
>> Mac.)

I believe Lisa's graphics library (QuickDraw) was re-entrant and that this library did not cause the Lisa to have non-pre-emptive process scheduling. All of the Lisa's libraries were re-entrant.

All Lisa applications had their own copy of the QuickDraw global parameters in what was called something like the APPLICATION PROGRAM AREA. As such, every Lisa application used dedicated memory for the global variables which QuickDraw used to maintain its environment.

The original Mac QuickDraw though contained only a single copy of the QuickDraw global variables. These were stored near the beginning of the Mac address space with all the other Mac toolbox library global variables. This was done on the Mac since 1) it originally had a small amount of memory (128KB in 1984, 512KB in 1985) and 2) the Mac originally ran just a single application at a time (even the Mac Finder was swapped out when an application ran since the Mac with 128KB of memory really had around 90KB at most available for application use).

Also, QuickDraw was the public name of this library on the Lisa, not LisaGraf. Its original name was LisaGraf during its development but that was changed before the Lisa was released in 1983. Note that the Mac for a short time called this library MacGraf (at least in 1982), I have a QuickDraw manual from that year which says this.

For a great discussion of QuickDraw's history see Dough McKenna's QUICKDRAW ENTOMOLOGY paper which connects QuickDraw to Jef Raskin (Mac's first project lead) and Bill Atkinson (QuickDraw programmer) and Raskin's 1967 thesis about computer graphics which Raskin called QuickDraw. I have a copy of this history I can email to whoever wants a copy.


>From: "Shirl" <shirlgato_at_email.domain.hidden>
>To: lisalist_at_email.domain.hidden
>Subject: Re: Lisa OS preemptive multitasking and protected memory: myth or
reality?
>Date: Tue, Dec 19, 2006, 8:12 PM
>
> Hello Andrea,
>
> As Ray Arachelian correctly stated, the the Lisa computer's hardware
> supported memory protection and the basis for multi-tasking via specialized
> circuitry (the Memory Management Unit [MMU]). But multi-tasking was
> non-pre-emptive meaning that an application ("tool" in Lisa parlance) had
> control of the CPU until it yielded control to other applications (the OS
> service routine which handled this was named YIELD_CPU). This was done since
> a pre-emptive architecture would have made the Lisa too slow and the Lisa
> designers wanted the front-most tool to have access to the majority of the
> machine resources (memory, cpu) it needed.
>
> References
>
> The architecture of the Lisa personal computer
> Bruce Daniels, Apple Computer, 1983
>
> "The CPU is multiplexed among the runnable processes by using a priority
> based, nonpreemptive scheduling algorithm."
>
> Lisa operating system reference manual
> Apple Computer, 1982
>
> - David Craig
>
> ----------
>>From: Ray Arachelian <ray_at_email.domain.hidden>
>>To: lisalist_at_email.domain.hidden
>>Subject: Re: Lisa OS preemptive multitasking and protected memory: myth or
> reality?
>>Date: Mon, Dec 18, 2006, 10:26 AM
>>
>> I did have memory protection and virtual memory via the MMU. I believe
>> that the multitasking wasn't pre-emptive due to LisaGraf being
>> non-reentrant, but I'm not 100% sure. (LisaGraf became QuickDraw on the
>> Mac.)
>>
>> Andrea wrote:
>>> Hello, there are many web pages stating that the Lisa had preemptive
>>> multitasking and protected memory, features that were going to become
>>> common on personal computers only with the more recent versions of
>>> Windows (> Windows 98) and OSX on Macs. Is this true or just a myth?
>>>
>>> >From <http://en.wikipedia.org/wiki/Apple_Lisa>
>>> "It is a common misconception that the Lisa OS used preemptive
>>> multitasking."
>>>
>>> I am more and more confused.

--~--~---------~--~----~------------~-------~--~----~  You received this message because you are subscribed to the Google Groups "LisaList" group. To post to this group, send email to lisalist_at_email.domain.hidden To unsubscribe from this group, send email to lisalist-unsubscribe_at_email.domain.hidden For more options, visit this group at http://groups.google.com/group/lisalist?hl=en -~----------~----~----~----~------~----~------~--~--- Received on 2006-12-20 07:11:17

This archive was generated by hypermail 2.4.0 : 2020-01-13 12:15:20 EST