i know what you said. but you qualified your statement with "well-behaved."
...
You can have well-behaved of any software-- one that goes direct to hardware or API.
>well-behaved apps could go to the hardware more efficiently BUT this is only if there is no hardware errors in compatibility.
That's worse for APIs. If there are hardware errors, they are usually published and kept so you know they will be there. If you fix them in APIs, then you have to worry about whether the user has the erroneous version or newer version. Sometimes hardware errors are taken as features like enabling 7 bitplanes in OCS to enable a static mask bpldat.
>the api allows a buffer zone as i said so that if the hw has bugs the manufacturer can work around them. also if an api fails then there is coding that will reset the api so the os does not die. however if you go direct to hardware there is no such coding at present to handle this kind of event which has the potential to lock up the os.
Sorry, but application API access is protected by OS but drivers using APIs aren't. So they are likely to cause OS lockups just as well as one going direct to hardware. But you can also protect applications going direct to hardware using IOPM.
>by definition direct to hardware is DIRECT there is no floodgates in between for protection. if you do we are back to the api model.
Sorry, that's not how IOPM works and there's no API model involved. If you wanted to protect your hard drive I/O ports, you can protect them via OS and application can go direct to hardware and only OS will get control if application accesses those I/O ports you protected. Application does not have to use API. My application (MPDOS Pro) is an example that goes direct to hardware on I/O ports and does not use any API calls and keeps OS stable.