作業系統 程序

2022-10-11 02:03:14 字數 1878 閱讀 1375

」程序實現了讓我們能夠在上qq的時候聽歌,還寫著文件... 這些都是程序」

程序由程式段,資料段,pcb三部分組成。

pcb:系統通過pcb來管理程序,因此pcb中應該包含作業系統對其進行管理所需的各種資訊。

資料段:程式執行時使用產生的資料,如全域性變數,區域性變數等等。

程序的獨立性:程序是資源分配,接受排程的基本單位。

程序的三種基本狀態:

執行態就緒態

阻塞態占有cpu,並在cpu上執行。單核處理機環境下,

每一時刻最多只有乙個程序處於執行狀態。

已經具備執行條件,但由於沒有空閒cpu而暫時不能執行。

因等待某一事件而暫時不能執行。

新建態終止態

王正在被建立作業系統,為程序分配資源,初始化pcb。

程序正在從系統中撤銷,作業系統會**程序擁有的資源,撤銷pcb。

程序狀態的轉換:

程序控制:通過原語實現程序之間的轉換。

為了防止程式從乙個態到另乙個態但pcb資料沒被修改,就發明了原語進行程式的控制。原語的特點是執行期間不允許中斷,只能一氣呵成。,原語採用關中斷指令和開中斷指令實現,只有執行完原語**,別的程式才開始執行。是只能在核心態下執行的特權指令。

程序通訊:

進出層是分配系統資源的單位,包括記憶體位址空間,因此各程序擁有的記憶體位址空間相互獨立。為了保證安全,乙個程序不能直接訪問另乙個程序的位址空間。所以衍生出來程序通訊的三種方法分別是共享儲存、訊息傳遞、管道通訊。

共享儲存:兩個程序可以通過共享空間相互訪問。但訪問的時候是互斥的,如程序一寫入的時程序二不能寫入。共享儲存分為基於資料結構的共享和基於儲存器的共享,前者是低階通訊方式,後者是高階通訊方式。

管道通訊:「管道」是指用於應該了解讀寫程序的乙個共享檔案,又名pipe檔案。其實就是在記憶體中開闢乙個大小固定的緩衝區。

訊息傳遞:程序間的資料交換以格式化的訊息為單位。經常通過作業系統提供的」傳送訊息/收訊息」的兩個言語進行資料交換。

訊息傳遞分為直接通訊方式和間接通訊方式。接通訊方式是將訊息直接掛到接收程序的訊息緩衝佇列上。間接通訊方式是訊息要通過原語先傳送到中間實體(信箱)中,在通過原語被另乙個程序接收。

執行緒:執行緒是處理機排程的單位,程序是資源分配的單位

程序的實現方式:

使用者級執行緒,核心級執行緒(核心級執行緒才是處理機分配的單位)

多執行緒模型:

作業系統 程序

在作業系統中,作業系統將記憶體,網路,檔案系統抽象為資源的統一抽象表示。1 什麼是程序 程序就是進入記憶體中正在執行的程式。把程序當做一組元素組成的實體。程序包括兩個部分,一部分是 部分,另一部分是 相關的資料集合。程序控制塊 每乙個程序,在核心中都對應著乙個程序控制塊。程序控制塊中儲存著程序的所有...

作業系統 程序

程序是作業系統中的重要概念,描述了程式的執行資訊。乙個程序就是一次執行。可以把程式想象成類,程序就是例項。引入程序的概念有利於實現多程式並行的設計。每乙個程式執行的時候可以大致分為io任務和計算任務,如果乙個程序正在io,那麼應該把cpu讓給另乙個程序執行計算任務,這樣可以提公升cpu的利用率,這就...

作業系統程序

乙個程序就是乙個正在執行的程式。它包括 程序狀態。包括 每個程序在作業系統中用程序控制塊pcb來表示,用來儲存與該程序有關的各種狀態資訊。pcb只是基本原理中的說法,對於乙個真實的作業系統可能不叫pcb,比如linux中叫做任務結構體 task struct 分時系統是在程序之間快速切換,以便使用者...