A method for allocating resources (12, 13) in response to received requests in a computer system comprising a set of resources and an allocation control block, said method comprising the following steps implemented by the allocation control block: - receiving requests each indicating a software operation to be implemented and at least the resource capacities selectively chosen of the CPU, working memory, or mass storage type, that are required to implement the said operation; - for each request received, determining whether resources of sufficient capacity are available in the set of resources to be allocated to the implementation of said software operation and, if so, allocating said resources to the implementation of said operation; - each request is associated with one of a plurality of priority values ordered relative to one another; - in the negative case where it has been determined, in relation to a first request, that resources in sufficient capacity are not available, pre-empting resources which had theretofore been allocated to implementing an operation indicated in a second request associated with a priority value strictly lower than the priority value associated with the first request; and - reallocating at least part of the said resources thus pre-empted to the implementation of the operation indicated in the first request; said method being characterised in that it comprises the following steps implemented by the allocation control block: - when it has been determined for a plurality of first requests associated with the same first priority value that the resource capacities indicated in said first requests are not available, and if the resources then allocated to the operations indicated in second requests each associated with a priority value strictly lower than said first priority value do not enable all of the operations indicated in said first requests to be implemented, the allocation control block selects whichever of the first requests said resources are to be reallocated to in order to maximise the number of requests that will be satisfied by allocating available resources or reallocating pre-empted resources. - receiving requests each indicating a software operation to be implemented and at least the resource capacities selectively chosen of the CPU, working memory, or mass storage type, that are required to implement the said operation; - for each request received, determining whether resources of sufficient capacity are available in the set of resources to be allocated to the implementation of said software operation and, if so, allocating said resources to the implementation of said operation; - each request is associated with one of a plurality of priority values ordered relative to one another; - in the negative case where it has been determined, in relation to a first request, that resources in sufficient capacity are not available, pre-empting resources which had theretofore been allocated to implementing an operation indicated in a second request associated with a priority value strictly lower than the priority value associated with the first request; and - reallocating at least part of the said resources thus pre-empted to the implementation of the operation indicated in the first request; - when it