1. A computer-implemented method for resource management of a data processing system, the method comprising: for each of a plurality of programs running within the data processing system: assigning a priority to the program based on a role of the program wherein the role is determined from entitlement information obtained from the program, wherein the entitlement information defines functionality or resources that the program is entitled to request or utilize during execution; storing a program identifier identifying the program in a priority band of a priority queue, wherein the priority queue includes a plurality of priority bands, each priority band being associated with one of a plurality of priorities, wherein the storing includes storing a data structure associated with the program identifier containing entitlement information obtained from the program; in response to a request to reduce memory usage of the data processing system, retrieving a program identifier from the priority band of the priority queue that has lowest priority and having at least one program identifier stored therein; and performing a memory recovery operation on the program having the retrieved program identifier.