Methods and apparatus for ensuring quality of service in an operating system
A uniform application programming interface (API) provides efficient generation and control of resource reservations so as to ensure a desired quality of service (QoS) for applications running on an operating system of a computer system. The uniform API is based on a hierarchical file system which a...
Gespeichert in:
Hauptverfasser: | , , , , |
---|---|
Format: | Patent |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | A uniform application programming interface (API) provides efficient generation and control of resource reservations so as to ensure a desired quality of service (QoS) for applications running on an operating system of a computer system. The uniform API is based on a hierarchical file system which associates resource reservations with references to shared objects, rather than with the objects themselves. The uniform API permits the use of a variety of different proportional share schedulers for controlling access to physical resources, e.g., CPU, memory, disk, network interfaces, etc. of the computer system. The hierarchical file system includes a separate directory for each independently-scheduled physical resource of the computer system. A parent of the resource reservation in the hierarchical file system is either a root node of the file system or another reservation for the same resource. The resource reservation represents either an internal reservation, corresponding to a directory in the file system which is permitted to have child nodes associated therewith in the file system, or a queue, corresponding to a directory which is not permitted to have child nodes associated therewith. A given request for a resource reservation is processed by a proportional share scheduler associated with the resource, and identifies a queue having a predetermined portion of the resource allocated thereto. The invention also provides mechanisms for request tagging by the operating system, parental limitation of resources used by a child process, and "garbage collection" of resource reservations that are no longer needed. |
---|