> you can design APIs all day long, but if nobody is using these APIs
> it's a bit pointless. and the BIOS certainly will not suddenly call
> any DMA reservation API.

These APIs will be used by anybody who needs to virtualize things like IRQs, 
I/O ports, and DMA channels.

> besides this, MSDOS and associated programs got along for a couple
> of dekades without such an API.

That's because for decades there was no need for virtualization and DMA and IRQ 
and I/O were always handled by real hardware.  Now we're dealing with 
virtualization everywhere we turn, and you need to build something that will 
simulate what the hardware does in every detail.

You're looking at it from the application side instead of the hardware/BIOS 
side.  The two sides need to coordinate but they have very different 
perspectives.

> Conflicts on DMA channels can often cause very strange system
> problems and at times can be very difficult to diagnose.

Which is exactly why the emulation/virtualization needs to be done properly.

> DMA channels are used most commonly by floppy and tape drives and
> sound cards.

And hard drives and Ethernet cards and anything else that needs to transfer a 
lot of data at once.

> so it looks like 'it would have been nice to have a reservation API
> in the 80's', but they somehow navigated around these problems. 40
> years ago.


Nope.  As discussed above, 40 years ago virtualization didn't exist so there 
was no need for an API.


_______________________________________________
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to