当前位置:  技术问答>linux和unix

BIOS地址到底在那里?

    来源: 互联网  发布时间:2014-12-28

    本文导语:  在有的参考书上介绍PC启动时,CPU从0xFFFFFFF0地址单元取得指令,这个地址接近32位机的最后地址.  而有的参考书说一般PC在电源一开时,是由内存中地址FFFF:0000开始执行(这个地址一定在ROMBIOS中,ROMBIOS一般是在FEOOOh到FFFFF...

在有的参考书上介绍PC启动时,CPU从0xFFFFFFF0地址单元取得指令,这个地址接近32位机的最后地址. 
而有的参考书说一般PC在电源一开时,是由内存中地址FFFF:0000开始执行(这个地址一定在ROMBIOS中,ROMBIOS一般是在FEOOOh到FFFFFh中) 
这个不是互相矛盾了吗? 



 

|
http://developer.ccidnet.com/pub/disp/Article?columnID=317&articleID=27337&pageNOo=2

|
当计算机打开电源时,内存里包含的是一些随机的数据,所有的东西都没有被初始化,操作系统也没有被加载。开始整个启动过程的是一个特殊的硬件电路,它触发CPU的Reset脚的逻辑值。然后,一些CPU的寄存器比如CS(一个分段寄存器:代码段寄存器,它指向含有程序指令的段),eip(在执行指令过程中,当CPU检测到一个意外事故发生时,它会做出三种类型的判断:错误、陷阱、中止,这取决于eip寄存器的值,它存储在内核模块栈里)就会被给定一个值。接着,物理地址为0xfffffff0的代码将被执行。这个地址被存储在一个只读存储器(ROM)里。BIOS(基本输入/输出系统)实际上是一段存储在ROM里的程序。它包含了一系列可以被某些操作系统调用,用于处理计算机各种硬件设备的中断驱动和低级程序。其中微软的DOS就是这样的一种操作系统。 

Linux是否使用附于计算机系统的BIOS来初始化硬件设备?或者说,是否有其它的东西来完成同样的任务?不过这个问题没有那么简单,必须要了解一些知识。我们从80386模式开始。Intel微处理器实现地址翻译(从逻辑地址->线性地址->物理地址)有两种不同的途径,分别称作实模式和保护模式。实模式存在主要是为了使得处理器可以和较老的处理相兼容。事实上,所有的BIOS程序都是在实模式下运行的。但是,Linux内核是在保护模式下运行,而不是在实模式下。因此,一旦初始化完成后,Linux就不再使用BIOS,而是完全由自己来为计算机上的所有硬件提供驱动程序(这点和DOS是不一样的)。 

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • BIOS是在ROM中的,如果修改了BIOS项,那么修改的东西是放在哪呢
  • RedHat下的BIOS信息存在哪个文件下,是/dev/apm_bios吗?谢谢!
  • 我的redhat总提示bios设置不合理,请问装linux对bios有什么要求(菜鸟问题,千万别笑话我)
  • 在装linux前要进行bios调整,可是我在启动windows操作系统时候看不到del,也就是进入不了bios啊?那怎么才能调整启动顺序
  • 请问不在BIOS里改动怎么清除BIOS密码啊
  • bios和 内核什么关系?编址统一吗?
  • 请问高手如何在linux环境中获取bios时间,在线等待,急
  • BIOS密码破解工具 CmosPwd
  • BIOS问题。给分
  • 请问怎么破解BIOS密码?(用软件方法)在线等待!
  • linux0.11的bios中断
  • 请问高手,如何用linux操作系统里的标准c函数获取bios时间,高分!!!!
  • 请问有人知道linux环境下访问bios时间的端口号吗?
  • SUN工作站 如何进入BIOS(CMOS)设置?
  • 怎么用shell编程--改变BIOS里面的日期和星期 急啊
  • 机子启动后出现BIOS怪问题!知道的告诉!
  • 升级bios?
  • sata硬盘,bios中不能设置兼容IDE,如何装redhat9.0
  • BIOS上的问题
  • 如何知道自己的BIOS有否1024柱面的限制?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3