第一章 内容综述
bootimage.Z | 具有美国键盘代码的压缩启动映像文件 |
rootimage.Z | 以 1200 kB 压缩的根文件系统映像文件 |
linux-0.11.tar.Z | 内核源代码文件,大小为94 kB,展开后也仅有 325 kB |
as86.tar.Z | 二进制执行文件,16 位的汇编程序和装入程序 |
INSTALL-0.11 | 更新过的安装信息文件 |
*image.Z:压缩的软盘映像文件。
bootimage 是引导启动 Image 文件,其中主要包括磁盘引导扇区代码、操作系统加载程序和内核执行代码。
PC 机启动时,ROM BIOS 中的程序会把默认启动驱动器上的引导扇区代码和数据读入内存,而引导扇区代码负责把操作系统加载程序和内核执行代码读入内存中,然后把控制权交给操作系统加载程序去进一步准备内核的初始化操作,最终加载程序会把控制权交给内核代码。
内核代码若要正常运行就需要文件系统的支持。
rootimage:用于向内核提供最基本支持的根文件系统,其中包括操作系统最起码的一些配置文件和命令执行程序。对于 Linux 系统中使用的 UNIX 类文件系统,其中主要包括一些规定的目录、配置文件、设备驱动程序、开发程序、以及所有其他用户数据或文本文件等。
这两个盘合起来就相当于一张可启动的 DOS 操作系统盘。
第三章
3.2.4 区与重定位
区(Section)(也称为段、节或部分)用于表示一个地址范围,操作系统将会以相同的方式对待和处理在该地址范围中的数据信息。
当一个区被重定位时,为了让链接器 ld 知道哪些数据会发生变化以及如何修改这些数据,as 汇编器也会往目标文件中写入所需要的重定位信息。
(1)目标文件中对一个地址的引用是从什么地方算起的?
(2)该引用的字节长度是多少?
(3)该地址引用的是哪个区?(地址 - 区的开始地址)的值等于多少?
(4)对地址的引用与程序计数器 PC 相关吗?
{ secname N }:表示区 secname 中偏移 N