Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Windows will sometimes speak of busy hardware but is there an actual a busy signal that the kernel can pick up on?
Reason being is that with the old heirarching kernels idea alot of the overhead can be cut if each and every kernel can schedule its own inputs and outputs to public hardware. If a kernel can read busy signals it can wait for an opening and sends its command.
From a hardware standpoint, no. But it is the drivers that interface with the hardware. And each driver knows whether it has sent an uncompleted command to the hardware. If so, the hardware is known to be busy, without checking any hardware flags. So each driver can be required to set a flag at some known location in memory that says that its associated hardware is busy.
Putting a marker somewhere in OS memory was my thought too if there wasnt a hardware way to do it. I was making sure there wasnt a hardware method before I go about spending ram.
Any extra thoughts on the issue is appreciated if anyone has them.
How much of a waste is one bit of ram in comparison to the entire driver?
Besides, ram's faster
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
have a callback function that drivers can use to test if their hardware is busy. The driver, then, is responsible for keeping a busy flag if the hardware does not provide one.