2016-01-31 136 views
-5

操作系統可以被視爲算法嗎?請關注有限性。我現在有一位教授對此有不同看法。告訴我一些事情和其他事情。作爲算法的操作系統?

+2

我認爲將操作系統作爲整體考慮爲算法是不合理的。我認爲將各個組件視爲算法(如頁面替換算法)以及用於選擇下一個要運行的進程的算法或從池中分配資源是有意義的。 – mcdowella

回答

1

答案取決於您在單詞'算法'的定義中挑剔的細節,這在任何實際的環境中都是不相關的。

「是」是一個非常好的答案,因爲OS是一種算法,用於在給定之前的狀態和硬件或軟件中斷的情況下計算內核的下一個狀態。計算機每次發生中斷時都運行該算法。但是如果你被要求「專注於有限性」,那麼無論誰要求你說「不」,因爲操作系統不一定終止......(除了當你描述特徵時正如我在上面所做的那樣,它確實如此:-)

0

根據定義,操作系統不能稱爲算法。

讓我們看看算法是什麼: 「在計算或其他問題解決操作中應遵循的過程或一組規則,特別是計算機。」

操作系統由一組規則(在軟件編碼本身中)組成,它們允許用戶在系統上執行任務,但沒有被定義爲一組規則。這就是說,操作系統本身不是算法,但我們可以編寫一個關於如何使用它的算法。我們也可以爲操作系統編寫算法,定義它應該如何工作,但要調用操作系統本身算法沒有多大意義。操作系統只是一個像其他任何軟件一樣的軟件,雖然相當大和複雜。問題是,你會打電話給MS Word或Photoshop算法嗎?

但是,操作系統由多種算法組成。

我相信人們會在這個問題上推遲觀點。

0

來自Merriam-Webster:「一種解決數學問題的程序......在有限數量的步驟中經常涉及重複操作」。操作系統的問題在於,即使您正在討論固定分配,也可能由一個獨立的逐步過程組成,但並不是爲了解決「一個問題」。它用於解決許多問題。它由許多算法組成,但它本身並不是一個離散算法。