LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1706|回复: 6

[操作系统]从加电到引导

[复制链接]
发表于 2005-9-12 16:42:34 | 显示全部楼层 |阅读模式
看到freeBSD系统结构手册中有一段专门叙述引导过程,现抄录如下:
  1. [color=DarkRed]1.3 BIOS POST[/color]
  2. 当PC加电后,处理器的寄存器被设为某些特定值。在这些寄存器中, 指令指针寄存器被设为32位
  3. 值0xfffffff0([color="Red"]CS为0xF000, IP为0xFFF0,故线性地址为 CSx16+IP[/color],welans注)。指令指针寄存器指向
  4. 处理器将要执行的指令代码。cr1([color="Red"]应该是cr0[/color],welans注),一个32位控制寄存器,在刚
  5. 启动时值被设为0。cr1的PE(Protected Enabled,保护模式使能)位用来指示处理器是处于保护
  6. 模式还是实地址模式。由于启动时该位被清位,处理器在实地址模式中引导。在实地址模式中,线
  7. 性地址与物理地址是等同的。
  8. 值0xfffffff0略小于4G,因此计算机没有4G字节物理内存,这就不会是一个有效的内存地址。计算机
  9. 硬件将这个地址转指向BIOS 存储块。
  10. BIOS表示Basic Input Output System (基本输入输出系统)。在主板上,它被固化在一个相对
  11. 容量较小的只读存储器(Read-Only Memory, ROM)。BIOS包含各种各样为主板硬件定制的底层
  12. 例程。就这样,处理器首先指向常驻BIOS存储器的地址0xfffffff0。通常这个位置包含一条跳转指
  13. 令,指向BIOS 的POST例程。
  14. POST表示Power On Self Test(加电自检)。 这套程序包括内存检查,系统总线检查和其它底层
  15. 工具,从而使得 CPU能够初始化整台计算机。这一阶段中有一个重要步骤,就是确定引导设备。现
  16. 在所有的BIOS都允许手工选择引导设备。你可以从软盘、光盘驱动器、硬盘等设备引导。
  17. POST的最后一步是执行INT 0x19指令。这个指令从引导设备第一个扇区读取512字节,装入地址
  18. 0x7c00。 第一个扇区的说法最早起源于硬盘的结构,硬盘面被分为若干圆柱形轨道。给轨道编
  19. 号,同时又将轨道分为一定数目(通常是64)的扇形。0号轨道是硬盘的最外圈,1号扇区,第一个扇
  20. 区(轨道、柱面都从0开始编号,而扇区从1开始编号) 有着特殊的作用,它又被称为主引导记录
  21. (Master Boot Record, MBR)。第一轨剩余的扇区常常不使用[1]。
  22. [color=DarkRed]1.4 boot0 阶段[/color]
  23. 让我们看一下文件/boot/boot0。这是一个仅512字节的小文件。如果在FreeBSD安装过程中选择
  24. “bootmanager”,这个文件中的内容将被写入 硬盘MBR.
  25. 如前所述,INT 0x19指令装载MBR,也就是 boot0的内容,至内存地址0x7c00。再看文件
  26. sys/boot/i386/boot0/boot0.s,可以猜想 这里面发生了什么 - 这是引导管理器,一段由 Robert
  27. Nordier 书写的令人起敬的程序片段。
  28. MBR里,也就是boot0里,从偏移量0x1be 开始有一个特殊的结构,称为分区表。其中有4条记录
  29. (称为分区记录),每条记录 16字节。分区记录表示硬盘如何被划分,在FreeBSD的术语中,这被称
  30. 为slice(d)。16字节中有一个标志字节决定这个分区是否可引导。有仅只能有一个分区可设定这一标
  31. 志。否则,boot0 的代码将拒绝继续执行。
  32. 一个分区记录有如下域:
  33.     *      1字节 文件系统类型
  34.     *      1字节 可引导标志
  35.     *      6字节 CHS格式描述符
  36.     *      8字节 LBA格式描述符
  37. 一个分区记录描述符包含某一分区在硬盘上的确切位置信息。 LBA和CHS两种描述符指示相同的信
  38. 息,但是指示方式有所不同: LBA (逻辑块寻址,Logical Block Addressing)指示分区的起始扇区 和
  39. 分区长度,而CHS(柱面 磁头 扇区)指示首扇区和末扇区
  40. 引导管理器扫描分区表,并在屏幕上显示菜单,以便用户可以选择用于引导的磁盘和分区。在键盘
  41. 上按下相应的键后, boot0进行如下动作:
  42.     *      标记选中的分区为可引导,清除以前的可引导标志
  43.     *      记住本次选择的分区以备下次引导时作为缺省项
  44.     *      装载选中分区的第一个扇区,并跳转执行之
  45. 什么数据会存在于一个可引导扇区(这里指FreeBSD扇区)的第一扇区里呢?正如你已经猜到的,那就
  46. 是boot2。
  47. [color=DarkRed]
  48. 1.5 boot2 阶段[/color]
  49. 也许你想知道,为什么boot2 是在boot0之后, 而不是在boot1之后。事实上,也有一个512字节的
  50. 文件boot1存放在 目录/boot里,那是用来从一张软盘引导系统的。 从软盘引导时,boot1起着
  51. boot0对硬盘引导相同的作用: 它找到boot2并运行之。
  52. 你可能已经看到有一文件/boot/mbr。 这是boot0的简化版本。 mbr中的代码不会显示菜单让用户
  53. 选择,而只是简单的引导被标志的分区。
  54. 实现boot2的代码存放在目录 sys/boot/i386/boot2/里,对应的可执行文件 在/boot里。在/boot里
  55. 的文件boot0 和 boot2 不会在引导过程中使用。不过使用boot0cfg 这样的工具,可将boot0指向
  56. MBR的实际位置。 boot2位于可引导的FreeBSD分区的开始。这些位置不受文件系统控制,所以它
  57. 们不可用ls之类的命令查看。
  58. boot2的主要任务是装载文件/boot/loader。 那是引导过程的第三阶段。在boot2中的代码不能使用
  59. 诸如 open()和read()之类的例程函数, 因为内核还没有被加载。而应当扫描硬盘,读取文件系统结
  60. 构,找到文件 /boot/loader,用BIOS的功能将它读入内存,然后从其入口点开始执行之。
  61. 除此之外,boot2 还可提示用户进行选择, loader可以从其它磁盘、系统单元、分区装载。
  62. ______
  63. 备注
  64. [1]         有些工具如 disklabel(8) 会使用这一区域存储信息,主要是在第二扇区里。
复制代码
发表于 2005-9-19 12:01:25 | 显示全部楼层
不错,不错。很多资料上都是一代而过的。
回复 支持 反对

使用道具 举报

发表于 2005-9-25 12:42:47 | 显示全部楼层
再问一个问题, 大家开机的第一个步骤, 其实是“起心动念”,那么,真正促成大家机器起动的根源在于我们的心念,那么,精神的心念到底是如何化为“现实”的物质的呢?

这个问题,太重要了
回复 支持 反对

使用道具 举报

发表于 2005-10-1 13:06:42 | 显示全部楼层
Post by well
再问一个问题, 大家开机的第一个步骤, 其实是“起心动念”,那么,真正促成大家机器起动的根源在于我们的心念,那么,精神的心念到底是如何化为“现实”的物质的呢?

这个问题,太重要了


这好像是哲学吧。
精神本身并不能转化成物质,它只是控制一种物质而去影响另一个物质!
回复 支持 反对

使用道具 举报

发表于 2005-10-1 22:21:04 | 显示全部楼层
Post by well
再问一个问题, 大家开机的第一个步骤, 其实是“起心动念”,那么,真正促成大家机器起动的根源在于我们的心念,那么,精神的心念到底是如何化为“现实”的物质的呢?

这个问题,太重要了


不要以为你的精神是什么高贵的东西,其实也只不过一堆物质而已,就像电脑里01组成的你所看到的东西

说废话了。是想发这个地址的:
http://www.huihoo.com/gnu_linux/own_os/index.htm
回复 支持 反对

使用道具 举报

发表于 2005-10-2 12:06:03 | 显示全部楼层
精神和物质同等地位,吾人从未说过精神很高贵,zxb先生的说应该是 克里克 先生的“还原论”吧;我对此存疑。而且觉的当非如此
另外,http://www.nondot.org/sabre/os/articles   也是一个非常好的关于os的资源(著名的 非点 资源)

Safirst朋友的“精神本身并不能转化成物质”似乎下结论为早,似乎没见过这个结论(除了一些学派砰击另一些学派的时候不加说明却红着脖子强加给对方或者被政客们用来做大事的时候)。20世纪开始自然科学朝两个方向发展,除了传统的那些外,intentional science意向化科学正是新的问题的核心。精神的研究才开始。真正心物转化的核心才纳入“正统”的研究。
连国内出版的一本好像叫《自然科学的20世纪100个难题》(好像是科学出版社还是。。。,反正是国内管科学的头目之一吧)也扭扭捏捏的把物质与精神的关系用了百来字(可能是全书最少的篇章)放在了最屁股后面
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-10-2 17:21:06 | 显示全部楼层
请不要讨论与本版无关的东西!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表