進程 I\O 與 CPU 限制?

進程 I\O 與 CPU 限制?

我在網路上準備面試時看到這個問題:

給定一個非搶佔式內核,哪種類型的進程在性能方面會受到更大的影響,為什麼?

  1. I\O 限制

  2. CPU 限制


我知道:

CPU 密集型進程會獲得長量子,但優先權較低,而 I/O 密集型流程會獲得短量子,但優先權較高。

起初,我認為I\O 綁定會受到更多影響,因為它必須等待從磁碟讀取完成(而不僅僅是要求作業系統在準備好時喚醒它),但我認為這是錯誤的,因為即使在非搶佔式核心進程可以自行決定完成其工作並讓另一個進程繼續工作。

我正在尋找詳細的答案,以深入了解我在這裡缺少的內容。

答案1

「CPU 密集型進程獲得長量子但優先權較低,而 I/O 密集型進程獲得高優先權短量子」的說法並不正確。

如果是這樣的話那就太理想了——但通常情況下,每個進程都會獲得幾乎相同的時間片。 I/O 密集型程序會很快放棄 CPU。

安排不同的優先事項動態地否則將很難做到,並且由於核心無法搶佔,因此不清楚如何實現這種優先權。

相關內容