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.
Een eenvormige toepassing programmeringsinterface (API) verstrekt efficiënte generatie en controle van middelreserves om een gewenste kwaliteit van de dienst (QoS) voor toepassingen te verzekeren die op een werkend systeem van een computersysteem lopen. Eenvormige API is gebaseerd op een hiërarchisch dossiersysteem dat middelreserves met verwijzingen naar gedeelde voorwerpen, eerder dan met de voorwerpen zelf associëert. Eenvormige API laat het gebruik van een verscheidenheid van verschillende evenredige aandeelplanners voor toe het controleren van toegang tot fysieke middelen, b.v., cpu, geheugen, schijf, netwerkinterfaces, enz. van het computersysteem. Het hiërarchische dossiersysteem omvat een afzonderlijke folder voor elk onafhankelijk-gepland fysiek middel van het computersysteem. Een ouder van de middelreserve in het hiërarchische dossiersysteem is of een wortelknoop van het dossiersysteem of een andere reserve voor het zelfde middel. De middelreserve vertegenwoordigt of een interne reserve, die aan een folder in het dossiersysteem dat worden toegelaten om kindknopen te hebben daarmee bijbehorend in het dossiersysteem beantwoordt, of een rij, die aan een folder beantwoordt die wordt toegelaten om daarmee bijbehorende kind geen knopen te hebben. Een bepaald verzoek om een middelreserve wordt door een evenredige aandeelplanner verwerkt die met het middel wordt geassocieerd, en identificeert een rij die een vooraf bepaald gedeelte van het daaraan toegewezen middel heeft. De uitvinding verstrekt ook mechanismen voor verzoek het etiketteren door het werkende systeem, de ouderlijke beperking van middelen die door een kindproces worden gebruikt, en "de huisvuilinzameling" van middelreserves die niet meer nodig zijn.