网站颜色:

970734|正版包邮 Linux内核完全剖析基于0.12内核 赵炯 编著 运行Linux的PC硬件组成结构编制内核汇编语言C语言80x86处理器内核.

  • 产品名称:Linux内核完全剖析--基于...
  • 是否是套装:否
  • 书名:Linux内核完全剖析--基于0.12内核
  • 定价:99.00元
  • 出版社名称:机械工业出版社
  • 出版时间:2009年1月
  • 作者:无
  • 书名:Linux内核完全剖析--基于0.12内核

  商品基本信息
商品名称:   Linux内核完全剖析--基于0.12内核
作者:   赵炯
市场价:   99.(咨询特价)
ISBN号:   9787111250470
版次:   1-4
出版日期:   2008-10-01
出版社:   机械工业出版社
   目录
序第1章概述
1.1Linux的诞生和发展
1.1.1UNIX操作系统的诞生
1.1.2MINIX操作系统
1.1. 3GNU计划
1.1.4POSIx标准
1.1.5Linux操作系统的诞生
1.1.6Linux操作系统版本的变迁
1.1.7Linux名称的由来
1.1.8早期Linux系统开发的主要贡献者
1.2内容综述
1.3本章小结
第2章微型计算机组成结构
2.1微型计算机组成原理
2.2I/O端口寻址和访问控制方式
2-2.1I/O端口和寻址
2.2.2接LI访问控制
2.3主存储器、B10S和CMOS存储器
2.3.1主存储器
2.3.2基本输入/输出程序BIOS
2.3.3CMOS存储器
2.4控制器和控制卡
2.4.1中断控制器
2.4.2DMA控制器
2.4.3定时/计数器
2.4.4键盘控制器
2.4.5串行控制卡
2.4 显示控制
2.4.7软盘和硬盘控制器
2.5本章小结
第3章内核编程语言和环境
3.1as86汇编器
3.1.1as86汇编语言语法
3.1.2as86汇编语言程序
3.1.3as86汇编语言程序的编译和链接
3.1.4as86和1d86使用方法和选项
3.2GNUas汇编
3.2.1编译as汇编语言程序
3.2.2as汇编语法
3.2.3指令语句、操作数和寻址
3.2.4区与重定位
3.2.5符号
3.2.6as汇编命令
3.2.7编写16位代码
3.2.8AS汇编器命令行选项
3.3C语言程序
3.3.1C程序编译和链接
3.3.2嵌入汇编
3.3.(咨询特价)括号中的组合语句
3.3.4寄存器变量
3.3.5内联函数
3.4C与汇编程序的相互调用
3.4.1C函数调用机制
3.4.2在汇编程序中调用C函数
3.4-3在C程序中调用汇编函数
3.5Linux0.12目标文件格式
3.5.1目标文件格式
3.5.2Linux0.12中的目标文件格式
3.5.3链接程序输出
3.5.4链接程序预定义变量
3.5.5System.map文件
3.6Make程序和Makefile文件
3.6.1Makefile文件内容
3.6.2Makefile文件中的规则
3.6.3Makefile文件示例
3.6.4make处理Makefile文件的方式
3.6.5Makefile中的变量
Linux内核完
3.6.6让make自动推断命令
3.6.7隐含规则巾的自动变量
3.7本章小结
第4章80x86保护模式及其编程
4.180x86系统寄存器和系统指令
4.1.1标志寄存器
4.1.2内存管理寄存器
4.1.3控制寄存器
4.1.4系统指令
4.2保护模式内存管理
4.2.1内存寻址
4.2.2地址变换
4.2.3保护
4.3分段机制
4.3.1段的定义
4.3.2段描述符表
4.3.3段选择符
4.3.4段描述符
4.3.5代码和数据段描述符类型
4.3.6系统描述符类型
4.4分页机制
4.4.1页表结构
4.4.2页表项格式
4.4.3虚拟存储
4.5保护
4.5.1段级保护
4.5.2访问数据段时的特权级检查
4.5.3代码段之间转移控制时的特
权级检查
4.5.4页级保护
4.5.5组合页级和段级保护
4.6中断和异常处理
4.6.1异常和中断向量
4.6.2中断源和异常源
4.6.3异常分类
4.6.4程序或任务的重新执行
4.6.5开启和禁止rrI断
4.6.6异常和中断的优先级
4.6.7中断描述符表
基于O.12内核
4.6.8IDT描述符
4.6.9异常与中断处理
4.6.10中断处理任务
4.6.11错误码
4.7任务管理
4.7.1任务的结构和状态
4.7.2任务的执行
4.7.3任务管理数据结构
4.7.4任务切换“
4.7.5任务链
4.7.6任务地址空间
4.8保护模式编程初始化
4.8.1进入保护模式时的初始化操作
4.8.2模式切换
4.9一个简单的多任务内核实例
4.9.1多任务程序结构和工作原理
4.9.2引导启动程序boot.
4.9.3多任务内核程序】aead.
第5章LiflUX内核体系结构
5.1Linux内核模式
5.2Linux内核系统体系结构
5.3Linux内核对内存的管理和使用
5.3.1物理内存
5.3.2内存地址空间概念
5.3.3内存分段机制
5.3.4内存分页管理
5.3.5CPLJ多任务和保护方式
5_3.6虚拟地址、线性地址和物理地址之间的关系
5.3.7用户申请内存的动态分配
5.4中断机制
5.4.1中断操作原理
5.4.280x86微机的rfl断子系统
5.4. 3中断向量表
5.4.4L,inux内核的中断处理
5.4.5标志寄存器的中断标志
5.5Linux的系统调用
5.5.1系统调用接口
5.5.2系统调用处理过程
5.5.3Linux系统调用的参数传递方式
5.6系统时间和定时
5.6.1系统时间
5.6.2系统定时
5.7Linux进程控制
5.7.1任务数据结构
5.7.2进程运行状态
5.7.3进程初始化
5.7.4创建新进程
5.7.5进程调度
5.7.6终I卜进程
5.8Linux系统中堆栈的使用方法
5.8.1初始化阶段
5.8.2任务的堆栈
5.8.3任务内核态堆栈与用户态堆栈之间的切换
5.9LinuxO.12采用的文件系统
5.10LinHX内核源代码的目录结构
5.10.1内核主目录linux
5.10.2引导启动程序目录boot
5.10.3文件系统目录fS-.
5.10.4头文件主目录include
5.10.5内核初始化程序目录init
5.10.6内核程序主目录kernel
5.10.7内核库函数目录lib’
5.10.8内存管理程序目录mm
5.10.9编译内核工具程序目录tools
5.11内核系统与应用程序的关系
5.12linuX/Makefile文件
5.12.1功能描述
5.12.2代码注释
5.13本章小结
第6章引导启动程序
6.1总体功能
6.2bootsect.S程序
6.2.1功能描述
6.2.2代码汴释
6.2.3其他信息
6.3setup.S程序
6.3.1功能描述
6.3.2代码注释
6.3.3其他信息
6.4laead.s程序
6.4.1功能描述一
6.4.2代码注释
6.4.3其他信息¨
6.5本章小结
第7章初始化程序
7.1main.c程序
7.1.1功能描述
7.1.2代码注释
7.1.3其他信息
7.2环境初始化工作
7.3本章小结
第8章一内核代码
8.1总体功能
8.1.1中断处理程序
8.1.2系统调用处理相关程序
8.1.3其他通用类程序
8.2asm.s程序
8.2.1功能描述
8.2.2代码注释
8.2.3Intel保留中断向量的定义
8.3traps.c程序
8-.3.1功能描述
8.3.2代码注释
8.4syscall.s程序
8.4.1功能描述
8.4.2代码注释
8.4.3其他信息
8.5mktime.c程序
8.5.1功能描述
8.5.2代码注释
8.5.3闰年的计算方法
8.sched.c程序
8.6.1功能描述
Linux内榜
8.6.2代码注释
8.6.3其他信息
8.7signal.c程序
8.7.1功能描述
8.7.2代码注释
8.7.3进程信号说明
8.8exit.c程序
8.8.1功能描述
8.8.2代码注释
8.9fork.c程序
8.9.1功能描述
8.9.2代码注释“
8.9.3任务状态段信息
8.10syS.C程序
8.10.1功能描述
8.10.2代码注释
8.11vsprintf.c程序
8.11.1功能描述
8.11.2代码注释
8.11.3vsprintf()的格式字符串
8.11.4与当前版本的区别
8.12printk.c程序
8.12.1功能描述
8.12.2代码注释
8.13panic.c程序
8.13.1功能描述
8.13.2代码注释
8.14本章小结
第9章块设备驱动程序
9.1总体功能
9.1.1块设备请求项和请求队列
9.1.2块设备访问调度处理
9.1.3块设备操作方式
9.2blk.h文件
9.2.1功能描述
9.2.2代码注释
9_3hd.c程序
9.3.1功能描述
9.3.2代码沣释
9.3-3其他信息
分析——基于0.12内核
9.411rwblk.c程序
9.4.1功能描述
9.4.2代码注释
9.5ramdisk.c程序
9.5.1功能描述
9.5.2代码注释
9.6noppy.c程序
9.6.1功能描述
9.6.2代码注释
9.6.3其他信息
第10章字符设备驱动程序
10.1总体功能
10.1.1终端驱动程序基本原理
lO.1.2Linux支持的终端设备类型
10.1.3终端基本数据结构
10.1.4规范模式和非规范模式
10.1.5控制台终端和串行终端设备
10.1.6终端驱动程序接U
10-2keyboana.S程序
10.2.1功能描述
10.2.2代码注释
10.2.3其他信息
10.3console.c程序
10.3.1功能描述
10.3.2代码注释
10.3.3其他信息
10.4serl.a1.c程序
10.4.1功能描述
10.4.2代码注释
10.4.3异步串行通信控制器UART
10.5rsio.s程序
10.5.1功能描述
lO.5.2代码注释
10.6ttyioc程序
10.6.1功能描述
10.6.2代码注释
10.6.3控制字符VTIME、VMIN
10.7ttyjoctl.c程序
10.7.1功能描述
10.7.2代码注释
10.7.3波特率与波特率因子
第11章数学协处理器
11.1总体功能描述
11.1.1浮点数据类型
11.1.2数学协处理器功能和结构
11.2mattllemulate.c程序
11_2.1功能描述
11.2.2代码注释
11.3error.c程序
11.3.1l力能描述
11.3.2代码注释
11.4ea.c程序
11.4.1功能描述
11.4.2代码注释
11.5convert.c程序
11.5.1功能描述
11.5.2代码注释
11.6add.c程序
11.6.1功能描述
11.6.2代码注释
11.7compare.c程序
11.7.1功能描述
11.7.2代码注释
11.8getl_p1Jt.c程序
11.8.1功能描述
11.8.2代码注释
11.9mul.c程序:
11.9.1功能描述“
11.9.2代码注释
11.10div.c程序
11.10.1功能描述
11.10.2代码注释
第12章文件系统
12.1总体功能
12.1.1MINIX文件系统
12.1.2文件类型、属性和目录项
12.1.3高速缓冲区
12.1.4文件系统底层函数
12.I.5文件中数据的访问操作
。12.1.6文件和目录管理系统调用
12.1.7360KB软盘中文件系统实例分析
12.2bu圩er.c程序
12.2.1功能描述
12.2.2代码注释
12.3bitmap.c程序
12.3.1功能描述
12.3.2代码注释
12.4truncate.c程序
12.4.1功能描述
12.4.2代码注释
12.5inode.c程序
12.5.1功能描述
12.5_2代码注释
12.6super.c程序
12.6.1功能描述
12.6.2代码注释
12.7namei.c程序
12.7.1功能描述
12.7.2代码注释
12.8filetable.c程序
12.8.1功能描述
12.8.2代码注释
12.9blockdev.c程序
12.9.1功能描述
12.9.2代码注释
12.10nledev.c程序
12.10.1功能描述
12.10.2代码注释
12.11pipe.c程序
12.11.1功能描述-
12.11.2代码注释
12.12c3atdev.c程序-
12.12.1功能描述
12.12.2代码注释
12.13read’witite.c
12.13.1功能描述程序
12.13.2代码注释
12.13_3用户程序读写操作过程
12.14open.c程序
Linux内核岁
12.14.1功能描述
2.14.2代码注释
15exec.c程序
2.15.1功能描述
12.15.2代码注释
12.15.3其他信息
12.16stat.c程序
12.16.1功能描述
12.16.2代码注释
12.17f.cntl.c程序
12.17.1功能描述
12.17.2代码注释
12.18ioctl.c程序
12.18.1功能描述
12.18.2代码注释
12.19select.c程序
12.19.1功能描述
12。19.2代码注释
第13章内存管理
13.1总体功能
13.1.1内存分页管理机制
13.1.2Li:nux中物理内存的管理和分配
13.1.3Linux内核对线性地址空问的使用分配
13.1.4页面出错异常处理
13.1.5写时复制机制
13.1.6需求加载机制
13.2memory.c程序
13.2.1功能描述
13.2.2代码注释
13.3page.s程序
13.3.1功能描述
13.3.2代码注释
13.3.3页出错异常处理
13.4swaD.c程序
13.4.1功能描述
13.4.2代码注释
第14章头文件
14.1include/目录下的文件一基于0.12内核
14.2a.out.h文件
14.2.1功能描述
14.2.2代码注释
14.2.3a.out执行文件格式
14.3const.‘t1文件
14.3.1功能描述
14.3.2代码注释
14.4.ctype.h文件
14.4.1功能描述
14.4.2代码注释
14.5errno.11文件
14.5.1功能描述
14.5-2代码注释
14.6fcntl_h文件
14.6.1功能描述
14.6.2代码注释
14.7signal-h文件
14.7.1功能描述
14.7.2文件注释
14.8stdarg.r1文件
14.8.1功能描述
14.8.2代码注释
14.9stddefh文件
14.9.1功能描述
14.9.2,代码沣释
14.10string.h文件
14.10.1功能描述
14.10.2代码注释
14.11termios.h文件
14.11.1功能描述
14.11.2代码注释
14.11.3控制字符TIME和MIN
14.12tiIIle.h文件
14.12.1功能描述
14.12.2代码注释
14.13unistd-h文件
14.13.1功能描述
14.13.2代码注释
14.14utime.h文件
14.14.1功能描述
14.14.2代码注释
14.15include/asm/目录下的文件
14.16io.h文件
14.16.1功能描述
14.16.2代码注释
14.17memory.t1文件
14.17.1功能描述
14.1.7.2代码注释
14.18segment.‘tl文件
14.18.1功能描述
14.18.2代码注释
14.19system.h文件
14.19.1功能描述
14.19.2代码注释
14.20include/linux/目录下的文件
14_2lcornfig.h文件
14.21.1功能描述
14.21.2代码注释
14.22fdreg.h头文件
14.22.1功能描述
14.22.2文件注释
14.23fs.文件
14.23.1功能描述
14.23.2代码注释
14。24hdreg.h文件
14.24.1功能描述
14.24.2代码注释
14.24.3硬盘分区表
14.25head.h文件
14.25.1功能描述
14.25.2代码注释
14.26kernel-h文件
14.26.1功能描述
14.26.2代码注释
14_27mln.h文件
14.27.1功能描述
14.27.2代码注释
14.28sched-h文件
14.28.1功能描述
14.28.2代码注释
14.29svs.h文件
14.29.1功能描述
14.29.2代码注释
14.30tty-h文件
14.30.1功能描述
14.30:2代码注释
14-31include/svs/目录中的文件
14.32param.h文件
14.32.1功能描述
14.32.2代码注释
14.33resourcerl文件
14.33.1功能描述
14.33.2代码注释
14.34stat.h文件
14.34.1功能描述
14.34.2代码注释
14.35time.h文件
14.35.1功能描述
14.35.2代码注释
14.36tmes.’r1文件
14.36.1功能描述
14.36-2代码注释
14.37types11文件
14.37.1功能描述
14.37.2代码注释
14.38.utsname.文件
14.38.1功能描述
14.38.2代码注释
14.39wait.h文件
14.39.1功能描述
14.39.2代码滓释
第15章库文件
15.1exit.c程序
15.1.1功能描述
15.1.2代码注释
15.1-3相关信息
15.2close.c程序
15.2.1功能描述
15.2-2代码}=丰释
15.3ctype.c程序
15.3.1功能描述
15.3.2代码注释
15.4dup.c程序
15.4.1功能描述
15.4.2代码注释
15.5errno.c程序
15.5.1功能描述
15.5.2代码注释
15.6execve.c程序
15.6.1功能描述
15.6.2代码注释
15.7maUOC.C程序
15.7.1功能描述
15.7.2代码注释
15.8open.c程序
15.8.1功能描述
15.8.2代码注释
15.9setsid.c程序
15.9.1功能描述
15.9-2代码注释
15.10string.c程序
15.10.1功能描述
15.10.2代码注释
15.11’wait.c程序
15.11.1功能描述
15.11.2代码注释
15.12write.c程序
15.12.1功能描述
15.12.2代码注释
第16章建造工具
16.1build.c程序
16.1.1功能描述
16.1.2代码注释
l6.2MINIX可执行文件头部数据结构
第17章实验环境设置与使用方法
17.1Bochs仿真软件系统
17.1.1设置Bochs系统
17.1.2配置文件.bxrc
17.2在Bochs中运行Linux0.1x系统
17.2.1软件包中文件说明
17.2.2安装Bochs模拟系统
17.2.3运行Linux0.1x系统
17.3访问磁盘映像文件中的信息
17.3.1使用’WinImage工具软件
173.2利用现有Linux系统
17.4编译运行简单内核示例程序
17.5利用Bochs调试内核
17.5.1运行Bochs调试程序
17.5.2定位内核中的变量或数据结构。
17.6创建磁盘映像文件
17.6.1利用Bochs软件自带的Image生成工具
17.6.2在Linux系统下使用dd命令创建Image文件
17.6.3利用WinImage创建DOS格式的软盘Image文件’
17.7制作根文件系统
17.7.1根文件系统和根文件设备
17.7.2创建文件系统
17.7.3Linux.0.12的Bochs配置文件
17.7.4在hdc.img上建立根文件系统
17.7.5使用硬盘lmage上的根文件系统
17.8在Linux0.12系统中编译0.12内核
17.9在Fedora系统中编译Linux0.1x内核
17.9.1修改Makefile文件
17.9.2修改汇编程序中的注释
17.9.3内存位置对齐语句align值的修改
17.9.4修改嵌入宏汇编程序
17.9.5C程序变量在汇编语句中的引用表示
17.9.6保护模式下调试显示函数
17.10内核引导启动+根文件系统组成的集成盘
10.1集成盘制作原理
10.2集成盘的制作过程
lO.3运行集成盘系统
利用GDB和Bochs调试内核源代码
11.1编译带gdbstub的.Bochs系统
11.2编译带调试信息的Linux0.1x内核
17.11.3调试方法和步骤
附录
附录AASCII码表
附录B常用C0、C1控制字符表
附录C常用转义序列和控制
附录D
参考文献
序列
第1套键盘扫描码集
   内容简介
    本书对早期Linux内核(vO.12)伞部代码文件进行了详细、全面的注释和说日月,旨在帮助读者用较短的时间对Linux的工作机理获得全面而深刻的理解,为进一步学习和研究Linux打下坚实的基础。虽然选择的版本较低,但该内核已能够正常编译运行,并且其中已包括了Linux工作原理的精髓。书中首先以Linux源代码版本的变迁为主线,介绍了Linux的历史,同时着重说明了各个内核版本的主要区别和改进,给出了选择O.12版内核源代码作为研究对象的原因。在正式描述内核源代码之前,概要介绍了运行Linux的PC的硬件组成结构、编制内核使用的汇编语言和C语言扩展部分,并且重点说明了80x86处理器在保护模式下运行的编程方法。接着详细介绍了Linux内核源代码目录树组织结构,并依据该结构对所有内核程序和文件进行了注释和详细说明。有关代码注释的章节安排基本上都分为具体研究对象的概述、每个文件的功能介绍、代码内注释、代码巾难点及相关资料介绍等部分。为了加深读者对内核工作原理的理解,书中最后一章给出了围绕LinuxO.12系统的多个实验,其中涉及的程序均可从本书配套网站(www.oldllinux.org)上下载。 本书适合Linux爱好者作为学习内核工作原理的自学参考书籍,也适合作为高校计算机专业学生学习操作系统课程的辅助和实践教材,还可供一般技术人员作为开发嵌入式系统的参考书使用。     

赵炯:男,1963年10月5日出生,江苏苏州人,汉族。同济大学机械工程学院机械电子教研室副教授,从事教学和科研工作。现在主要为硕士和博士研究生开设《计算机通信技术》、《计算机控制技术》、《现代电子学》等课程。同时参与国家自然科学基金项目“系统芯片在线测试与容错技术研究”的工作。
为国际计算机仿真协会、上海市通信学会会员。主要研究方向为计算机网络协议分析与性能评估、操作系统体系结构和自动化系统中的智能控制技术。
至今已发表文章几十篇,出版书籍三本。
下面是赵炯博士学习Linux的经历。
本科学电信专业,研究生才开始接触和学习计算机(PC/XT),攻读的是计算机通信方向。接触的第一本计算机书籍是《BASIC入门》,深入学习的第一本好书是N.沃思的《算法+数据结构=程序》。1988年硕士毕业后就留校于上海铁道学院机械系任教,一直从事计算机基础方面的教学工作,此间详细阅读和分析了PC/XT机的全部ROM BIOS反汇编代码,并深入学习了IBM PC-DOS V2.0操作系统的反汇编代码。两年后停薪留职去深圳一家港资软件公司工作,从事了近两年PC机底层 NOVELL 网兼容网络操作系统的研制和开发工作。其后回校边教书边从事计算机软硬件开发和商业活动。1998年开始攻读博士学位,方向是计算机网络协议分析,2002年博士毕业后于同济大学机械学院机械电子研究所从事教学和科研工作。主要教授计算机通信和嵌入式开发应用的相关课程。
对Linux操作系统的爱好始于自己硕士研究生后期和毕业后对UNIX操作系统的兴趣。当时在学校图书馆无意中借到了一本英文版《Design of UNIX Operating System》,便开始自学起来,后来在学校顾伟楠老师的帮助下得到了UNIX V6的源代码,于是就开始着迷于研究和分析源代码。期间收集了不少UNIX相关的资料,主要包括书籍《MINIX操作系统设计与实现》和能够运行于PC机上的XENIX操作系统和AT&T的SYSTEM V操作系统,安装运行过多种PC版本的UNIX克隆系统。由于V6运行于PDP-11系列机上,而我们又没有试验条件,因此在大致浏览过后就没有再深入学习下去,而是去从事计算机软件和硬件商业活动了。不过,对操作系统的痴迷热情并没有减退。在随后一段时间内一直关注着有关UNIX系统的发展和国内研究动态。其中,《计算机研究和发展》杂志社1982年出版的一本有关V6剖析的专刊也让我获益匪浅,至今我还保留着这本专刊。
大概是在1996年夏天,无意中得到Linux1.0操作系统的光盘。安装在486的机器上试验运行了一下,发觉它就是UNIX系统的克隆,这让我非常高兴。我想这可能就是我第一次接触Linux的时间了。此后开始专研其源代码,期间走了不少弯路,足足花了约3~4年时间才基本理解Linux的运行机制。此后市面上开始出现Redhat 5.0、6.0等系统光盘,Linux操作系统也开始在国内悄悄流行起来。不久自己对Linux的起源和发展历史有了兴趣,于是又开始到处收集相关的文字资料和软件(一直到现在该兴趣仍然很浓厚)。在收集过程中得到过多位国外内核开发人员的帮助,也得到过AST的协助(虽然他的MINIX与Linux早期有些过节)。
 从学习UNIX原理到理解Linux系统的运作机制,自己的这段自学历程花了近10多年的时间。虽然并不是在不间断地学习UN*X,但自学期间所遇到的各种困难和走过的很多弯路让我联想到其他Linux爱好者也可能遇到的境地。因此在博士毕业后的2~3年时间内,我花了一些时间专门注释了Linux 0.1x(0.95)内核代码,并根据收集到的信息重复了Linus所做过的MINIX下开发Linux内核的试验,同时开设了一个相关网站(oldlinux.org)和论坛,为广大爱好者提供我收集的信息和注释的资料。后来应很多爱好者的要求,本人找到机械工业出版社,于2004年以书本的形式出版了我注释的资料,即《Linux内核完全注释》。由于看该书需要掌握或参考一些基本信息,因此在一年后又出版了添加过基础知识的《剖析》一书。
 0.12(或0.95)内核也是在2005年前就已经注释完毕,并在当年10月左右已经在台湾出版。此次在大陆出版有关该内核的书是为了提供一个既小巧又更为稳定的内核供大家学习参考。通过研究Linux发展历史可以知道,0.12是Linus独立编制的较为得意的Linux内核。当时爱好者已经能在其上运行自己开发的X窗口系统和简单的联网程序。由于当时Linus认为0.12已经比较完善了,因此所开发的下一个内核的版本号就直接使用为0.95了。
以上仅是简单描述了我学习Linux操作系统的历程。其他有关Linux的早期信息可以直接从oldlinux.org网站获取。
希望赵博士的学习经历对广大Linux初学者有所帮助。

编辑荐语:

据说许多“文青”都有他们的“接头暗语”,那可能是一位作家的名字或是他们喜爱的一首乐曲。而广大程序员有这样的“暗语”吗?“阅读源代码”,这句由“阅读手册”演变而来并且经常挂在欧美黑客嘴边的“编程箴言”,终于传到中国,并在图书市场掀起一股“代码阅读”热。本书便是一本真正的“代码书”。
    说起这本《剖析》,要追溯到2004年。当年,此书的前身《Linux内核完全注释》面世后并未进行过多宣传便登上众多计算机图书排行榜,年底更是入选《中华读书报》年度十大电脑图书。
    多数源代码图书围绕许多相互独立的源代码片段展开。此书不同,它提供的代码完全来自同一软件――Linux 0.12。作者赵炯博士不仅对代码进行了深入分析,还将Linus Torvalds的英文注释全部翻译成中文,非常有利于读者了解Linus是如何“白手起家”,一步一步构建Linux的。对于没有太多实践经验的大学生或业界新人,这点尤其重要。值得一提的是,本书还有一个配套网站www.oldlinux.org,作者会在网站论坛上回答读者的问题。
    打开电脑,打开这本书,然后,“阅读源代码”。四年来,有许多程序员就是这样成长的。

热门设计服务