亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

系統調用的包裝函數是否也稱為系統調用?

系統調用的包裝函數是否也稱為系統調用?

LEATH 2021-03-31 13:15:03
該函數的文檔中open()說明以下內容:open()系統調用將打開由路徑名指定的文件。我認為這open()是系統調用的包裝函數,而不是系統調用本身。還是系統調用的包裝函數也稱為系統調用?
查看完整描述

2 回答

?
嗶嗶one

TA貢獻1854條經驗 獲得超8個贊

簡短答案-是的。
長答案-這取決于。系統調用是一種編程方式,計算機程序從該程序中向其執行操作系統的內核請求服務。這可能包括與硬件相關的服務(例如,訪問硬盤驅動器),創建和執行新進程以及與諸如進程調度之類的集成內核服務進行通信。系統調用提供了進程與操作系統之間的基本接口。

系統調用未定義為特定功能。相反,它們是請求服務或換句話說就是OS API。語言標準提供的標準功能幾乎總是對用戶隱藏它們。并且該標準是在不同操作系統的編譯器中實現的。


查看完整回答
反對 回復 2021-04-16
?
12345678_0001

TA貢獻1802條經驗 獲得超5個贊

另一個答案是正確的,但我也想補充一點,對我來說,解釋為什么將open視為系統調用的最簡單方法是,因為不能保證在所有OS上syscall都是相同的。例如,如果我們想象一個打開了syscall 1的操作系統,那么另一個操作系統可能會使用syscall 1進行寫操作(就像linux x64一樣),因此,為了兼容起見,open()添加了這樣的功能,其中OS將open()作為調用提供到適當的syscall值,并且程序員不必擔心在不同操作系統之間調用正確的syscall號碼

查看完整回答
反對 回復 2021-04-16
  • 2 回答
  • 0 關注
  • 466 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號