Process 操作系统知道进程状态吗?

Process 操作系统知道进程状态吗?,process,operating-system,kernel,Process,Operating System,Kernel,操作系统内核是否能够识别所有的进程状态,如新建、就绪、运行、等待和终止,还是为了便于理解?如果它被操作系统识别,它将如何进行识别?这里的问题是,进程状态完全是特定于系统的 你的第一个问题基本上是正确的,系统状态基本上是为了“便于理解”的教学结构 操作系统必须知道进程的状态。这可能以多种方式进行维护,包括状态变量和队列。这里的问题是,流程状态完全是特定于系统的 你的第一个问题基本上是正确的,系统状态基本上是为了“便于理解”的教学结构 操作系统必须知道进程的状态。这可能以多种方式进行维护,包括状态变

操作系统
内核是否能够识别所有的
进程状态
,如新建、就绪、运行、等待和终止,还是为了便于理解?如果它被操作系统识别,它将如何进行识别?

这里的问题是,进程状态完全是特定于系统的

你的第一个问题基本上是正确的,系统状态基本上是为了“便于理解”的教学结构


操作系统必须知道进程的状态。这可能以多种方式进行维护,包括状态变量和队列。

这里的问题是,流程状态完全是特定于系统的

你的第一个问题基本上是正确的,系统状态基本上是为了“便于理解”的教学结构


操作系统必须知道进程的状态。这可能以多种方式进行维护,包括状态变量和队列。

您所谈论的进程状态(与上下文相反,在某些文献中也被称为进程状态)完全是操作系统本身所需要的。它是一种簿记工具。因此,它引入了开销,希望在其他地方获得(a.o)性能增益。例如,通过只考虑准备好的进程,操作系统避免切换到只会产生下一个进程的进程(会产生多余的上下文切换)

这一概念的实施可能有所不同。PCB并不总是有一个用于处理状态的显式数据字段。通常情况下,状态由不同的队列实现,在这些队列中,进程被排序为。有时,操作系统甚至对进程状态有冗余表示。表示是一个效率问题:例如,如果操作系统寻找某个就绪进程(不管是哪个),队列的复杂性为O(1),而具有显式状态的PCB列表则需要O(n)


总而言之:如果操作系统不知道进程状态,那么它们将是多余的。状态的实现方式和使用方式因系统而异。

您所谈论的进程状态(与上下文相反,在某些文献中也被称为进程状态)完全是操作系统本身所需要的。它是一种簿记工具。因此,它引入了开销,希望在其他地方获得(a.o)性能增益。例如,通过只考虑准备好的进程,操作系统避免切换到只会产生下一个进程的进程(会产生多余的上下文切换)

这一概念的实施可能有所不同。PCB并不总是有一个用于处理状态的显式数据字段。通常情况下,状态由不同的队列实现,在这些队列中,进程被排序为。有时,操作系统甚至对进程状态有冗余表示。表示是一个效率问题:例如,如果操作系统寻找某个就绪进程(不管是哪个),队列的复杂性为O(1),而具有显式状态的PCB列表则需要O(n)


总而言之:如果操作系统不知道进程状态,那么它们将是多余的。各州的实施方式和使用方式因系统而异。

此评论是针对那些投票反对的人的。我想知道为什么它被否决了?怎么了?怎么能在不需要的地方写代码呢??你认为堆栈溢出只是一个用来回答编码问题的论坛吗??你认为像这样的核心技术深度驱动的场景很重要吗???对于另一种关于否决票的观点:你的问题是模糊的/不清楚的。不知道你在说什么,进程状态。而且,甚至不清楚你指的是什么操作系统。不清楚你在最后问什么,通过“它将如何做?”我已经读了,又读了好几遍,仍然不清楚你在问什么。如果你觉得你可以澄清它,你应该相应地编辑你的问题。但是,没有必要因为人们对一个问题投了否决票而生气。@Extract不是所有的问题都应该有代码,而且他没有提到他想让我们为他写代码的地方。不要只是假设事情并阻止人们提问。亲爱的OP,是的,操作系统知道每个进程的状态,它实际上改变了它们。内核还保存保存进程状态的数据结构。所以它可以访问它并检查进程的状态。@David Makogon这是一个一般性问题。如果不清楚,像你这样的人可以在评论部分要求澄清&然后他们可以自由地否决投票。我不生气,我只是想知道为什么投了反对票,因为他们每投一张反对票都是名誉上的损失。这个评论是针对投反对票的人的。我想知道为什么它被否决了?怎么了?怎么能在不需要的地方写代码呢??你认为堆栈溢出只是一个用来回答编码问题的论坛吗??你认为像这样的核心技术深度驱动的场景很重要吗???对于另一种关于否决票的观点:你的问题是模糊的/不清楚的。不知道你在说什么,进程状态。而且,甚至不清楚你指的是什么操作系统。不清楚你在最后问什么,通过“它将如何做?”我已经读了,又读了好几遍,仍然不清楚你在问什么。如果你觉得你可以澄清它,你应该相应地编辑你的问题。但是,没有必要因为人们对一个问题投了否决票而生气。@Extract不是所有的问题都应该有代码,而且他没有提到他想让我们为他写代码的地方。不要只是假设事情并阻止人们提问。亲爱的OP,是的,操作系统知道每个进程的状态,它实际上改变了它们。内核还保存保存进程状态的数据结构。所以它可以