Summary

  • A driver runs in a multithreaded environment.
  • The methods of a driver class can potentially be called from an arbitrary thread. This means that, even if a driver creates no threads of its own, it cannot escape the need for synchronized access to its shared instance variables and hardware.
  • The I/O Kit provides synchronization functions that a driver can use to prevent multiple threads from modifying shared data at the same time.
  • A spin lock is a suitable synchronization mechanism for code that will hold the lock only for a short period of time or for code that will execute inside a primary interrupt handler.
  • A mutex is a better choice if the lock will be held for longer periods, but it cannot be used inside a primary interrupt handler.
  • To synchronize events that can occur at an arbitrary time, such as a hardware interrupt or a software timer, the I/O Kit provides a dedicated thread on which the handler for these events is run. This is known as the work loop thread and the I/O Kit ensures that all event sources that are installed on the work loop are executed in a serial manner.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.12.160.63