我明白long term scheduling决定了多道程序的程度,但是我无法理解它可以用在什么地方。因为假设我想运行某个进程并双击该图标,现在该进程必须加载到主内存中并运行。操作系统从不说它不会运行该进程。
有人可以解释一下可以使用长期调度程序的场景吗??
谢谢。
长期运行的系统需要长期调度。您的台式机不是长期运行的机器。您使用它一段时间,然后将其关闭(或闲置)。
“长期调度器”是一个学术概念。正如通常使用的短语一样,它与批处理作业有关。因此,交互式系统中不会有长期调度程序。
“long term scheduling decides the degree of multiprogramming”这句话的意思是系统中并发运行的进程数是由long term scheduler控制的
LT 调度程序从处于“新”状态的进程列表中选择(因此,这些实际上并未加载到内存中),并根据当前系统负载将它们置于“就绪”状态(因此,将它们加载到内存中)和系统的实际容量。
它总是在从程序创建新进程时运行。
之所以称为 LT 调度程序,是因为与 MT 和 ST 调度程序相比,它的运行频率相对较高。
我喜欢@pasha 的陈述,因为它简单而笼统,我想以此开始我的回答。但是它没有回答问题。
因为假设我想运行某个进程并双击该图标,现在该进程必须加载到主内存中并运行。操作系统从不说它不会运行该进程。
所以你正试图在交互式系统上启动一个新进程。
有人可以解释一下可以使用长期调度程序的场景吗??
我觉得这是一个很有意思的问题。让我告诉你 IMO 在交互式系统中会注意到 LTS 的一些场景:
所以,IMO 在每个现代的交互式操作系统中,都有一个 LT 调度程序。我不知道它是如何实现的。例如,短期调度程序是一段非常具体且定义明确的代码。 LTS 可能是相似的,或者它的功能可能分布在其他几个与流程启动相关的功能中。
问候。