aboutsummaryrefslogtreecommitdiff
path: root/zh_CN.GB2312/books/arch-handbook/boot/chapter.xml
diff options
context:
space:
mode:
Diffstat (limited to 'zh_CN.GB2312/books/arch-handbook/boot/chapter.xml')
-rw-r--r--zh_CN.GB2312/books/arch-handbook/boot/chapter.xml38
1 files changed, 15 insertions, 23 deletions
diff --git a/zh_CN.GB2312/books/arch-handbook/boot/chapter.xml b/zh_CN.GB2312/books/arch-handbook/boot/chapter.xml
index 162da2b684..29f4e4230c 100644
--- a/zh_CN.GB2312/books/arch-handbook/boot/chapter.xml
+++ b/zh_CN.GB2312/books/arch-handbook/boot/chapter.xml
@@ -9,26 +9,18 @@ Copyright (c) 2002 Sergey Lyubka <devnull@uptsoft.com>
All rights reserved
$FreeBSD$
-->
-
-<chapter id="boot">
- <chapterinfo>
+<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="boot">
+ <info><title>引导过程与内核初始化</title>
<authorgroup>
- <author>
- <firstname>Sergey</firstname>
- <surname>Lyubka</surname>
- <contrib>&cnproj.contributed.by;</contrib>
- </author> <!-- devnull@uptsoft.com 12 Jun 2002 -->
+ <author><personname><firstname>Sergey</firstname><surname>Lyubka</surname></personname><contrib>&cnproj.contributed.by;</contrib></author> <!-- devnull@uptsoft.com 12 Jun 2002 -->
</authorgroup>
<authorgroup>
- <author>
- &author.cn.intron;
- <contrib>&cnproj.translated.by;</contrib>
- </author>
+ <author><personname/><contrib>&cnproj.translated.by;</contrib></author>
</authorgroup>
- </chapterinfo>
- <title>引导过程与内核初始化</title>
+ </info>
+
- <sect1 id="boot-synopsis">
+ <sect1 xml:id="boot-synopsis">
<title>概述</title>
<indexterm><primary>BIOS(基本输入输出系统, Basic Input Output System)</primary></indexterm>
@@ -42,7 +34,7 @@ $FreeBSD$
这里用IA-32(Intel Architecture 32bit)结构作为例子。</para>
</sect1>
- <sect1 id="boot-overview">
+ <sect1 xml:id="boot-overview">
<title>总览</title>
<para>一台运行FreeBSD的计算机有多种引导方法。这里讨论其中最通常的方法,
@@ -130,7 +122,7 @@ Timecounter "i8254" frequency 1193182 Hz</screen></para></entry>
</informaltable>
</sect1>
- <sect1 id="boot-bios">
+ <sect1 xml:id="boot-bios">
<title>BIOS POST</title>
<para>当PC加电后,处理器的寄存器被设为某些特定值。在这些寄存器中,
@@ -168,7 +160,7 @@ Timecounter "i8254" frequency 1193182 Hz</screen></para></entry>
会使用这一区域存储信息,主要是在第二扇区里。</para></footnote>。</para>
</sect1>
- <sect1 id="boot-boot0">
+ <sect1 xml:id="boot-boot0">
<title><literal>boot0</literal>阶段</title>
<indexterm><primary>MBR (主引导记录)</primary></indexterm>
@@ -238,7 +230,7 @@ Timecounter "i8254" frequency 1193182 Hz</screen></para></entry>
正如你已经猜到的,那就是<filename>boot2</filename>。</para>
</sect1>
- <sect1 id="boot-boot2">
+ <sect1 xml:id="boot-boot2">
<title><literal>boot2</literal>阶段</title>
<para>也许你想知道,为什么<literal>boot2</literal>是在
@@ -404,7 +396,7 @@ struct bootinfo {
0, 0, 0, VTOP(&amp;bootinfo));</programlisting>
</sect1>
- <sect1 id="boot-loader">
+ <sect1 xml:id="boot-loader">
<title><application>loader</application>阶段</title>
<para><application>loader</application>也是一个 BTX 客户,在这里不作详述。
@@ -418,7 +410,7 @@ struct bootinfo {
module_formats[km-&gt;m_loader]-&gt;l_exec(km);</programlisting>
</sect1>
- <sect1 id="boot-kernel">
+ <sect1 xml:id="boot-kernel">
<title>内核初始化</title>
<para>让我们来看一下链接内核的命令。
@@ -549,7 +541,7 @@ begin:</programlisting>
<para>每个"任务"都是与其它“任务”相对独立的执行环境。
任务之间可以分时切换,这为并发进程/线程的实现提供了必要基础。
对于Intel 80x86任务的描述,详见Intel公司关于80386 CPU及后续产品的资料,
- 或者在<ulink url="http://www.lib.tsinghua.edu.cn/">清华大学图书馆</ulink>
+ 或者在<link xlink:href="http://www.lib.tsinghua.edu.cn/">清华大学图书馆</link>
馆藏记录中用"80386"作为关键词所查找到的系统结构方面的书目。</para></tip>
在这个任务中,内核将继续工作。在讨论其代码前,
我将处理器对保护模式必须完成的一系列准备工作一并列出:</para>
@@ -715,7 +707,7 @@ struct gate_descriptor *idt = &amp;idt0[0]; /* 中断描述符表 */
#define LSYS5SIGR_SEL 1
#define L43BSDCALLS_SEL 2 /* 尚无 */
#define LUCODE_SEL 3
-#define LSOL26CALLS_SEL 4 /* Solaris >=2.6版系统调用关口 */
+#define LSOL26CALLS_SEL 4 /* Solaris &gt;=2.6版系统调用关口 */
#define LUDATA_SEL 5
/* separate stack, es,fs,gs sels ? 分别的栈、es、fs、gs选择符? */
/* #define LPOSIXCALLS_SEL 5*/ /* notyet, 尚无 */