系統調用的概念簡介

操作系統在其核心中設置了一組用於實現各種系統功能的子程序(即過程),供應用程序調用。由於OS系統過程的特殊性,使應用程序不能採用一般的過程調用方式來調用這些過程,而是利用一種系統調用命令,去調用所需的系統過程。下面小編整理了系統調用的概念,供大家參閱。

系統調用的概念簡介

(1)運行在不同的狀態。一般的過程調用,其調用程序和被調用程序都運行在相同的狀態一系統態或用戶態;而在系統調用中,調用程序通常運行在用戶態,被調用程序運行在系統態。

(2)系統狀態的轉換。由於一般的過程調用並不涉及系統狀態的轉換,故可直接由調用過程轉向被調用過程。但在運行系統調用時,由於調用和被調用過程是工作在不同的系統狀態,因而不允許由調用過程直接轉向被調用過程。通常都是通過軟中斷機制,先由用戶態轉換爲系統態,經內核分析後,才能轉向相應的系統調用處理子程序。

(3)返回問題。在採用了搶佔式(剝奪)調度方式的系統中,在被調用過程執行完後,要對系統中所有要求運行的`進程做優先權分析。當調用進程仍具有最髙優先級時,才返回到調用進程繼續執行;否則,將引起重新調度,以便讓優先權最高的進程優先執行。此吋,需要把調用進程放入就緒隊列。

(4)嵌套調用。像一般過程一樣,系統調用也可以嵌套進行,即在一個被調用過程的執行期間,還可以利用系統調用命令去調用另一個系統調用。當然,每個系統對嵌套調用的深度都有一定的限制,通常深度不超過6。