UMS Design Goals

Several goals were established at the outset of this research. The scheduling facility needed to:

  • Support fibers, a feature new in Windows NT 4.0, and abstract working with them so that the core engine would not need separate code lines for thread mode and fiber mode

  • Avoid causing a thread to switch into kernel mode whenever possible

  • Avoid context switches as much as possible

  • Support asynchronous I/O and abstract working with it so that the core engine would not need a separate code line for versions of Windows that do not support asynchronous file I/O (e.g., Windows 9x and Windows ME)

Ultimately, it was decided that SQL Server 7.0 should handle its own scheduling. From that decision, the User Mode Scheduler (UMS) component was ...

Get Guru's Guide to SQL Server Architecture and Internals, The now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.