作業系統中睡眠 阻塞 掛起的區別形象解釋

2021-07-25 12:58:22 字數 511 閱讀 5888

作業系統中睡眠、阻塞、掛起的區別形象解釋

首先這些術語都是對於執行緒來說的。對執行緒的控制就好比你控制了乙個雇工為你幹活。你對雇工的控制是通過程式設計來實現的。

掛起執行緒的意思就是你對主動對雇工說:「你睡覺去吧,用著你的時候我主動去叫你,然後接著幹活」。

使執行緒睡眠的意思就是你主動對雇工說:「你睡覺去吧,某時某刻過來報到,然後接著幹活」。

執行緒阻塞的意思就是,你突然發現,你的雇工不知道在什麼時候沒經過你允許,自己睡覺呢,但是你不能怪雇工,肯定你這個雇主沒注意,本來你讓雇工掃地,結果掃帚被偷了或被鄰居家借去了,你又沒讓雇工繼續幹別的活,他就只好睡覺了。至於掃帚回來後,雇工會不會知道,會不會繼續幹活,你不用擔心,雇工一旦發現掃帚回來了,他就會自己去幹活的。因為雇工受過良好的培訓。這個培訓機構就是作業系統。

總結

阻塞佇列(程序在記憶體中阻塞)->阻塞、掛起佇列(程序在外存中阻塞)->就緒、掛起佇列(程序在外存中就緒)[----> 中級排程---->] 就緒佇列(程序在記憶體中就緒)->程序排程

作業系統中,掛起的含義

阻塞掛起狀態 blocked,suspend 程序在外存並等待某事件的出現 就緒掛起狀態 ready,suspend 程序在外存,但只要進入記憶體,即可執行 掛起 suspend 把乙個程序從記憶體轉到外存 可能有以下幾種情況 就緒 就緒掛起 當有高優先順序阻塞 系統認為會很快就緒的 程序和低優先順...

作業系統睡眠和休眠的區別

之前有待機的說法,現在一般用的是睡眠或者休眠。睡眠 將計算機當前執行狀態 或者說記憶體狀態 完整地儲存到磁碟,並且除記憶體外其他裝置均斷電,當計算機再次喚醒的時候如果睡眠過程中沒有供電故障則直接從記憶體啟動,如果發生了供電故障則先載入儲存到磁碟的記憶體狀態檔案,然後啟動。休眠 將當前記憶體狀態儲存到...

OS中阻塞與掛起的區別 sleep 的實現原理

部落格原文 核心的sleep 函式是在掛起原語的基礎上利用定時器實現的。阻塞與掛起都是程序的狀態,但他們有一些相似之處,也有一些區別,下面先對他們進行概述,再進行比較 阻塞 正在執行的程序由於發生某時間 如i o請求 申請緩衝區失敗等 暫時無法繼續執行。此時引起程序排程,os把處理機分配給另乙個就緒...