1
昨天我在高級操作系統類中瞭解到,可以允許放置在就緒隊列中的進程數量是有限制的。我想知道不同操作系統的數量。並且會發生什麼情況當超過這個數字?含義:如果創建的進程數量超過這個數量會怎樣?Linux中Ready Queue的大小是多少?
我想看看通過運行一個小程序,它是
int main()
{
while(1)
system(fork());
return 0;
}
系統會立即hung.Can誰能解釋爲什麼我的系統掛起會發生什麼?
感謝您的解釋。按照Fork Bomb的說法,操作系統是如何知道它是在Form Bomb攻擊下並拒絕服務的?當一個Form Bomb被拋出時,內存會發生什麼? – Ram
有沒有一種簡單的方法來檢查,通常人們做什麼來防止這種情況是對每個用戶的流程設置限制,如上所述。叉式炸彈最終會消耗所有內存,但是系統會掛起,因爲它只是在不做任何處理之間來回切換,而這些處理只是產生更多的進程,因此它在內核模式下花費的時間比在用戶模式下花費的時間多,因此係統有效掛起。 –