1. 程式人生 > >程序的三種基本狀態及其轉換

程序的三種基本狀態及其轉換

程序的基本狀態:

①就緒(Ready)狀態

當程序已分配到除CPU以外的所有必要資源後,只要再獲得CPU,便可立即執行,程序這時的狀態就稱為就緒狀態。在一個系統中處於就緒狀態的程序可能有多個,通常將他們排成一個佇列,稱為就緒佇列。

②執行狀態

程序已獲得CPU,其程式正在執行。在單處理機系統中,只有一個程序處於執行狀態;在多處理機系統中,則有多個程序處於執行狀態。

③阻塞狀態

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

程序三種狀態間的轉換

就緒→執行

處於就緒狀態的程序,當程序排程程式為之分配了處理機後,該程序便由就緒狀態轉變成執行狀態。
執行→就緒處於執行狀態的程序在其執行過程中,因分配給它的一個時間片已用完而不得不讓出處理機,於是程序從執行狀態轉變成就緒狀態。
執行→阻塞正在執行的程序因等待某種事件發生而無法繼續執行時,便從執行狀態變成阻塞狀態。
阻塞→就緒處於阻塞狀態的程序,若其等待的事件已經發生,於是程序由阻塞狀態轉變為就緒狀態。

相關推薦

程序基本狀態及其轉換

程序的基本狀態: ①就緒(Ready)狀態 當程序已分配到除CPU以外的所有必要資源後,只要再獲得CPU,便可立即執行,程序這時的狀態就稱為就緒狀態。在一個系統中處於就緒狀態的程序可能有多個,通常將他們排成一個佇列,稱為就緒佇列。 ②執行狀態

多執行緒(2):程序基本狀態及其轉換

程序的基本狀態: ①就緒(Ready)狀態 當程序已分配到除CPU以外的所有必要資源後,只要再獲得CPU,便可立即執行,程序這時的狀態就稱為就緒狀態。在一個系統中處於就緒狀態的程序可能有多個,通常將他們排成一個佇列,稱為就緒佇列。 ②執行狀態 程序已獲得CPU,其程式正在執行。在單處理機系統中,只有一

學習筆記--程序基本狀態及其轉換

(1)一個執行中的程序不斷改變其狀態,通常程序必須具備以下三個基本狀態:    ①就緒狀態:    當程序已分配到除CPU以外的所有必要資源後,只要在獲得CPU,便可立即執行,程序這時的狀態就稱為就緒

程序基本狀態轉換

.程序的三種基本狀態     程序在執行中不斷地改變其執行狀態。通常,一個執行程序必須具有以下三種基本狀態。 就緒(Ready)狀態     當程序已分配到除CPU以外的所有必要的資源,只要獲得處理機便可立即執行,這時的程序狀態稱為就緒狀態。 執行(Running)狀

Ubuntu作業系統學習筆記2(vi文字編輯器、程序基本狀態及其轉換

文字編輯器是對純文字檔案進行編輯、檢視、修改等操作的應用程式。vi編輯器具有文字編輯的所有功能,並且執行速度快,具有強大的編輯功能,廣泛的適用性和靈活性。 一、vi文字編輯器 1、vi編輯器的啟動與退出 (1)啟動 格式:vi  [檔名] 檔名有以下情況: 未指定檔

Git中文件狀態及其轉換

com att AD .com check 方案 方便 因此 ddl Git作為一種版本控制解決方案,由於其具有的分布式特性,正被越來越多的用戶熟知,一些有名的開源項目,如:Linux kernel,CakePHP,Ruby on Rails等,都在使用Git進行版本管理。

程序基本狀態轉換和阻塞及掛起的理解【轉】

就緒狀態 :一個程序獲得了除處理機外的一切所需資源,一旦得到處理機即可執行,則稱此程序處於就緒狀態。 執行狀態:當一個程序在處理機上執行時,則稱該程序處於執行狀態。 阻塞狀態:一個程序正在等待某一事件發生(例如請求I/O而等待I/O完成等)而暫時仃止執行,這時即使把處理機分配給程序也無法執行,故

程序狀態及其轉換

在程序的生命週期中,一個程序至少有5種基本狀態:初始狀態、執行狀態、等待狀態、就緒狀態和終止狀態。就緒狀態:程序已得到除了CPU之外的其它資源,只要排程到處理機,便可以進入執行狀態;執行狀態:當程序獲得處理機,正在處理機上執行,此時的程序狀態稱為執行狀態;等待狀態:程序因等待

一、Unity中Shader的基本類型

ron 光照 llb 代碼 com unity3d ogr 不同 部分 一、固定功能著色器(Fixed Function Shader) 固定功能著色器為固定功能渲染管線的具體表現。功能較簡單兼容比較老的機器 二、表面著色器 存在於Unity3D中由U3D發揚光大的一

章 C++的基本控制結構

順序結構 跳過 abs mil display comm bre ref rep 0x C++提供的三種基本控制結構 順序結構:按照先後順序依次執行程序中的語句 選擇結構:按照給定條件有選擇地執行程序中的語句 循環語句:按照給定規則重復地執行程序中的語句 1x 第一

不同狀態機寫法

begin 狀態機 nbsp OS 時鐘 pre 組合 cmd 周期 一段式狀態機: 1 reg[3:0] cs, ns; 2 always @(posedge clk or negedge rst_n) begin 3 if (!rst_n) begin

C#整數強制類型轉換int、Convert.ToInt32()、int.Parse()的區別

轉化 輸入 數值類型 參數類型 處理 字符 value val 四舍五入 Convert.ToInt32(double value) 如果 value 為浮點型,采用四舍五入; int(4.6) = 4,int轉化其他數值類型為int時沒有四舍五入,強制轉換(截取整數部分)

進程的基本狀態轉換

inf 等待 多個進程 img 暫時 分享圖片 ron http 轉換 一、進程的基本狀態 操作系統引入進程的目的:使多個程序能並發執行,以提高資源利用率和系統吞吐量 1、就緒狀態(Ready):這是指進程已經處於準備好運行的狀態。即進程已經獲得除CPU意外所有必需的資源,

Matlab陣列間的轉換

三種陣列是:數值型矩陣,字元陣列(或字串),單元陣列(也有叫元胞陣列) 1、數值型矩陣轉換為字元陣列(num2str、mat2str) >> A=[1,2,3;4,5,6]; >> B=num2str(A) B = 1  2&nb

執行緒的生命週期以及五基本狀態

一.執行緒的生命週期及五種基本狀態 關於Java中執行緒的生命週期,首先看一下下面這張較為經典的圖: 上圖中基本上囊括了Java中多執行緒各重要知識點。掌握了上圖中的各知識點,Java中的多執行緒也就基本上掌握了。主要包括: Java執行緒具有五中基本狀態 新建狀態(New

java中基本語句及四道例題

一、if-else語句 if (關係/邏輯/算術表示式) { 當條件成立時所要執行的函式功能 } else { 當if後的條件不成立時所要執行的函式體 } 二、switch語句 switch(引數) { case 表示式1(即有可能輸入的引數): 所要執行的函式體;

Python的基本資料型別

數字 int(整型) long(長整型),python對長整型沒有限制,理論上可以無限大。python3後沒有long了. float   字串   加了引號的都是字串。   單引號和雙引號沒有約束,儘量

css基本選著器

<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title>css選著器分類</title> <style> /*使用選擇器給div設定樣式*/ .bigbox{

Go 語言切片的特殊狀態 —— 90% 的開發者都忽視了

我們今天要來講一個非常細節的小知識,這個知識被大多數 Go 語言的開發者無視了,它就是切片的三種特殊狀態 —— 「零切片」、「空切片」和「nil 切片」。 圖片 切片被視為 Go 語言中最為重要的基礎資料結構,使用起來非常簡單,有趣的內部結構讓它成了 Go 語言面試中最為常見的考點。切片的底層是一個數組,切

深度解析 Go 語言中「切片」的特殊狀態

我們今天要來講一個非常細節的小知識,這個知識被大多數 Go 語言的開發者無視了,它就是切片的三種特殊狀態 —— 「零切片」、「空切片」和「nil 切片」。 切片被視為 Go 語言中最為重要的基礎資料結構,使用起來非常簡單,有趣的內部結構讓它成了 Go 語言面試中最為常見的考點。切片的底層是