我想知道內核程序員如何看待內存vs用戶模式程序員。我也想知道內核編程和用戶模式編程之間的一些差異。內核和用戶模式編程有什麼區別?
5
A
回答
6
用戶模式編程是指在操作系統內核的保護,監視和抽象機制下進行編程。例如:在用戶模式下,您無法寫入磁盤扇區,因爲它們在文件系統API下「隱藏」。您不能寫入物理內存地址,因爲內核控制着虛擬內存和物理內存之間的轉換,儘管您可以根據自己的需要預留內存。此外,儘管您可以進入低級別(彙編),但不能執行具有特權的指令,例如,試圖混淆處理器高速緩存,TBL和MMU。
內核編程允許您在沒有任何限制的情況下對系統進行低級任務編程。硬件驅動程序例如不能在用戶模式下編程,因爲它們需要直接訪問硬件來執行I/O,映射內存區域等。
當然,你不能認爲內核模式是「限制較少」,而是去開發KM中的應用程序。由於需要與用戶模式下運行的用戶進行交互的庫,許多用於應用程序編程的系統工具在KM下不可用。另外,這些用戶模式庫不會鏈接到內核模塊。
根據操作系統的不同,這種區別可能會有所不同。 KM/UM在DOS中是無稽之談,允許程序自由訪問系統資源(至少在8086/88實模式下 - DOS擴展器不是這種情況)。
2
-2
完美的答案見傑夫斯文章選擇答案。簡而言之,根據我有限的知識,在內核模式下,您正在讀/寫字節到設備的物理地址,如VGA卡。但是,在用戶模式下,您正在寫入文件,即UNIX中的操作系統。
相關問題
- 1. 操作系統中的用戶模式和內核模式有什麼區別?
- 2. 內核線程和用戶線程有什麼區別?
- 3. 小內存模式和大內存模式有什麼區別?
- 4. 聲明式編程和命令式編程有什麼區別?
- 5. 用戶模式和內核模式在可用機器指令總數方面有什麼區別?
- 6. Linux內核模塊中module_init和init_module有什麼區別?
- 7. 用戶/內核模式和受保護/實模式有什麼區別?他們是一樣的嗎?
- 8. 特權模式,內核模式和超級用戶模式之間的區別
- 9. sudo模式和內核模式有區別嗎?
- 10. Linux內核版本有什麼區別?
- 11. 並行和多核編程有什麼區別?
- 12. 內核和程序對象有什麼區別?
- 13. DAO和DP模式有什麼區別?
- 14. 「::」和「sys」模式有什麼區別?
- 15. Factory和Strategy模式有什麼區別?
- 16. Oracle和Microsoft模式有什麼區別?
- 17. 客戶和用戶有什麼區別?
- 18. IIS 8.0中內核模式和用戶模式緩存之間的區別
- 19. 編譯debug =「false」和發佈模式有什麼區別?
- 20. 命令式和麪向對象編程有什麼區別?
- 21. 用戶線程(OS Windows)的內核模式堆棧是什麼?
- 22. 在Linux內核中,有什麼區別__raw_readl/__ raw_writel和readl/writel?
- 23. Linux內核中dm和md有什麼區別?
- 24. '處理器內核數'和'CPU數'有什麼區別?
- 25. 操作系統和內核有什麼區別?
- 26. 享元模式和對象池模式有什麼區別?
- 27. 設計模式和架構模式有什麼區別?
- 28. 開發模式和生產模式有什麼區別?
- 29. wsdl模式和非wsdl模式Web服務有什麼區別?
- 30. IE11兼容模式和IE10兼容模式有什麼區別
您提出問題,但最後不要接受正確的答案... – 2010-05-22 06:29:30