應用程式,核心,驅動的關係

2021-06-22 01:19:36 字數 1102 閱讀 9142

1.應用程式:應用程式呼叫應用程式函式庫完成功能,應用程式以檔案形式訪問各種資源,應用程式函式庫,部分函式直接完成功能,部分函式通過系統呼叫;

2.核心:核心完成核心處理系統呼叫

3.驅動:呼叫系統驅動程式,裝置驅動程式直接與硬體通訊。

裝置檔案:

裝置型別: 字元裝置、塊裝置、網路裝置

裝置號: 硬體裝置有主裝置號和從裝置號的區別。主裝置號相同的裝置,使用相同的驅動程式,從裝置號用於區分具體裝置的例項。

核心態和使用者態

linux中,將程式的執行空間分為核心和使用者空間(核心態和使用者態);邏輯上它們相互隔離,因此應用程式不能訪問核心資料,也無法呼叫核心函式。

系統呼叫和api的區別

系統呼叫,是一種特殊的介面,通過這個介面,使用者可以訪問核心空間。

系統功能呼叫規定了使用者進入核心的具體的位置。

具體步驟:使用者程序—>系統呼叫—>核心空間—>返回使用者空間

區別:api是指的是函式的定義,並規定了這個函式的功能。而系統呼叫則是通過中斷向核心發請求,實現核心提供的某些服務。

聯絡:乙個api可能會需要乙個或多個系統呼叫來完成特定的功能,也就是說如何這個api需要和核心打交道,那麼就需要系統呼叫,否則不需要。

程式設計師呼叫的是api,然後通過與系統呼叫共同完成函式的功能。因此api是乙個提供給應用程式的介面,是一組函式,是與程式設計師進行直接互動的。而系統呼叫則不與程式設計師進行直接互動,它需要根據api函式,通過乙個軟中斷機制向核心提交請求,從而獲取核心服務的介面。

應用程式和驅動程式的區別

(1)應用程式以main開始,驅動程式沒有main,它是以乙個模組初始化函式作為入口

(2)應用程式從頭到尾執行乙個任務,驅動程式完成初始化之後,不再執行,等待系統呼叫。

(3)應用程式可以使用glibc等標準的c函式庫,而驅動程式不能使用標準c庫。

下面是它們之間的關係圖:

參考 1.應用程式、核心、驅動的關係

2.系統呼叫與api的區別

應用程式 核心 驅動的關係

應用程式與庫函式 核心 驅動之間的關係 應用程式 庫 核心 驅動程式的關係 應用程式呼叫應用程式函式庫完成功能 應用程式以檔案形式訪問各種資源 應用程式函式庫 部分函式直接完成功能 部分函式通過系統呼叫。由核心完成核心處理系統呼叫。呼叫裝置驅動程式,裝置驅動直接與硬體通訊。它們之間的關係如下圖所示 ...

驅動程式設計學習 核心模組與應用程式區別

核心模組相比於應用程式 每個核心模組只註冊自己以便來服務將來的請求,並且它的初始化函式立刻終止.換句話說,模組初始化函式的任務是為以後呼叫模組的函式做準備 好像是模組說,我在這裡,這是我能做的.模組的退出函式 例子裡是hello exit 就在模組被解除安裝時呼叫.它好像告訴核心,我不再在那裡了,不...

應用程式和核心 core dump

應用程式core dump core dump,memory dump,storage dump 三者表達同一意思記憶體轉存。什麼情況發生轉存?那些記憶體?轉存到 記憶體轉存作用是什麼?如何使用呢?1 什麼情況發生轉存?當程式異常崩潰時,另外系統開啟對core檔案大小資源控制。系統預設core檔案大...