A quote from "The Linux Programming Interface" (section 2.7)

From a kernel point of view, processes are the entities among which the kernel must share the various resources of the computer. For resources that are limited, such as memory, the kernel initially allocates some amount of the resource to the process, and adjusts this allocation over the lifetime of the process in response to the demands of the process and the overall system demand for that resource. When the process terminates, all such resources are released for reuse by other processes. Other resources, such as the CPU and network bandwidth, are renewable, but must be shared equitably among all processes.

MY QUESTION: What does it mean for a computer resource to be limited (memory) or renewable (cpus and bandwidth)?

2 Answers 2


Resource management is a computing concept in which describes how a computer uses its hardware or virtual components. The quoted excerpt describes how a kernel would interface with such resources as just one example.

To understand this idea more generally, I'll try to relate the definitions to more general concepts,

resource - physical hardware or virtual components (kernel, OS, etc.). See here for more information about what constitutes something as a resource from Wikipedia.

limited resource - a resource in which is scarce or even limited artificially in some regard. In the excerpt, the kernel is described to manage its own memory allocations directly because it needs to have maximized availability. This has to do with resource contention and memory management is one such use case.

renewable resource - any resource that is more general and is usually highly-available. Access is shared equally between anything using it. This can be something like the CPU or network bandwidth because it is designed to offer usage in chunks of time, offers little to no impact on throughput, and is usually more effective this way. An example of sharing a renewable resource would be CPU multitasking.


I can see how it is confusing. Both are limited in one sense, However the distinction is about time.


It is possible to use up all the RAM. If this happens the processes must give it back, or processes must be killed.


It is not possible to use up all the CPU. The CPU may have been used 100% for the past 3 days, but if another process tries to also use it, then it can be shared, they get less each. If only 10% of the CPU is used, over the last 5 minutes, then this does not mean that in the next 5 minutes there is 90% remaining. The 90% from earlier, has gone, you can't get it back.

(Non of this takes into account power consumption.)

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .