diff options
Diffstat (limited to 'zh_CN.GB2312/books/arch-handbook/boot/chapter.xml')
-rw-r--r-- | zh_CN.GB2312/books/arch-handbook/boot/chapter.xml | 38 |
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(&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->m_loader]->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 = &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 >=2.6版系统调用关口 */ #define LUDATA_SEL 5 /* separate stack, es,fs,gs sels ? 分别的栈、es、fs、gs选择符? */ /* #define LPOSIXCALLS_SEL 5*/ /* notyet, 尚无 */ |