什么是系統調用?系統調用的執行過程是什么?


什么是系統調用?

OS 提供給用戶編程時的一些公共子程序,一般為函數或方法

 

為什么要使用系統調用?

OS 為了安全的管理計算機軟硬件資源,不允許程序員直接操作系統資源,比如(進程、內存、I/O、文件),

但是用戶可以通過系統調用向 OS 請求相關資源的服務,比如:I/O 的請求和釋放、設備啟動、文件的創建、讀寫、刪除、進程的創建、撤銷、阻塞、喚醒

進程間的消息傳遞、內存的配備和回收等。

 

總結:系統調用就是程序員給 OS 發送請求服務的方法或函數

 

好比,你去餐館吃飯,你只需要向服務員點菜(系統調用),服務員就會處理你的請求,而不是你自己去做菜

 

程序員如何使用系統調用,OS 如何響應?

程序員在代碼中首先傳遞系統調用參數,然后由陷入(trap)指令負責將用戶態轉換為核心態,並將返回地址壓棧備用,然后 CPU 執行相應的內核服務程序,最后返回用戶態

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM