我正在研究我的操作系統最後,並想知道是否有人可以告訴我爲什麼操作系統需要切換到系統調用的內核模式?爲什麼系統調用需要切換到內核模式?
1
A
回答
3
系統調用特別用於在內核模式下運行操作,因爲出於安全原因,不允許通常的用戶代碼執行此操作。
例如,如果您想分配內存,操作系統有權執行此操作(因爲它知道頁表並且可以訪問其他進程的內存),但是作爲用戶程序不應該被允許偷看或破壞其他進程的記憶。 這是沙箱你的一種方式。所以你發送一個系統調用請求操作系統分配內存,這發生在內核級別。
編輯:我現在看到Wikipedia article關於這個
1
因爲這個驚人的有用被標記的「功課」,我不會只給出答案走,但會提供一個提示:
內核負責訪問計算機的硬件並確保應用程序不會互相接觸。如果任何應用程序可以在沒有內核協作的情況下訪問硬件設備(比如硬盤驅動器),會發生什麼?
相關問題
- 1. 切換到(Linux)內核模式
- 2. 內核模塊監控系統調用?
- 3. 操作系統中的用戶模式和內核模式有什麼區別?
- 4. 從用戶模式切換到內核模式
- 5. 如何從用戶模式切換到內核模式?
- 6. 爲什麼現代操作系統需要這麼多內存?
- 7. 爲什麼建立和使用內核模塊需要depmod?
- 8. Linux內核模塊(內核3.5)中的系統調用攔截
- 9. 上下文切換和內核模式
- 10. 將系統調用編寫爲內核模塊
- 11. 爲什麼在從實模式切換到保護模式之前需要禁用中斷?
- 12. 爲什麼我需要回到系統提示符?
- 13. 爲什麼需要將django遷移到版本控制系統
- 14. Titan/JanusGraph管理系統需要什麼?
- 15. 爲什麼同步需要上下文切換到OS?
- 16. 爲什麼需要顯式轉換?
- 17. MINIX 2 - 系統調用內核
- 18. 冗餘的Linux內核系統調用
- 19. Linux內核中的系統調用
- 20. Linux內核AIO,開放系統調用
- 21. 更改linux內核系統調用號
- 22. Android內核,WiFi掃描系統調用
- 23. 跳轉到裝配切換到保護模式後內核
- 24. 爲什麼模式切換在過程切換中發生?
- 25. 爲什麼多處理器系統需要禁用中斷
- 26. 爲什麼使用libusb需要卸載內核驅動程序?
- 27. 什麼使read()成爲系統調用?
- 28. JAVA爲什麼arrayCopy系統調用?
- 29. 使用內核模塊鎖定系統調用
- 30. 使用內核模塊(LKM)添加系統調用