startio 的初体验。。

对于在内核运用的程序而言,任何时候都可能有对个请求同时来到,我们应该怎么样去处理他们呢?

或者是根据什么样的方法来处理他们呢?

 

我想,当我们了解startio 后,我们会有一个新的认识。。。

对 IRP 的处理 可以分成两种:

1:串行

2:并行

 

显然,并行使不可取的,因为,如果那样的话,派遣函数就会交织在一起。。

所以,我们必须根据队列这种数据结构来处理他们。。。

 

串行的特点符合我们的要求。

当一个 IRP 来到的时候,如果设备出于 free 的时候,它会对队列中的 irp 进行处理,

当 busy 时, 它将 irp 如队, 当然,这种队列是可以优化的,毕竟,irp 的重要性,执行时间  等等,都是可以考虑的

 

未完待续。。。

你可能感兴趣的:(startio 的初体验。。)