作業系統 系統呼叫與核心

2021-06-29 14:55:42 字數 550 閱讀 9054

1.系統呼叫:

作業系統服務之所以通過系統呼叫的方式供使用者使用,其根本原因是對系統進行「保護」。程式的執行空間分為核心空間和使用者空間,其程式各自按不同的特權執行,在邏輯上相互隔離。應用程式不能直接訪問核心資料,也無法直接呼叫核心函式,他們只能在使用者空間操縱使用者資料,呼叫使用者空間函式。但在很多情況下,應用程式需要獲得系統服務,這時就必須利用系統提供給使用者的特殊介面--系統呼叫。

系統呼叫是應用程式獲得作業系統服務的唯一途徑。

系統呼叫與庫函式的區別:庫函式可以隱藏訪管指令的細節,使得系統呼叫更像函式呼叫,對使用者隱藏系統呼叫,這樣在改動核心時不會影響應用程式的正確性。但是庫函式屬於應用程式,在使用者態執行,系統呼叫屬於系統程式,在核心態執行。

2.核心:是一組程式模組,作為可信軟體來提供支援程序併發執行的基本功能和基本操作,常駐留在核心空間,執行於核心態,具有訪問硬體裝置和所有主存空間許可權,是僅有的能執行特權指令的程式。

核心的一些屬性:

(1)核心是由中斷驅動的

(2)核心是不可搶占的

(3)核心部分程式在遮蔽中斷狀態下執行

(4)核心可使用特權指令

作業系統 系統呼叫

由作業系統提供的功能,通常應用程式本身是無法實現的。例如對檔案進行操作,應用程式必需通過系統呼叫才能做到,因為只有作業系統才具有直接管理外圍裝置的許可權。又如程序或執行緒間的同步互斥操作,也必需經由作業系統對核心變數進行維護才能完成。從下到上看乙個完整的計算機系統 物理硬體 os核心 os服務 應用...

作業系統設計與實現 系統呼叫

當前系統呼叫都採用的是posix標準,posix標準以其簡潔易用在類unix作業系統中流行,以至於linux從一開始就遵從posix標準。本節介紹應用程式和作業系統之間的介面系統呼叫。採用的是 posix 這個介面被 minix3,unix,linux 等許多現代作業系統所遵循。系統呼叫以 c 語言...

作業系統(六)系統呼叫

在前幾篇文章中曾經提到過系統呼叫程式介面,並提到系統呼叫使應用程式請求作業系統服務的唯一方式。下面再來更進一步地學習一下。目錄 1.6 系統呼叫 1.6.1 系統呼叫 1.6.2 系統呼叫的具體使用場景 1.6.3 系統呼叫的過程 系統呼叫 是作業系統提供給應用程式 程式設計師 程式設計人員 使用的...