Linux完全内核剖析(一)
Linux内核0.11完全注释
--修订版3.0
“RTFSC - Read The F**king Source Code ☺!”
-- Linus Benedict Torvalds
本书的主要目标是使用尽量少的篇幅或在有限篇幅内,对完整的Linux内核源代码进行全面剖析,以期对操作系统的基本功能和实际实现方式获得全方位的理解。做到对Linux内核有一个完整而深刻的理解,对Linux操作系统的基本工作原理真正理解和入门。
第一章 概述
1.1 Linux的诞生和发展
Linux0.12版内核的主要变化有:1、Ted Ts’o添加了对终端信号处理支持;2、启动时可以改变使用的屏幕行列值;3、改正了一个文件IO引起的竞争条件;4、增加了对共享库的支持,节省了内存使用量;5、符号链接处理;6、删除目录系统调用;7、Peter MacDonald实现了虚拟终端支持,使得Linux要比当时的某些商业版UNIX还要更胜一筹;8、实现对select()函数支持,这是Peter MacDonald根据一些人为MINIX提供的补丁程序修改而成,但是MINIX却没有采纳这些补丁程序;9、可重新执行的系统调用;10、Linus编制完成数学协处理器仿真代码等。
1.2 内容综述
Linux-0.11版本是在1991年12月8日发布的。在发布时包括以下文件:
-——————————————————————————————————
bootimage.Z - 具有美国键盘代码的压缩启动镜像文件
rootimage.Z - 以1200KB压缩的根文件系统映像文件
linux-0.11-tar.Z - 内核源代码文件。大小为94KB,展开后也仅有325KB
as86.tar.Z - Bruce Evans’而进行执行文件。是16位的汇编程序和装入程序
INSTALL-0.11 - 更新过的安装信息文件
-——————————————————————————————————
bootiamge.Z和rootimage.Z是压缩的软盘映像(Image)文件。bootimage是引导启动Image文件,其中主要包括磁盘引导扇区代码、操作系统加载程序和内核执行代码。PC机启动时ROM BIOS中的程序会把默认启动驱动器上的引导扇区代码和数据读入内存,而引导扇区代码则负责把操作系统加载程序和内核执行代码读入内存中,然后把控制权交给操作系统加载程序去进一步准备内核的初始化操作。最终加载程序会把控制权交给内核代码。内核代码若要正常运行就需要文件系统的支持。rootimage就是用于向内核提供最基本支持的根文件系统,其中包括操作系统最起码的一些配置文件和命令执行程序。对于Linux系统中使用的UINX类文件系统,其中主要包括一些规定的目录、配置文件、设备驱动程序、开发程序以及所有其他用户数据或文本文件等。这两个盘合起来就相当于一张可启动的DOS操作系统盘。ax86.tar.Z是16位汇编器链接程序软件包。linux-0.11.tar.Z是压缩的Linux0.11内核源代码。INSTALL-0.11是Linux0.11系统的简单安装说明文档。
- 本文作者:hywang
- 本文链接:https://hywang-66.github.io/2020/10/29/Linux%E5%AE%8C%E5%85%A8%E5%86%85%E6%A0%B8%E5%89%96%E6%9E%90-%E4%B8%80/index.html
- 版权声明:本博客所有文章均采用 BY-NC-SA 许可协议,转载请注明出处!