核心函式 系統呼叫 系統命令 庫函式
核心函式
執行在核心態的,一般來說特權級較高。
系統呼叫
系統呼叫是程式進入核心函式的介面層,大量的核心函式被封裝再系統呼叫中。再進入不同的系統呼叫之後,系統呼叫中的核心函式被稱為該系統呼叫的服務例程。
系統命令
比如在cmd中的ls,ll。系統命令相比於庫函式就會更高一層,每一個系統命令都是一個可執行的程式。比如我們strace ls。就可以看出來他呼叫了open(),brk()等系統呼叫命令。
strace 是一個Linux使用者空間跟蹤器,可以通過它來監視使用者程式和核心的互動,比如系統呼叫,訊號傳遞和程式狀態變更……
strace底層使用核心的ptrace特性來實現其功能。
庫函式
庫函式也就是我們所說的程式設計介面,application programming interface。比如常見的檔案操作,read(),write()。而這樣的操作必定是接觸到硬體的,因此也一定會進入核心態。那為什麼不直接使用系統呼叫呢?
這是因為在使用者態和核心態中,我們都是用了緩衝區技術。我們會等到緩衝區滿的時候,才會將所有的資料寫回去。這樣就減少了使用者態和核心態切換的次數及其成本。
所以不直接使用系統呼叫技術。
相關文章
- 函式庫呼叫和系統呼叫的區別函式
- PHP系統命令函式PHP函式
- sbrk函式是不是系統呼叫,還是c標準庫函式?函式
- 使用Excel呼叫ABAP系統的函式Excel函式
- SqlServer——系統函式SQLServer函式
- sap 系統函式函式
- python 系統函式呼叫sed分組Python函式
- inux系統呼叫fcnt()l函式詳解UX函式
- MySQL函式大全(字串函式,數學函式,日期函式,系統級函式,聚合函式)MySql函式字串
- 第二篇:庫函式和系統呼叫的區別函式
- SQL SERVER 系統函式SQLServer函式
- Sql Server函式全解(5):系統函式SQLServer函式
- Sql Server函式全解(五)之系統函式SQLServer函式
- Sql Server系列:系統函式SQLServer函式
- x64架構下Linux系統函式呼叫架構Linux函式
- linux之系統命令command和系統呼叫system calls及函式function之間的關係Linux函式Function
- 【SQL基礎】T-SQL函式型別——系統函式SQL函式型別
- PHP exec system passthru系統函式PHP函式
- 作業系統---之fork()函式作業系統函式
- ThinkPHP 3.2 內建系統函式PHP函式
- SAP常用系統函式歸納函式
- GBase 8s系統函式函式
- linux系統getopt函式詳解Linux函式
- openGauss系統函式新增指導函式
- shell系統函式和流程控制函式
- UNIX系統程式設計常用庫函式說明(轉)程式設計函式
- 遞迴匿名函式手動實現 http_build_query 系統函式遞迴函式HTTPUI
- oracle 系統自帶幾個常用函式Oracle函式
- MySQL全面瓦解13:系統函式相關MySql函式
- sql 獲取系統時間的函式。SQL函式
- js函式 函式自呼叫 返回函式的函式 (閉包)JS函式
- 分散式系統:遠端呼叫分散式
- Linux系統程式設計(9)—— 程式之程式控制函式exec系列函式Linux程式設計函式
- linux系統程式設計之訊號(七):被訊號中斷的系統呼叫和庫函式處理方式Linux程式設計函式
- (已作廢)為我們的作業系統寫一些常用的核心庫函式作業系統函式
- 子函式呼叫函式
- 怎麼快速記憶系統陣列函式陣列函式
- Shell中常用的系統函式basename和dirname函式