Post by Arny KruegerPost by FlintPost by Arny KruegerPost by Arny KruegerPost by Arkansan RaiderPost by FlintNot to mention that he sounds like he suffers from an Amiga-like 'Guru
Meditation' error...<g,d,&r>
Wow. Dude brought up the Amiga. +1
BTW, I still have my Amiga 500. Makes a great doorstop. ;^)
Amiga - yet another example of how being way before your time can be totally
deadly. Brilliant technology!
Damn straight it was. A Preemptive, multithreaded multitasking OS? Had it
back in 1985, and had did it working in as little as 256K (that's right,
KILOBYTES) of ram.
256K seems small, but OS/360 did it on a mainframe in 16K.
True, but it wasn't _preemptive_ multitasking, but more of a 'task
switcher' multitasking OS, which was rather common in mainframes by then.
All of the OS/360 variants ran application programs with all interrupts
enabled, and in a special storage protection mode where they could not
access storage outside of the program and its data without being trapped.
They could be prempted at any time by higher priority tasks, and there was
full subtasking and mulitasking. Task priority was changed on-the-fly to
meet system performance goals. I was a OS/360 system programmer at a
customer shop and also an IBM system support Field Engineer.
Post by FlintOn the _desktop_ however, the Amiga was the first true preemptive
multitasking system with a dynamic (on the fly) task
prioritization/reprioritization.
Nahh. Things like this were old hat by then. The first model Amiga was
launched in 1985, and by then IBM was on their second generation virtual
memory OSs. OS/360 dates back to the middle 1960s.
Post by FlintEven the classic Mac was simply a 'task switcher'.
I don't know much about Mac OS internals.
Post by FlintPost by Arny KruegerIt had custom coprocessors to offload graphics/animation/sound from the
CPU, making multitasking practical and usable on a single end user
workstation.
Very impressive.
A custom coprocessor slot to upgrade your CPU option via the addition of
CPU accelerator cards? Had it, and a working precursor to Wintel machines
having plug-n-play (called 'Autoconfig') that actually>worked< a full
10
years before Windows 'Plug-n-PRAY' did.
Plug-and-play was a MS/Intel PC hardware facility that was independent of
Windows. When Win95/Win98 were booted, plug and play resource allocation
had already been conceivably already been done once by the BIOS.
I suppose, if you count hardcoded IRQ register assignments as
'plug-n-play'.
I don't and PC BIOS-level PNP was far more dymanic than that.
Post by FlintAdd in a modem or HDD controller and see just how 'plug n play' it really
was.
Been there, done that. The modem might have been a bit of a special case
because its addresses and IRQ were hard coded for COM1-4. The primary hard
drive controller was hard coded but additional ones were not.
Post by FlintMore often than not, one had to do the XT/AT slot "shuffle" to get things
to work together, and/or BIOS setting tweaks (if your BIOS vendor even
provided that option in the first place - many didn't).
Your error heres is that the XT and AT were not designed to be plug-and-play
machines,
So its an 'error' to say PnP didn't exist then? You're missing the
point that XT/AT bus had no OS support for PnP, and that Win95 did
provide backwards compatibility with XT/AT based hardware. It just
didn't work very well, even on ATX hardware. To be fair, this was
largely due to legacy and PnP hardware conflict issues, but it still
suffered from inherent birth defects largely until PCI came along.
Post by Arny Kruegerand no claims were ever made by well-informed people that they
were. You're anticipating PNP by over a decade.
No I'm not anticipating anything. PnP did indeed exist over a decade
before it did on Wintel boxes. It was called Amiga's 'autoconfig'.
Post by Arny KruegerThat's< the significant point. PnP's early implementation on
windows< was >broken<, regardless if it was designed more for ATX
mobos, that's another significant point. Remember, early windows up
to and including win98 was backwards compatible w/old AT/XT based mobo
hardware as well, and didn't just run on ATX mobos.
Then there was the Amiga's OS support for it. Even compared with PCI
configuration, Autoconfig was much simpler, but had the same basic
functionality. For example, PCI allows random access to the
configuration memory space of devices, but required system registers
and I/O lines whereas Autoconfig didn't require this, but only
required that devices can be configured sequentially, and remain
configured until a system reset/reboot.
Autoconfig even supported hot-plugging (albeit for one device - the
last one) although most 3rd party manufacturers requiring hot-plugging
didn't make use of Autoconfig for whatever was being added and removed
(e.g. a PCMCIA card) but rather, they assigned whatever resource was
necessary permanently to the port or controller and handled the
addition or removal.
Post by Arny KruegerPost by FlintOn the Amiga, it was much more straight-forward and simple, and didn't
care which of its expansion (ZORRO) slots a device was in
(NuBus on the Mac was similar in that regard). Install a card, and add a
tiny bit of config text into the Amiga's mountlist file, and voila! As the
Apple fan-boys like to say, "it just worked".
PC PNP didn't exist at the time, so this is all very unfair.
That's the point exactly. It DID exist, the Amiga's 'Autoconfig' WAS
'plug-n-play'. What it wasn't was called "PCI configuration",
although similar to it. 'Plug-n-play' was an implementation beginning
with Win95, a full 10 years after the Amiga had it.
Post by Arny KruegerPost by FlintPost by Arny KruegerI don't think that the basic technology for PNP was rocket science, but with
all of the hardware and software that was available for the PC, the
political and administrative hoops were pretty daunting. Virtually every
motherboard and I/O card had to be changed and it was all voluntary.
Welcome to the downside of capitalism/democracy - the fact that every change
is voluntary.
And the is the big point. When you design new hardware in a vacuum, you
don't have to bring the world along with you. That was the Amiga's advantage
and the PC's disadvantage.
Aside from the Amiga's OCS (original chipset) and subsequent chipset
co-processors, everything >was< pretty much industry standard
hardware. The custom >coprocessors< were simply an additional layer
of hardware elegantly implemented making multitasking on a single
cpu/end user platform *efficient* and useful by offloading graphics,
animation, audio, and port I/O from the host CPU, but the base
hardware (CPU, RAM, disk drives) and standards such as
SCSI/serial/parallel ports & cabling were all standard. The major
architectural difference being that the Amiga, like the Mac and Atari,
was a 680x0 platform, and the Amiga's ZORRO bus, but then the ZORRO
bus was largely an extension of the 680x0 bus, not all that different
from ISA bus' extension on x86.
The Amiga 2000 model even had XT/AT bus slots in parallel to the
Amiga's own ZORRO bus slots to allow for PC compatibility via a
"bridgeboard" SBC-type card so as to be able to run MessyDOS apps
natively. Essentially, one had two computers in one - the Motorola
680x0 based Amiga siude, and x86 based MessyDOS side.
I used to run an Amiga 2500 with an 040 based CPU accelerator and a
386 bridgeboard. I could also alternately boot up that Amiga in a Mac
emulation mode when needed.
--
MFB