驱动程序中轮询状态的执行
驱动程序工作在内核模式和用户模式,内核模式的驱动程序实现系统自身硬件和软件的交互,用户模式驱动程序主要用于驱动外部设备,比如 USB,光盘等(此处主要讨论工作在内核模式的驱动程序,即操作系统自身的驱动程序)。驱动程序支持两种工作模式:polled 和 interrupt。
poll模式按一定的周期和规则轮询设备,有轮询输入(PollInput)和轮询输出(PollOutput)
“轮询(Polling)是一种CPU决策如何提供周边设备服务的方式,又称“程控输出入”(Programmed I/O)。轮询法的概念是,由CPU定时发出询问,依序询问每一个周边设备是否需要其服务,有即给予服务,服务结束后再问下一个周边,接着不断周而复始。轮询法实作容易,但效率偏低。”
轮询输入:查询LSR寄存器的LSR_DR位,判断是否已经读到了数据,如果没有读到数据