![庫函數總是使用系統呼叫來實現?](https://rvso.com/image/1346196/%E5%BA%AB%E5%87%BD%E6%95%B8%E7%B8%BD%E6%98%AF%E4%BD%BF%E7%94%A8%E7%B3%BB%E7%B5%B1%E5%91%BC%E5%8F%AB%E4%BE%86%E5%AF%A6%E7%8F%BE%EF%BC%9F.png)
我們知道系統呼叫是進程向作業系統核心發出的服務請求。[1]我問這個問題是因為我想知道一個進程是否真的可以自己產生訊號,直接向CPU請求算術運算,或讀取/寫入檔案等;或者進程真的只是向作業系統請求這些。
答案1
「訊號」和「檔案」僅存在於作業系統的上下文中,因此應用程式必須要求核心代表其對它們進行操作。算術運算由CPU執行,因此應用程式可以直接執行它們。
答案2
我沒有意識到 string.h 中的字串庫函數不使用任何系統呼叫。
我們知道系統呼叫是進程向作業系統核心發出的服務請求。[1]我問這個問題是因為我想知道一個進程是否真的可以自己產生訊號,直接向CPU請求算術運算,或讀取/寫入檔案等;或者進程真的只是向作業系統請求這些。
「訊號」和「檔案」僅存在於作業系統的上下文中,因此應用程式必須要求核心代表其對它們進行操作。算術運算由CPU執行,因此應用程式可以直接執行它們。
我沒有意識到 string.h 中的字串庫函數不使用任何系統呼叫。