0
A
回答
1
很多硬件都提供了定時中斷,這些定時中斷通常會獨立於軟件而觸發。引發的中斷對應於包含在引發中斷時將執行的過程的存儲器位置,在這種情況下,過程執行所謂的上下文切換和過程調度。大多數硬件信息,如程序計數器和各種寄存器內容都將存儲在每個進程的信息結構中。機器寄存器(程序使用的)的內容在程序再次開始執行之前被恢復。拿起一本關於操作系統設計的書將更詳細地介紹如何完成所有這些。
0
不,操作系統不檢查指令,因爲在操作系統中這樣做會非常複雜和昂貴(很慢)。 CPU進行內存訪問檢查,當它們失敗時,它會在OS中執行指定的代碼,例如,終止當前進程並給出錯誤消息。
2
操作系統不執行代碼,處理器。受保護的模式也由處理器實現,操作系統僅對其進行配置。由違規觸發的陷阱由OS代碼處理,如果無法以合理的方式處理,最終會導致進程終止。上下文切換由來自時鐘節拍的硬件中斷啓動。或者阻塞I/O系統調用。
相關問題
- 1. 寫入彙編代碼系統編程
- 2. 彙編代碼到系統函數(iPhone)
- 3. 反彙編C代替操作代碼
- 4. 開放源代碼雲操作系統/操作系統架構
- 5. Android:防止用戶與操作系統進行交互
- 6. 有關如何編譯的程序與操作系統交互的問題
- 7. 彙編語言符號操作代碼
- 8. 在32位操作系統上是否使用Vista 64編寫代碼?
- 9. 每個操作系統是否都有自己的彙編程序?
- 10. x86 intel操作碼彙編
- 11. Qt在主要操作系統中與聯繫簿進行交互
- 12. JAVA--現代化與傳統系統的數據交互
- 13. 與現有代碼的互操作性
- 14. CryptAPI本地互操作與.NET代碼
- 15. 彙編代碼是否跨平臺?
- 16. 是否由.NET或操作系統
- 17. 是否有宏檢測操作系統...?
- 18. 確定操作系統是否爲Mac
- 19. libumem是否僅在Solaris操作系統或其他操作系統中可用?
- 20. MySql與Mac操作系統
- 21. 是否可以爲手機編寫操作系統?
- 22. 爲iPhone編譯時操作系統是否重要?
- 23. Rspec和系統交互
- 24. 在所有操作系統上是否包含java可運行的C++代碼?
- 25. 是否可以在託管操作系統上運行「本機」代碼?
- 26. 使用Qt時,我是否必須在特定的操作系統上編譯特定的操作系統?
- 27. 是否存在與Android操作系統相當的IIS
- 28. 如何是操作系統
- 29. 代碼交匯處
- 30. 8086彙編程序 - 從操作碼生成目標代碼
謝謝!所以CPU比我想象的要多得多。 – bgeyts668 2012-03-05 04:59:42