2015-06-06 60 views
3

我試圖向我的自制操作系統添加關閉功能,但是我還沒有真正擁有這樣的API。 我在想如何操作系統終止權力? 如果有人能給我一些啓動指導,我會很感激。在不使用API​​的情況下關閉操作系統

+0

我不認爲我明白...你的意思是像http://stackoverflow.com/questions/2352698/what-happens-during-the-shutdown-process-of-an-os? – cdvv7788

+1

是的。但即時通訊設法寫它的api。一些簡單的事情不像傳輸內存硬盤然後關閉或...。只需拔掉電源並終止操作系統線程。 –

+1

那麼,嘗試電源開關或重置。嚴重:您認爲如何在沒有該軟件界面的情況下通過軟件關閉計算機?如果您沒有在磁盤上存儲任何內容或寫入所有內容,請停止並關閉計算機。這實際上是其他系統在計算機具有適當的電源開關並且沒有「軟關閉」(pre-ATX)時所使用的。 – Olaf

回答

6

您的底層代碼關閉硬件將取決於體系結構。對於使用BIOS關閉i386設備,INT 15h是最終由操作系統監視器使用的向量。

您應該考慮用於電源管理的APM和ACPI方案,通過電源管理正常關閉外設以及在多處理器系統中關閉電源。

我希望其他人會給出答案,讓您檢查Linux APM和ACPI代碼。在i386內核中,arch/x86/kernel/apm_32.c中有一個非常直接的apm_power_off()函數,它執行INT 15關閉。

相關問題