《Linux作业系统分析与实践》是2008年清华大学出版社出版的图书,作者是Linux系列教材编写组。
基本介绍
- 书名:Linux作业系统分析与实践
- 作者:Linux系列教材编写组
- ISBN:9787302186892
- 类别:图书 > 计算机与网际网路 > 作业系统
- 页数:343
- 出版社:清华大学出版社
- 出版时间:2008-11-01
- 装帧:平装
- 开本:16开
内容简介
《Linux作业系统分析与实践》简要介绍作业系统的定义、功能、特性,以及发展历史、分类、核心结构,阐述计算机硬体系统对作业系统的支持与要求,以Linux 2.6版本为例详细分析Linux作业系统的进程管理、记忆体管理、档案管理和设备管理的工作原理和设计。然后详细介绍字元设备、块设备和网路设备的Linux驱动程式设计与实现方法。除此以外,还给出了Linux系统管理、核心同步机制、进程间通信、记忆体管理、Proc档案创建、设备驱动程式、核心裁减等实验内容及有关参考代码。
《Linux作业系统分析与实践》通过详细的例子引导渎者系统地学习Linux作业系统的工作原理与设计,并通过Linux设备驱动程式设计实践强化对Linux作业系统的理解和套用。《Linux作业系统分析与实践》适于作为计算机相关专业方向的高年级学生或研究生的教材,也适合有志于从事Linux作业系统研究和开发的工程师阅读。
目录
第1章作业系统概述1
1.1作业系统在计算机系统中的地位1
1.2作业系统的定义、功能和特性2
1.2.1作业系统的定义2
1.2.2作业系统的特徵3
1.2.3作业系统的功能5
1.3作业系统的发展历史及分类8
1.3.1作业系统的发展过程8
1.3.2作业系统分类12
1.4作业系统的核心体系结构模型19
1.5Linux的特点及发展简史24
1.5.1什幺是Linux24
1.5.2Linux的发展历程24
1.5.3Linux的特性25
1.5.4Linux核心的版本演化介绍27
1.6Linux核心的结构及主要组成部分30
1.6.1Linux核心系统体系结构30
1.6.2Linux核心的源码组织结构31
1.7本章小结32
思考题33
进一步阅读33
第2章计算机系统硬体基础34
2.1计算机硬体的组成结构34
2.2处理器的工作模式36
2.380x86的保护模式38
2.3.180x86系统暂存器38
2.3.2存储管理机制41
2.3.3分段机制41
2.3.4分页机制43
2.3.5保护机制44
2.4中断陷入与异常处理45
2.4.1中断与异常45
2.4.2中断系统46
2.4.3中断处理过程48
2.4.4时钟中断48
2.5任务切换49
2.6SMP及多核技术51
2.7Linux系统引导过程概述53
2.7.1BIOS引导54
2.7.2LILO/GRUB引导54
2.7.3KernelBoot56
2.7.4Init引导57
2.8本章小结57
思考题57
进一步阅读58
第3章进程管理59
3.1进程的原理和实现59
3.1.1进程控制块60
3.1.2进程状态62
3.1.3进程的标识64
3.1.4进程描述符在记忆体里的组织形式64
3.1.5进程的睡眠和唤醒65
3.2执行绪的原理与实现66
3.3Linux进程创建和结束68
3.3.1进程的创建68
3.3.2进程的结束71
3.4进程调度72
3.4.1进程的切换73
3.4.2进程的调度策略74
3.4.3进程调度的触发和进程切换的时机75
3.4.4运行伫列76
3.4.5调度域77
3.4.6抢占80
3.4.7调度的时间複杂度81
3.4.8函式schedule的实现81
3.4.9函式load_balance的实现82
3.5并发控制原理83
3.5.1同步原语简介84
3.5.2死锁87
3.5.3同步原语87
3.6Linux下的同步机制88
3.6.1处理器数据88
3.6.2可抢占核心89
3.6.3开关中断89
3.6.4原子操作90
3.6.5栅栏90
3.6.6自旋锁和读写锁91
3.6.7FastUserSpaceMutex92
3.6.8信号量92
3.7Linux下进程间通信95
3.7.1管道95
3.7.2命名管道97
3.7.3讯息伫列98
3.7.4共享记忆体99
3.7.5套接口101
3.8本章小结101
思考题101
进一步阅读102
第4章记忆体管理103
4.1记忆体管理概述103
4.1.1记忆体管理的目的和功能103
4.1.2记忆体分配的方式104
4.1.3重定位105
4.2记忆体管理的基本技术108
4.2.1分区法108
4.2.2可重定位分区法110
4.2.3覆盖技术112
4.2.4交换技术113
4.3分页技术113
4.3.1分页记忆体管理的基本原理114
4.3.2分页技术中的地址映射115
4.3.3页面保护方式118
4.4分段技术119
4.4.1分段技术的基本原理119
4.4.2分段的地址转换120
4.4.3段的共享和保护121
4.5段页式技术122
4.5.1段页式技术的基本原理122
4.5.2地址转换过程124
4.6虚拟存储器技术124
4.6.1程式的局部性原理124
4.6.2虚拟存储器的概念125
4.6.3虚拟存储管理需要考虑的问题125
4.6.4虚拟分页技术的基本原理126
4.6.5请求页式管理中的置换算法128
4.6.6抖动问题131
4.6.7性能分析133
4.7Linux的记忆体管理134
4.7.1进程的虚存空间及其划分134
4.7.2进程空间的描述134
4.7.3物理记忆体的管理136
4.7.4基于Slab的快取管理139
4.7.5页面换出或丢弃142
4.7.6交换Cache143
4.7.7页面的换入143
4.8本章小结144
思考题145
进一步阅读146
第5章档案系统147
5.1档案147
5.1.1逻辑档案与物理档案147
5.1.2逻辑档案的组织148
5.1.3逻辑档案的结构149
5.1.4逻辑档案的存取150
5.1.5物理档案的结构150
5.2目录154
5.2.1档案控制块154
5.2.2目录、档案目录与目录档案155
5.2.3档案检索156
5.3档案存储空间管理157
5.4档案共享159
5.4.1静态共享159
5.4.2动态共享161
5.5Linux档案系统162
5.5.1虚拟档案系统162
5.5.2档案系统注册与注销,安装与卸载174
5.5.3档案系统的快取机制175
5.5.4Ext2档案系统177
5.5.5proc档案系统179
5.6本章小结183
思考题183
进一步阅读184
第6章设备管理185
6.1设备管理概述185
6.1.1设备的分类185
6.1.2设备控制器187
6.1.3设备管理的目标和功能188
6.1.4I/O设备的控制方式190
6.2I/O软体194
6.2.1I/O软体的分层结构194
6.2.2中断处理程式195
6.2.3设备驱动程式196
6.2.4设备无关197
6.2.5用户空间的I/O软体199
6.2.6I/O软体的层次调用关係200
6.3缓冲技术200
6.3.1缓冲的引入201
6.3.2缓冲的种类201
6.3.3缓冲池的管理203
6.4设备分配205
6.4.1与设备分配相关的因素205
6.4.2设备分配的原则和方式206
6.4.3设备分配技术206
6.4.4设备分配算法207
6.5I/O控制208
6.5.1I/O控制的引入208
6.5.2I/O控制的功能208
6.5.3I/O控制的实现209
6.6磁碟调度209
6.6.1磁碟存取时间209
6.6.2磁碟调度算法210
6.6.3性能比较212
6.7本章小结213
思考题214
进一步阅读214
第7章Linux驱动程式编写基础215
7.1核心模组概述215
7.2核心模组编程基础217
7.2.1核心模组的基本结构217
7.2.2编译和载入218
7.2.3核心符号表220
7.2.4初始化与清理函式220
7.2.5模组参数221
7.3中断服务例程223
7.3.1概述223
7.3.2检测中断号224
7.3.3安装ISR226
7.4上半部和下半部229
7.4.1下半部的实现机制230
7.4.2软中断231
7.4.3tasklet机制232
7.4.4工作伫列234
7.4.5选择合适的下半部机制236
7.5本章小结237
思考题237
进一步阅读238
第8章字元设备和块设备驱动程式239
8.1字元设备和块设备驱动程式设计基础239
8.1.1驱动层次结构240
8.1.2设备号240
8.1.3字元设备驱动程式注册240
8.1.4块设备驱动程式注册242
8.2字元设备和块设备驱动程式结构243
8.2.1字元设备驱动程式结构243
8.2.2块设备驱动程式结构244
8.3字元设备和块设备驱动程式的核心相关数据结构245
8.4开发实例249
8.4.1字元设备驱动程式249
8.4.2块设备驱动程式252
8.5本章小结255
思考题255
进一步阅读256
第9章网路设备驱动程式257
9.1网路设备驱动程式设计基础257
9.2Linux网路设备驱动程式的结构258
9.3网路设备驱动程式的核心相关数据结构261
9.3.1net_device结构261
9.3.2sk_buffer结构266
9.4开发实例267
9.5本章小结273
思考题273
进一步阅读274
实验1Linux系统管理275
实验2剪裁核心291
实验3核心同步机制313
实验4进程间通信(记忆体映射、共享记忆体、信号量、管道和信号等)317
实验5proc档案系统325
实验6虚拟记忆体的管理331
实验7字元、块设备和网卡驱动338
参考文献343