On Tue, Feb 9, 2010 at 8:28 PM, e.stiebler <emu at e-bbes.com> wrote:
Ethan Dicks wrote:
That brings to mind the assertions from Apple and Microsoft in the
mid-1980s - that you "needed" 2MB of memory to multitask. ?Over a
dozen simultaneously-updating "dotty windows" on a 256K A1000 was
simple proof that there was another way.
But they were cheating on the A1000.
There was a processor in it ;-)
Sort of... the dedicated graphics hardware provided visually
impressive fill rates (try opening up the AmigaDOS "clock" tool and
resizing it to fill the screen - it paints thousands of pixels on two
bitplanes fast enough that you can barely see the polygons fill), but
the real-time executive kernel (EXEC) was what serviced all those
windows without a drop of application code to task-switch, unlike DOS
or the classic MacOS. The machine was built from the ground up to
support multitasking, unlike the other "popular" home platforms of the
day. The custom chips just offloaded mundane data moving tasks
(blitting, floppy data massaging, etc) leaving more time for the CPU
to service all the processes on the machine.
I did some work hacking "co-operative multitasking" application code
to work on the Amiga (swaths of code deleted!). Boy was that stuff a
mess. It really made me appreciate coming to the Amiga from UNIX,
instead of coming "up" from other environments.
Of course, earlier generations would decry task switching overhead as
"wasteful" - just put all the jobs in a queue, run each job to
completion really, really fast, then stack the output in the
pigeonholes ;-) (I came in at the tail-end of the Batch vs
Interactive Wars - I had *one* class in college that we submitted
batch jobs to, but thankfully for my sanity at the time, it was
terminal submissions, not punch-card submissions. I did all my work
on 3270 terminals, and except for the 15,000-job-long run queues, it
wasn't so bad).
-ethan