linux的重启方式为啥跟win和BSD不一样(转)[@more@] 每当按下计算机电源,先显示显卡bios,当自检通过在显示系统bios的同时,会有清脆的“嘀”的一声,然后就能正常启动了!“嘀”的一声是报告硬件自检通过!
在操作系统中选择重启的时候,win和bsd系统都是先关闭自身程序,发送一个指令到cpu然后重启机器,重启时显示完显卡bios后马上显示系统bios信息,并没有“嘀”的一声,这表示在重启过程中并没有检测硬件。
而linux系统每次重启过程中都有“嘀”的一声,表示检测硬件已通过。为什么要检测硬件呢?第一次启机能正常启动就意味着机器硬件没有问题,不能沿用上次的检测结果吗?还是lnux在重启时发送的指令与win和bsd系统不同呢?重启过程是由内核控制还是外围的管理程序控制呢?
找了许久
系统调用sys_reboot的重启
在不通过bios进行重启的情况下,系统首先设定了重启标志,然后向端口0xfe写入数字0x64,这种重启的具体原理我还不大清楚,似乎是模拟了一次reset键的按下。
在通过bios重启的情况下,系统同样先设定了重启模式,然后切换到了实模式,通过一条ljmp $0xffff,$0x0完成了重启。
在操作系统中选择重启的时候,win和bsd系统都是先关闭自身程序,发送一个指令到cpu然后重启机器,重启时显示完显卡bios后马上显示系统bios信息,并没有“嘀”的一声,这表示在重启过程中并没有检测硬件。
而linux系统每次重启过程中都有“嘀”的一声,表示检测硬件已通过。为什么要检测硬件呢?第一次启机能正常启动就意味着机器硬件没有问题,不能沿用上次的检测结果吗?还是lnux在重启时发送的指令与win和bsd系统不同呢?重启过程是由内核控制还是外围的管理程序控制呢?
找了许久
系统调用sys_reboot的重启
在不通过bios进行重启的情况下,系统首先设定了重启标志,然后向端口0xfe写入数字0x64,这种重启的具体原理我还不大清楚,似乎是模拟了一次reset键的按下。
在通过bios重启的情况下,系统同样先设定了重启模式,然后切换到了实模式,通过一条ljmp $0xffff,$0x0完成了重启。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10617542/viewspace-963396/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/10617542/viewspace-963396/