程序相關概念

2022-06-05 18:30:09 字數 1601 閱讀 7606

1.程式與程序

程式是指編譯好的二進位制檔案,在磁碟上,不占用系統資源(cpu、記憶體、開啟的裝置……)。

程序是活躍的程式,占用系統資源,在記憶體中執行(程式執行起來會產生乙個程序)。

程式就好比是劇本,而程序就是按照劇本演的戲(舞台、演員、道具等就相當於系統資源),同乙個劇本可以在多個地方同時上演,同乙個程式也可以載入為不同的程序。

2.併發

在作業系統中,乙個時間段中有多個程序都處於已啟動到執行至完畢之間的狀態,但任一時間點只有乙個程序在執行。

3.單道程式設計

所有程序乙個乙個排對執行。若a阻塞,b只能等待,即使cpu處於空閒狀態。例如以前的dos系統

4.多道程式設計

在計算機記憶體中同時存放幾道相互獨立的程式,它們在管理程式控制之下,相互穿插的執行。

5.cpu與mmu

**處理器(cpu,central processing unit)是一塊超大規模的積體電路,是一台計算機的運算核心(core)和控制核心( control unit)。它的功能主要是解釋計算機指令以及處理計算機軟體中的資料。**處理器主要包括運算器(算術邏輯運算單元,alu,arithmetic logic unit)和高速緩衝儲存器(cache)及實現它們之間聯絡的資料(data)、控制及狀態的匯流排(bus)。它與內部儲存器(memory)和輸入/輸出(i/o)裝置合稱為電子計算機三大核心部件。

下圖為cpu一般工作流程。

假如資料在硬碟上放著,當我們執行某個程式的時候,從硬碟中先拿到記憶體中,在拿到cache快取器中,然後由預取器預取指令,再交給解碼器進行解碼,解碼器再交給alu算術邏輯單元執行運算,然後,將運算好的資料交給暫存器,由暫存器交給記憶體,再由記憶體交給硬碟。

mmu為記憶體管理單元,主要目的是完成物理記憶體與虛擬記憶體的對映,還有修改記憶體的訪問級別下圖為mmu虛擬位址與實體地址的對映關係。

6.程序控制塊

每個程序在核心中都有乙個程序控制塊(pcb),用來維護程序相關的資訊,linux核心的程序控制塊是task_struct結構體。

task_struct部分內容如下:

程序id,系統中每個程序都有唯一的id,在c語言中用pid_t型別表示,其實是乙個非負整數。

程序的狀態,有就緒、執行、掛起、停止等狀態。

程序切換時需要儲存和恢復的一些cpu暫存器。

描述虛擬位址空間的資訊。

描述控制終端的資訊。

當前工作目錄。

umask掩碼。

檔案描述符表,包含很多指向file結構體的指標。

和訊號相關的資訊。

使用者id和使用者組id。

會話(session)和程序組。

程序可以使用的資源上限。

7.程序狀態

程序基本狀態有5種,分別為初態、就緒態、執行態、掛起態和終止態,其中初始態為程序準備階段,常與就緒態結合。

Windows程序執行緒相關概念

需要程序的原因 多道程式在執行時,需要共享系統資源,從而導致各程式在執行過程中出現相互制約的關係,程式的執行表現出間斷性 非封閉性 不可再現性等特徵。傳統的程式本身是一組指令的集合,是乙個靜態的概念,無法描述程式在記憶體中的執 況,故引入程序的概念。多道程式併發執行,提高系統吞吐量和系統資源利用率 ...

程序相關概念解讀 應付相關考試

程序基本概念 一 程序 process 2程序狀態 process state 就是程序的生命狀態,描述程序所表現的行為。2.1兩狀態程序模型 說明 程序狀態分為 執行態 非執行態。2.2五狀態模型 說明 新建態 剛剛建立的程序,os並沒有將其排程至可執行程序佇列中。執行態 該程序正在執行。就緒態 ...

Linux系統 程序相關的概念

1.程式和程序 程式 是編譯好的二進位制檔案,存放在磁碟上,占用的是磁碟空間,是乙個靜態的概念。程序 乙個啟動的程式,程序占用的是系統資源,如 物理記憶體,cpu,終端等,是乙個動態的概念。程式 劇本 程序 戲 舞台,演員,燈光,道具.同乙個劇本可在多個舞台上演出,所以同乙個程式可以在多個終端執行,...