我一直在研究一種關閉計算機而不切換到16位實模式的方法。我無法在32位保護模式下調用BIOS功能。雖然我一直在尋找關於這方面的信息近一週,但我一直沒能找到任何能夠正確工作的文檔或源代碼。因爲我對低級編程非常陌生,所以我懷疑不切換到實模式就不能關閉計算機。是嗎?謝謝。如何在32位保護模式下關閉機器
回答
您需要使用高級配置和電源接口 - ACPI - 爲此。 ACPI是一組龐大而複雜的結構和接口,用於處理諸如電源狀態,電池電量,關機,設備省電等事物。如果你正在開發一個操作系統,你必須編寫一個驅動程序來設置ACPI及其表格,以便你可以乾淨地關閉計算機。
我不確定如何直接在Linux下使用ACPI,而且我幾乎肯定Windows甚至不允許您直接對ACPI執行任何操作。
http://uefi.org/specifications以下是由UEFI論壇維護的ACPI規範的鏈接。祝你好運,神速。
謝謝。我已經找到一些關於ACPI的信息,但是我無法使它工作。我需要一個初學者教程或一個解釋性的源代碼。 – user2972185 2014-09-19 22:17:22
好吧,只要'outw(0xB004,0x00002000)'關閉了機器,而'outb(0x64,0xFE)'重新啓動它。謝謝。 – user2972185 2014-09-23 13:48:03
公平的警告,魔術失敗(0xB004,0x2000)關閉**只**在qemu和bochs中起作用。我很確定它在VirtualBox或VMWare中不起作用,並且我確信沒有物理芯片組支持它。 – 2014-09-24 15:32:57
- 1. Android手機,什麼單位被關閉在睡眠模式下
- 2. 永久運行在32位模式下
- 3. 在32位模式下打開
- 4. 在32位模式下打開Xcode 4.3.1
- 5. MicroSD卡:如何關閉寫保護
- 6. 如何關閉整數溢出保護?
- 7. 在64位機器上以32位模式運行Oracle客戶機
- 8. 如何以編程方式檢測64位或32位機器?
- 9. 如何從一個批處理文件,在32位模式下
- 10. 如何在32位模式下使用PyCharm
- 11. 如何在32位模式下編譯WCF服務庫?
- 12. int 13h在Windows保護模式下?
- 13. 關閉堆棧保護
- 14. 保護模式可以通過內聯彙編關閉嗎?
- 15. 關於硬件驅動程序在保護模式下
- 16. 如何從x64模式的windows下的現有32位進程獲得32位堆棧限制/ 32位TEB/TIB?
- 17. 如何在嚴格模式下實現以下JavaScript關閉?
- 18. 如何關閉模式?
- 19. 如何在保護模式下導入excel?
- 20. 如何在IE的保護模式下禁止警告
- 21. 如何在禁用模式下保護按鈕?
- 22. 如何在管理員模式下保護CouchDB
- 23. 在肖像模式下關閉縮放
- 24. 如何在64位機器上調試32位WCF服務?
- 25. 如何在64位機器上測試32位SSIS包?
- 26. 最大RAM 32位機器
- 27. 手機進入待機模式時,數據「記錄器」關閉
- 28. 如何在Rails應用程序中關閉CSRF保護?
- 29. 如何在CentOS 7下關閉屏幕消隱/睡眠模式?
- 30. 在32位機器上使用48bit
計算機運行操作系統。操作系統支持關機。在使這個變得複雜的時候沒有什麼意義,它並不像它會得到很多的使用:) – 2014-09-19 16:46:37
好吧。由於電腦運行操作系統,因此不需要學習任何東西。 – user2972185 2014-09-19 16:52:39
瞭解如何對操作系統進行編程。學習的好技巧。攻擊16位代碼不是一項技能,它在20年前變得無關緊要。 – 2014-09-19 17:07:40