引自《Linux 编程接口》(第 2.7 节)
从内核的角度来看,进程是内核必须在其中共享计算机各种资源的实体。对于有限的资源(例如内存),内核最初会向进程分配一定量的资源,并在进程的生命周期内调整此分配,以响应进程的需求以及整个系统对该资源的需求。当进程终止时,所有此类资源都将被释放以供其他进程重用。其他资源(例如 CPU 和网络带宽)是可再生的,但必须在所有进程之间公平共享。
我的问题:计算机资源有限(内存)或可再生(CPU 和带宽)意味着什么?
答案1
资源管理是一个计算概念,描述计算机如何使用其硬件或虚拟组件。引用的摘录描述了内核如何与此类资源交互,这只是一个示例。
为了更普遍地理解这个想法,我将尝试将定义与更一般的概念联系起来,
资源- 物理硬件或虚拟组件(内核、操作系统等)。请参阅此处,了解有关 Wikipedia 资源的构成要素的更多信息。
资源有限- 在某些方面稀缺甚至人为限制的资源。在摘录中,内核被描述为直接管理自己的内存分配,因为它需要具有最大化的可用性。这与资源争夺内存管理就是这样的用例之一。
可再生资源- 任何更通用且通常高度可用的资源。访问权在任何使用它的人之间平等共享。这可以是 CPU 或网络带宽之类的东西,因为它旨在提供分块时间的使用,对吞吐量几乎没有影响,而且通常这种方式更有效。共享可再生资源的一个例子是 CPU 多任务处理。
答案2
我可以看出这是多么令人困惑。两者在某种意义上都是有限的,但区别在于时间。
有限的
有可能用完所有 RAM。如果发生这种情况,进程必须将其归还,或者必须终止进程。
可再生
不可能用完所有的CPU。 CPU 在过去 3 天内可能已被使用 100%,但如果另一个进程也尝试使用它,则可以共享它,它们各自获得的资源会减少。如果在过去 5 分钟内仅使用了 10% 的 CPU,那么这并不意味着在接下来的 5 分钟内还剩余 90%。之前的90%已经过去了,你无法再找回来了。
(这一切都没有考虑功耗。)