WINDOWS NT RESEARCH USAGE ABSTRACT
For USENIX Windows NT Workshop, August 11-13 1997.
Kshitij Doshi, Kurt Kovach, William Cox, Dave Rorke
Advanced Development Group, Novell Inc.
2 Oak Way, Berkeley Heights, NJ 07922.
We are in the early phases of a research project whose aim is to provide a very small, embedded operating system environment to several applications that depend upon the embedded environment to extend or customize resource scheduling that is performed by the host OS (e.g., Windows NT). On Unix systems, real-time and other performance constraints have inspired efforts in which kernel resident modules provide alternative scheduling and resource management capabilities that are usually missing from a base kernel that is targeted for general purpose deployment. We have identified similar needs for a class of applications that already run as system components within Unix and IntraNetware environments, and we are attempting to define general strategies for efficient application-assisted resource assignments in NT kernel. The general characteristics of each of these applications are:
(1) A kernel-mode component, providing a customized execution environment for the remainder of the application, which may or may not be hosted within the kernel.
(2) The kernel mode component of the application provides a way of scheduling resources that are entirely local to the application (but globally shared by tasks within the application) in a manner that minimizes the probability of active contention among the tasks or threads. The strategy for minimizing active contention is to drive resource allocation decisions within the application based on the likelihood of the application's threads being awarded other resources that are contended for by all system/user tasks. That is, the applications are provided with an internal scheduler for application tasks, which streamlines the flow of control within the application through predictive techniques. The application itself relies on the system scheduler to dispatch its threads.
(3) The non kernel mode application component uses both the host system's OS calls and the calls provided by the kernel mode application component.
(4) The strategy for controlling the resource scheduling requires non-traditional
synchronization primitives, which are implemented by the kernel mode component of the
application. Thus the strategy does not require NT source code knowledge, and does not
depend upon unadvertised NT kernel interfaces.
Our research interests on NT therefore span driver strategies, performance, tools, fast user-kernel
communication techniques, and migration issues from Unix to NT.
Submitted by:
| Kshitij Doshi | doshi@novell.com | 908-790-5234 |
| Kurt Kovach | krk@novell.com | 908-790-5023 |
| William T. Cox | bill@novell.com | 908-790-5123 |
| David E. Rorke | der@novell.com | 908-790-5025 |