当前位置: 技术问答>linux和unix
请教个比较深入的机器启动问题-bios相关
来源: 互联网 发布时间:2015-11-25
本文导语: 向各位前辈大虾请教个令我恶心已久的问题 问题是关于机器上电后 电脑的各个部件都干了些什么 在网上看了一些资料 知道 是从实模式地址ffff:0000开始运行程序和之后的一些事情 但还有很多问题我不懂,想请教:...
向各位前辈大虾请教个令我恶心已久的问题
问题是关于机器上电后 电脑的各个部件都干了些什么
在网上看了一些资料
知道 是从实模式地址ffff:0000开始运行程序和之后的一些事情
但还有很多问题我不懂,想请教:
1.上电之后第一运行的部件是什么?是不是主板bios?
如果我主板上没装cpu,会怎么样,bios应该知道cpu问题吧?
我想知道最最开始的情况在cpu运行 ffff:0000之前机器在做什么
2.bios是在什么时候把自己copy到内存中去的(我想copy过程不应该是软件上的事情吧,
据我知道的情况cpu执行的指令必须是在内存中存在的,那内存中第一手数据是怎么进去的呢?)
3.实模式地址ffff:0000是在1m附近如果我的内存是不到1m的情况呢?还是内存必须1m以上
4.总之我想知道更加详细的启动相关的内容,希望各位能指点,能回答上面的问题顺便在给讲点东西吧,能提供相关资料或书籍也好,小弟万分感谢
问题是关于机器上电后 电脑的各个部件都干了些什么
在网上看了一些资料
知道 是从实模式地址ffff:0000开始运行程序和之后的一些事情
但还有很多问题我不懂,想请教:
1.上电之后第一运行的部件是什么?是不是主板bios?
如果我主板上没装cpu,会怎么样,bios应该知道cpu问题吧?
我想知道最最开始的情况在cpu运行 ffff:0000之前机器在做什么
2.bios是在什么时候把自己copy到内存中去的(我想copy过程不应该是软件上的事情吧,
据我知道的情况cpu执行的指令必须是在内存中存在的,那内存中第一手数据是怎么进去的呢?)
3.实模式地址ffff:0000是在1m附近如果我的内存是不到1m的情况呢?还是内存必须1m以上
4.总之我想知道更加详细的启动相关的内容,希望各位能指点,能回答上面的问题顺便在给讲点东西吧,能提供相关资料或书籍也好,小弟万分感谢
|
1、上电之后运行的第一部件是CPU啦,那个地址是指向BIOS的,所以我们刚开机就从BIOS上的地址开始执行BIOS中的程序了。没CPU会怎么样呢?那你可以试试的,拆下CPU,然后启动。。。
2、在BISO完成自检之后,就把自己的中断向量拷贝到内存绝对零开始的地方,这是由硬件自动完成的。以后我们就可以调用BIOS中断了。然后把硬盘(或磁盘)上的引导程序拷贝到0x7c00片,并跳到0x7c00(31KB)处开始执行程序。
3、启动时实模式地址ffff:0000映射的是BIOS,所以是从BIOS开始执行的。此时与内存大小无关。
4、去下载linux完全注释吧,
http://oldlinux.org/download/clk011c-1.9.5-allowCommenting.pdf
2、在BISO完成自检之后,就把自己的中断向量拷贝到内存绝对零开始的地方,这是由硬件自动完成的。以后我们就可以调用BIOS中断了。然后把硬盘(或磁盘)上的引导程序拷贝到0x7c00片,并跳到0x7c00(31KB)处开始执行程序。
3、启动时实模式地址ffff:0000映射的是BIOS,所以是从BIOS开始执行的。此时与内存大小无关。
4、去下载linux完全注释吧,
http://oldlinux.org/download/clk011c-1.9.5-allowCommenting.pdf