对于在内核运用的程序而言,任何时候都可能有对个请求同时来到,我们应该怎么样去处理他们呢?
或者是根据什么样的方法来处理他们呢?
我想,当我们了解startio 后,我们会有一个新的认识。。。
对 IRP 的处理 可以分成两种:
1:串行
2:并行
显然,并行使不可取的,因为,如果那样的话,派遣函数就会交织在一起。。
所以,我们必须根据队列这种数据结构来处理他们。。。
串行的特点符合我们的要求。
当一个 IRP 来到的时候,如果设备出于 free 的时候,它会对队列中的 irp 进行处理,
当 busy 时, 它将 irp 如队, 当然,这种队列是可以优化的,毕竟,irp 的重要性,执行时间 等等,都是可以考虑的
未完待续。。。