浓毛老太交欧美老妇热爱乱,蜜臀性色av免费,妺妺窝人体色www看美女,久久久久久久久久久大尺度免费视频,麻豆人妻无码性色av专区

位置:51電子網(wǎng) » 技術(shù)資料 » 嵌入式系統(tǒng)

Linux系統(tǒng)調(diào)用接口、系統(tǒng)調(diào)用例程和內(nèi)核服務(wù)例程之間的關(guān)系

發(fā)布時間:2009/2/18 0:00:00 訪問次數(shù):1792

  系統(tǒng)調(diào)用接口的主要任務(wù)是把進(jìn)程從用戶態(tài)切換到內(nèi)核態(tài)。在具有保護(hù)機(jī)制的計算機(jī)系 統(tǒng)中,用戶必須通過軟件中斷或陷阱,才能使進(jìn)程從用戶態(tài)切換為內(nèi)核態(tài)。

  在i386體系中,linux的系統(tǒng)調(diào)用接口是通過調(diào)用軟中斷指令“int $ oxso”使進(jìn)程從用戶態(tài)進(jìn)入內(nèi)核態(tài)的,這個過程也叫做“陷入”。當(dāng)系統(tǒng)調(diào)用接口調(diào)用軟中斷指令“int $ ox80”時,這個指令會發(fā)生一個中斷向量碼為128的中斷請求,并在中斷響應(yīng)過程中將進(jìn)程由用戶態(tài)切換為內(nèi)核態(tài)。

  因為linux只允許系統(tǒng)調(diào)用接口使用128這一個軟中斷向量,這也就意味著所有的系統(tǒng)調(diào)用接口必須共享這一個中斷通道,并在同一個中斷服務(wù)例程中調(diào)用不同的內(nèi)核服務(wù)例程,所以,系統(tǒng)調(diào)用接口除了要引發(fā)“int $ ox80”軟中斷之外,為了進(jìn)人內(nèi)核后能調(diào)用不同的內(nèi)核服務(wù)例程,還要提供識別內(nèi)核服務(wù)例程的參數(shù),這個參數(shù)叫做“系統(tǒng)調(diào)用號”。也就是說,所有可為進(jìn)程提供服務(wù)的內(nèi)核服務(wù)例程都應(yīng)具有一個唯一的系統(tǒng)調(diào)用號。當(dāng)然,系統(tǒng)調(diào)用接口還應(yīng)為內(nèi)核服務(wù)例程準(zhǔn)各必要的參數(shù)。

  綜上所述,系統(tǒng)調(diào)用接口需要完成以下幾個任務(wù):

  ●用軟中斷指令“int $ ox80”發(fā)生一個中斷向量碼為128的中斷請求,以使進(jìn)程進(jìn)入內(nèi)核態(tài)。

  ●要保護(hù)用戶態(tài)的現(xiàn)場,即把處理器的用戶態(tài)運行環(huán)境保護(hù)到進(jìn)程的內(nèi)核堆棧。

  ●為內(nèi)核服務(wù)例程準(zhǔn)備參數(shù),并定義返回值的存儲位置。

  ●跳轉(zhuǎn)到系統(tǒng)調(diào)用例程。

  ●系統(tǒng)調(diào)用例程結(jié)束后返回。

  系統(tǒng)調(diào)用例程是系統(tǒng)提供的一個通用的匯編語言程序.其實它是一個中斷向量為128的中斷服務(wù)程序,其入口為system_call。它應(yīng)完成的任務(wù)有:

  ●接受系統(tǒng)調(diào)用接口的參數(shù)。

  ●根據(jù)系統(tǒng)調(diào)用號,轉(zhuǎn)向?qū)?yīng)的內(nèi)核服務(wù)例程,并將相關(guān)參數(shù)傳遴給內(nèi)核服務(wù)例程。

  ●在內(nèi)核服務(wù)例程結(jié)束后,自中斷返田到系統(tǒng)凋甩接口.

  系統(tǒng)調(diào)用的過程如圖所示。

  從圖中可以看到,系統(tǒng)調(diào)用接口是用高級語言來編寫的,而通過調(diào)用中斷指令陷入內(nèi)核后的系統(tǒng)調(diào)用例程(即圖中的系統(tǒng)調(diào)用處理程序)則是用匯編語言編寫的。

  為了通過系統(tǒng)調(diào)用號來調(diào)用不同的內(nèi)核服務(wù)例程,系統(tǒng)必須維護(hù)一個系統(tǒng)調(diào)用表,這個表實質(zhì)上就是系統(tǒng)調(diào)用號與內(nèi)核服務(wù)函數(shù)的對照表。linux是用數(shù)組sys_call_tabl來作為這個表的,在這個表的每個表項中存放著對應(yīng)內(nèi)核服務(wù)例程的指針,而該表項的下標(biāo)就是該內(nèi)核服務(wù)例程的系統(tǒng)調(diào)用號。linux規(guī)定,在1386體系中,系統(tǒng)調(diào)用號由處理器的寄存器eax來傳遞。



  圖 系統(tǒng)調(diào)用的處理過程

  系統(tǒng)調(diào)用表sys_call_table的部分內(nèi)容列舉如下:


  歡迎轉(zhuǎn)載,信息來自維庫電子市場網(wǎng)(www.dzsc.com)



  系統(tǒng)調(diào)用接口的主要任務(wù)是把進(jìn)程從用戶態(tài)切換到內(nèi)核態(tài)。在具有保護(hù)機(jī)制的計算機(jī)系 統(tǒng)中,用戶必須通過軟件中斷或陷阱,才能使進(jìn)程從用戶態(tài)切換為內(nèi)核態(tài)。

  在i386體系中,linux的系統(tǒng)調(diào)用接口是通過調(diào)用軟中斷指令“int $ oxso”使進(jìn)程從用戶態(tài)進(jìn)入內(nèi)核態(tài)的,這個過程也叫做“陷入”。當(dāng)系統(tǒng)調(diào)用接口調(diào)用軟中斷指令“int $ ox80”時,這個指令會發(fā)生一個中斷向量碼為128的中斷請求,并在中斷響應(yīng)過程中將進(jìn)程由用戶態(tài)切換為內(nèi)核態(tài)。

  因為linux只允許系統(tǒng)調(diào)用接口使用128這一個軟中斷向量,這也就意味著所有的系統(tǒng)調(diào)用接口必須共享這一個中斷通道,并在同一個中斷服務(wù)例程中調(diào)用不同的內(nèi)核服務(wù)例程,所以,系統(tǒng)調(diào)用接口除了要引發(fā)“int $ ox80”軟中斷之外,為了進(jìn)人內(nèi)核后能調(diào)用不同的內(nèi)核服務(wù)例程,還要提供識別內(nèi)核服務(wù)例程的參數(shù),這個參數(shù)叫做“系統(tǒng)調(diào)用號”。也就是說,所有可為進(jìn)程提供服務(wù)的內(nèi)核服務(wù)例程都應(yīng)具有一個唯一的系統(tǒng)調(diào)用號。當(dāng)然,系統(tǒng)調(diào)用接口還應(yīng)為內(nèi)核服務(wù)例程準(zhǔn)各必要的參數(shù)。

  綜上所述,系統(tǒng)調(diào)用接口需要完成以下幾個任務(wù):

  ●用軟中斷指令“int $ ox80”發(fā)生一個中斷向量碼為128的中斷請求,以使進(jìn)程進(jìn)入內(nèi)核態(tài)。

  ●要保護(hù)用戶態(tài)的現(xiàn)場,即把處理器的用戶態(tài)運行環(huán)境保護(hù)到進(jìn)程的內(nèi)核堆棧。

  ●為內(nèi)核服務(wù)例程準(zhǔn)備參數(shù),并定義返回值的存儲位置。

  ●跳轉(zhuǎn)到系統(tǒng)調(diào)用例程。

  ●系統(tǒng)調(diào)用例程結(jié)束后返回。

  系統(tǒng)調(diào)用例程是系統(tǒng)提供的一個通用的匯編語言程序.其實它是一個中斷向量為128的中斷服務(wù)程序,其入口為system_call。它應(yīng)完成的任務(wù)有:

  ●接受系統(tǒng)調(diào)用接口的參數(shù)。

  ●根據(jù)系統(tǒng)調(diào)用號,轉(zhuǎn)向?qū)?yīng)的內(nèi)核服務(wù)例程,并將相關(guān)參數(shù)傳遴給內(nèi)核服務(wù)例程。

  ●在內(nèi)核服務(wù)例程結(jié)束后,自中斷返田到系統(tǒng)凋甩接口.

  系統(tǒng)調(diào)用的過程如圖所示。

  從圖中可以看到,系統(tǒng)調(diào)用接口是用高級語言來編寫的,而通過調(diào)用中斷指令陷入內(nèi)核后的系統(tǒng)調(diào)用例程(即圖中的系統(tǒng)調(diào)用處理程序)則是用匯編語言編寫的。

  為了通過系統(tǒng)調(diào)用號來調(diào)用不同的內(nèi)核服務(wù)例程,系統(tǒng)必須維護(hù)一個系統(tǒng)調(diào)用表,這個表實質(zhì)上就是系統(tǒng)調(diào)用號與內(nèi)核服務(wù)函數(shù)的對照表。linux是用數(shù)組sys_call_tabl來作為這個表的,在這個表的每個表項中存放著對應(yīng)內(nèi)核服務(wù)例程的指針,而該表項的下標(biāo)就是該內(nèi)核服務(wù)例程的系統(tǒng)調(diào)用號。linux規(guī)定,在1386體系中,系統(tǒng)調(diào)用號由處理器的寄存器eax來傳遞。



  圖 系統(tǒng)調(diào)用的處理過程

  系統(tǒng)調(diào)用表sys_call_table的部分內(nèi)容列舉如下:


  歡迎轉(zhuǎn)載,信息來自維庫電子市場網(wǎng)(www.dzsc.com)



相關(guān)IC型號

熱門點擊

 

推薦技術(shù)資料

DFRobot—玩的就是
    如果說新車間的特點是“靈動”,F(xiàn)QPF12N60C那么... [詳細(xì)]
版權(quán)所有:51dzw.COM
深圳服務(wù)熱線:13751165337  13692101218
粵ICP備09112631號-6(miitbeian.gov.cn)
公網(wǎng)安備44030402000607
深圳市碧威特網(wǎng)絡(luò)技術(shù)有限公司
付款方式


 復(fù)制成功!