個程序從執行態變成等待必定會引起程序切換

2023-01-02 05:00:27 字數 2223 閱讀 4571

1樓:匿名使用者

書上這個地方沒詳細做解釋。

不過結合全書尤其是第102頁的「 i/o中斷事件的處理」就可理解。

按你舉的例子,可以這麼看:

程序p2等待的磁碟傳輸資訊結束後,通道便會產生「i/o正常結束」的中斷請求cpu進行干預,那麼程序p1就要讓出cpu而由中斷處理程序佔用cpu對中斷事件進行處理,(這時就引起了程序的切換)

處理中包括把程序p2由「等待」狀態變成「就緒」狀態,處理完後中斷處理程序讓出cpu,由程序排程程式從就緒佇列中選中一個程序佔用cpu。

2樓:

執行變成等待必然有原因的,分析一下原因就知道,等待是程式設計時故意或死鎖造成的,在等待事件沒有解決之前,是不可能繼續執行下去的,這個時候能到讓cpu閒置,在設計上是不科學的,所以最好讓出cpu讓其它程序執行,這樣必然形成程序切換,特例是系統中只有一個程序,那就無法切換,問題是這種情況不可能發生,因為系統中不可能只有一個程序,光作業系統本身程序就有幾十個,所以必然引起程序切換!

程序等待狀態

什麼時候會發生程序的切換

程序有執行態變為阻塞態可能是由於執行了什麼操作

3樓:雷老花眼種

程序的掛起:系統在超過一定的時間沒有任何動作。 程序的阻塞:

程序因等待某一件事情(如等待i/o裝置)而暫時不能執行的狀態,此時即使處理機空閒,程序也無法使用。系統中處於阻塞態(又稱封鎖態、等待態、睡眠態)的程序也可以有多個。 程序的。

為什麼時間片中斷和p操作會引起程序由執行態變為阻塞態

引起一個程序從執行狀態變為等待狀態

4樓:海棠壓

c因為a中的程序正在執行,你優先順序再高也得等它時間片到了才會排程。

當一個程序發出i/o請求後,會發生下述哪一個狀態的轉換

5樓:城南明月羿當年

程序的三種基本狀態。

程序在執行中不斷地改變其執行狀態。通常,一個執行程序必須具有以下三種基本狀態。

就緒(ready)狀態。

當程序已分配到除cpu以外的所有必要的資源,只要獲得處理機便可立即執行,這時的程序狀態稱為就緒狀態。

執行(running)狀態。

當程序已獲得處理機,其程式正在處理機上執行,此時的程序狀態稱為執行狀態。

阻塞(blocked)狀態。

正在執行的程序,由於等待某個事件發生而無法執行時,便放棄處理機而處於阻塞狀態。引起程序阻塞的事件可有多種,例如,等待i/o完成、申請緩衝區不能滿足、等待信件(訊號)等。

2.程序三種狀態間的轉換。

程序狀態變遷圖。

一個程序在執行期間,不斷地從一種狀態轉換到另一種狀態,它可以多次處於就緒狀態和執行狀態,也可以多次處於阻塞狀態。圖3_4描述了程序的三種基本狀態及其轉換。

(1) 就緒→執行。

處於就緒狀態的程序,當程序排程程式為之分配了處理機後,該程序便由就緒狀態轉變成執行狀態。

(2) 執行→就緒。

處於執行狀態的程序在其執行過程中,因分配給它的一個時間片已用完而不得不讓出處理機,於是程序從執行狀態轉變成就緒狀態。

(3) 執行→阻塞。

正在執行的程序因等待某種事件發生而無法繼續執行時,便從執行狀態變成阻塞狀態。

(4) 阻塞→就緒。

處於阻塞狀態的程序,若其等待的事件已經發生,於是程序由阻塞狀態轉變為就緒狀態。

程序執行狀態。

一個程序在其生存期內,可處於一組不同的狀態下,稱為程序狀態,如下圖所示。程序狀態儲存在程序任務結構的state欄位中。當程序正在等待 系統中的資源而處於等待狀態時,則稱其處於睡眠等待狀態。

在linux系統中,睡眠等待狀態分為可中斷的和不可中斷的等待狀態。

一個程序被建立後是進入就緒態後判斷如果當前沒有資源是進入等待態嗎 ,如果有資源則有就緒進入執行態。

6樓:匿名使用者

對,如果在就緒態時也獲取到了cpu的資源,就進入執行態去執行了,如果沒有等到cpu的資源,或者有些程序存在互斥還沒有獲取到訊號量,也是要等待的。還要看看你的作業系統是單任務還是多工的,程序執行時的排程策略是什麼。

7樓:匿名使用者

錯。錯在最後一句話有資源就進入執行態。程序必須被排程程式依排程規則分配cpu後才能進入執行態。

維持電腦正常執行的程序最少要多少個 分別是什麼

我覺得正常電腦的使用中並不是以有多少個程序來決定的,不同的系統程序數量大不相同。當然了,如果你開機時的程序過多,那麼肯定會導致機器執行緩慢。最有效的辦法是你可以在工作管理員中看看開機執行的程序具體都是什麼,如果有異常佔用cpu或者大量佔用記憶體的不知名程序,應該及時的結束掉。但是,如果對程序不是很瞭...

所有防毒軟體執行程序,各種防毒軟體的程序名稱!!!

文庫有的是,但是很多的殺軟都是經常換程序名的,比如金山從02版到現在已經換了很多個了。順便說一句,是要用結束程序的方式破壞殺軟嗎?這很難,因為殺軟程序是受保護的。不懂!你可以說詳細點嘛?聯想電腦管家的事,聯想電腦管家點小寶寶,你留下來陪我吃。exe。您好,這樣的情況建議您可以升級到最新版本試一下,或...

Windows作業系統程序,載入並執行系統服務指定的動態連結庫檔案是什麼

svchost.exe是抄windows作業系統一個非常重襲要的程序模組。因此很多病 bai毒都利用 dusvchost.exe來迷惑大家。zhi但是隻要我們仔細觀dao察就會知道是不是病毒。正常的xp作業系統下有五到六個svchost.exe程序,其中system使用者名稱下有3個svchost....