First thing to understand is the Resource Pool. As the name suggests, it can be visualized as a group of available CPU and memory resources, that can be shared among different processes. Through a resource pool, such resources can be effectively managed by maintaining for what the particular resources is reserved for, any limit details, and which other processes share the resource.
Now the Operating System is referred to as a 'Resource Allocator', as it allocates resources from the Resource Pool to various processes/programs as requested and/or required before the initiation of the process.
When a process/program is initiated, OS checks the Resource Pool to see if the required resources (CPU, memory) are available in the pool. If the resource(s) is/are free, it allocates them to the requesting program and updates the Resource Pool with the allocation status.
As and when a process completes, the OS de-allocates the resources assigned to it and add it back to the Resource Pool and re-assigns to any other process as per the need.
Please do let me know if this was helpful.
Thanks and Regards,
Aarti S (Computer Sc/ICT and German Tutor)