我正在使用高爾文(第9版)的教科書討論操作系統的主題。關於多線程的第4章中,我遇到了問題14,如下所示:多處理器和多線程 - 操作系統
具有兩個雙核處理器的系統有四個可用於調度的處理器。這個系統上運行着一個CPU密集型應用程序。所有輸入都在程序啓動時執行,當一個文件必須打開時。同樣,所有輸出都在程序結束之前執行,此時程序結果必須寫入單個文件。在啓動和終止之間,程序完全受CPU限制。您的任務是通過多線程處理來提高此應用程序的性能。應用程序在使用一對一線程模型(每個用戶線程映射到內核線程)的系統上運行。
•您將創建多少個線程來執行輸入和輸出?說明。 •您將爲應用程序的CPU密集部分創建多少個線程?說明。
對於第一部分,我認爲我們可以創建4個線程用於從文件讀取輸入以及將輸出寫入文件。這是因爲在輸入或輸出期間,不會更新正在執行的數據。
對於第二部分,對數據執行操作的性質是未知的,例如,(1)要打印數據的平均值還是(2)打印第一個數據的平均值和最後的數據點,然後打印第二和第二個最後的數據點的平均值,依此類推。
因此,對於第二部分,可以使用一個線程來處理操作。
但我不太確定我給出的答案是否正確。所以,如果你能讓我知道正確的答案,我將非常感激。
我從來沒有讀過高爾文的書,但從這裏提出的問題來看,它必須是完全的卡卡。問題中沒有足夠的信息來給出正確的答案。 – user3344003
我遇到了問題,貼出了完全相同的問題,也寫了我認爲應該是答案並要求更正的問題。我不明白爲什麼它應該邀請降價? :( – Neha