2015-06-06 61 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关闭。

相关问题