2016-05-06 72 views
-1

顯然,違規進程將被迫定期放棄CPU,但系統可能仍然無響應。加載具有JavaScript或觸發器和加載項的頁面時經常發生。 一個進程可以阻止他人使用內存或文件系統嗎?還有什麼會導致凍結?是什麼導致搶先式操作系統掛起?

+2

您確定操作系統掛起?你可能在錯誤的地方尋找錯誤。 – gnasher729

+0

你確定系統不僅僅是顛簸嗎? – tangrs

+0

好吧,讓我們直接定義:在計算中,當計算機程序或系統停止響應輸入時,會發生掛起或凍結。 (https://en.wikipedia.org/wiki/Hang_%28computing%29)。這是否澄清了這個問題? – Atilla

回答

0

搶先式調度可防止進程獨佔CPU,但該進程的任務仍可排隊等待其他資源(內存,磁盤,網絡)暫時無法訪問這些資源。具有非常高頻IO的進程,例如將大文件加載到內存(尤其是在慢速硬盤上)的進程可以使系統抓取。

1

如果系統在完全停止時「掛起」,原因是操作系統錯誤。

如果系統變得無響應,原因通常是資源匱乏。 CPU是一種資源。但是,管理起來相對簡單。操作系統也管理許多其他資源。內存就是這樣一種資源。但是,內存中有子資源。大多數操作系統維護自己的「堆」(通常稱爲「池」)。這些可以分頁或非分頁。如果您的系統用完非分頁池並且開始執行需要非分頁池的I/O請求,就會停下來。

添加到該設備和設備路徑。寫入單個磁盤的50個進程將比寫入20個不同磁盤的50個進程慢。

頁面文件空間是另一個共享資源。

這完全是關於資源管理。

+0

看起來像「掛」這個詞沒有一個確切的定義,它是否完全意味着「完全停止」或包括暫時無反應。我並不是說它一定是不可挽回的停止。我在評論中鏈接到的維基百科定義也與此相一致,即它認爲一個過程顛簸和佔用資源也是「掛起」的情況。 – Atilla