当前位置:首页 > 工业技术
Linux操作系统分析与实践
Linux操作系统分析与实践

Linux操作系统分析与实践PDF电子书下载

工业技术

  • 电子书积分:12 积分如何计算积分?
  • 作 者:Linux系列教材编写组编写
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2008
  • ISBN:9787302186892
  • 页数:343 页
图书介绍:本书介绍了Linux操作系统分析与实践的理论与方法,全书由9章及7个实验组成。
《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什么是Linux 24

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.1 BIOS引导 54

2.7.2 LILO/GRUB引导 54

2.7.3 Kernel Boot 56

2.7.4 Init引导 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.3 Linux进程创建和结束 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.6 Linux下的同步机制 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.7 Fast User Space Mutex 92

3.6 8信号量 92

3.7 Linux下进程间通信 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.7 Linux的内存管理 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交换Cache 143

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.5 Linux文件系统 162

5.5.1虚拟文件系统 162

5.5.2文件系统注册与注销,安装与卸载 174

5.5.3文件系统的缓存机制 175

5.5.4 Ext2文件系统 177

5.5.5 proc文件系统 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.4 I/O设备的控制方式 190

6.2 I/O软件 194

6.2.1 I/O软件的分层结构 194

6.2.2中断处理程序 195

6.2.3设备驱动程序 196

6.2.4设备无关 197

6.2.5用户空间的I/O软件 199

6.2.6 I/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.5 I/O控制 208

6.5.1 I/O控制的引入 208

6.5.2 I/O控制的功能 208

6.5.3 I/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安装ISR 226

7.4上半部和下半部 229

7.4.1下半部的实现机制 230

7.4.2软中断 231

7.4.3 tasklet机制 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.2 Linux网络设备驱动程序的结构 258

9.3网络设备驱动程序的内核相关数据结构 261

9.3.1 net_device结构 261

9.3.2 sk_buffer结构 266

9.4开发实例 267

9.5本章小结 273

思考题 273

进一步阅读 274

实验1 Linux系统管理 275

实验2 剪裁内核 291

实验3 内核同步机制 313

实验4 进程间通信(内存映射、共享内存、信号量、管道和信号等) 317

实验5 proc文件系统 325

实验6 虚拟内存的管理 331

实验7 字符、块设备和网卡驱动 338

参考文献 343

相关图书
作者其它书籍
返回顶部