2016-01-31 55 views
-5

操作系统可以被视为算法吗?请关注有限性。我现在有一位教授对此有不同看法。告诉我一些事情和其他事情。作为算法的操作系统?

+2

我认为将操作系统作为整体考虑为算法是不合理的。我认为将各个组件视为算法(如页面替换算法)以及用于选择下一个要运行的进程的算法或从池中分配资源是有意义的。 – mcdowella

回答

1

答案取决于您在单词'算法'的定义中挑剔的细节,这在任何实际的环境中都是不相关的。

“是”是一个非常好的答案,因为OS是一种算法,用于在给定之前的状态和硬件或软件中断的情况下计算内核的下一个状态。计算机每次发生中断时都运行该算法。但是如果你被要求“专注于有限性”,那么无论谁要求你说“不”,因为操作系统不一定终止......(除了当你描述特征时正如我在上面所做的那样,它确实如此:-)

0

根据定义,操作系统不能称为算法。

让我们看看算法是什么: “在计算或其他问题解决操作中应遵循的过程或一组规则,特别是计算机。”

操作系统由一组规则(在软件编码本身中)组成,它们允许用户在系统上执行任务,但没有被定义为一组规则。这就是说,操作系统本身不是算法,但我们可以编写一个关于如何使用它的算法。我们也可以为操作系统编写算法,定义它应该如何工作,但要调用操作系统本身算法没有多大意义。操作系统只是一个像其他任何软件一样的软件,虽然相当大和复杂。问题是,你会打电话给MS Word或Photoshop算法吗?

但是,操作系统由多种算法组成。

我相信人们会在这个问题上推迟观点。

0

来自Merriam-Webster:“一种解决数学问题的程序......在有限数量的步骤中经常涉及重复操作”。操作系统的问题在于,即使您正在讨论固定分配,也可能由一个独立的逐步过程组成,但并不是为了解决“一个问题”。它用于解决许多问题。它由许多算法组成,但它本身并不是一个离散算法。