当前位置:首页 > 工业技术
Linux 原理与应用
Linux 原理与应用

Linux 原理与应用PDF电子书下载

工业技术

  • 电子书积分:12 积分如何计算积分?
  • 作 者:郑鹏,曾平,丁建利著
  • 出 版 社:武汉:武汉大学出版社
  • 出版年份:2008
  • ISBN:7307060876
  • 页数:333 页
图书介绍:本书系统的介绍了Linux操作系统的进程管理、进程系统、内存管理、设备管理、文件系统以及Linux的 安装及常用命令的使用方法。
《Linux 原理与应用》目录
标签:原理 应用

第1章 Linux简介 1

1.1 什么是Linux 1

1.2 Linux的历史 2

1.3 Linux的特征 3

1.3.1 Linux的技术特点 3

1.3.2 Linux的内核特征 4

1.3.3 Linux的组成 5

1.4 Linux开发过程 8

1.5 Linux的主要发行版本 8

1.6 Linux的应用程序 10

习题 11

第2章 Linux进程管理 12

2.1 Linux进程 12

2.2 描述进程的数据结构 14

2.2.1 进程的状态和标志信息 14

2.2.2 进程的调度信息 16

2.2.3 进程的标识信息 16

2.2.4 进程的通信信息 17

2.2.5 进程的家族关系 18

2.2.6 时间和定时信息 18

2.2.7 文件系统信息 18

2.2.8 存储管理信息 20

2.2.9 CPU现场保留信息 20

2.2.10 task_struct的作用 21

2.3 Linux的进程控制 23

2.3.1 创建进程 23

2.3.2 执行进程 26

2.3.3 等待进程 27

2.3.4 终止进程 30

2.4 Linux进程调度 30

2.5 进程的虚拟内存 32

2.6 进程访问的文件 33

习题 34

第3章 Linux进程间通信 35

3.1 信号 36

3.1.1 可靠信号与不可靠信号 39

3.1.2 实时信号与非实时信号 39

3.1.3 与信号处理有关的函数 40

3.2 管道 45

3.2.1 匿名管道 46

3.2.2 有名管道 46

3.2.3 管道的实现 47

3.3 SYSTEM V进程间通信 48

3.3.1 Linux的消息 48

3.3.2 Linux共享存储区通信 52

3.3.3 Linux的信号量 54

3.4 套接字通信 56

3.4.1 有关的数据结构 57

3.4.2 套接字编程的几个重要步骤 58

习题 59

第4章 Linux内存管理 61

4.1 I386存储管理硬件 61

4.1.1 I386的分段机制 62

4.1.2 I386的分页机制 65

4.2 虚拟内存的管理 66

4.3 Linux分页机制及地址映射 70

4.4 物理内存的管理 72

4.5 内存的分配与释放 74

4.5.1 伙伴(Buddy)算法 74

4.5.2 内存分配与释放算法 76

4.6 内核内存管理 79

4.7 请求换页 82

4.7.1 Linux缺页中断的时机 82

4.7.2 Linux缺页中断处理过程 83

4.7.3 Linux缺页中断处理技术 83

4.7.4 Linux页面置换算法 84

4.8 Linux内存中的缓冲机制 84

4.8.1 缓冲区高速缓存 84

4.8.2 页高速缓存 85

4.8.3 交换高速缓存 86

4.9 Linux交换机制 86

4.9.1 减少buffer cache与page cache的大小 87

4.9.2 换出SystemV类型的内存页面 88

4.9.3 换出或者丢弃进程占用的页面 88

习题 89

第5章 Linux设备管理 90

5.1 Linux设备管理概述 90

5.1.1 设备的分类 90

5.1.2 设备驱动程序 91

5.1.3 设备的标识 92

5.1.4 设备文件 92

5.1.5 设备驱动程序和内核之间的接口 93

5.2 Linux的输入、输出控制 94

5.2.1 查询等待方式 94

5.2.2 中断方式 95

5.2.3 DMA方式 99

5.3 字符设备与块设备管理 102

5.3.1 字符设备管理 102

5.3.2 块设备管理 103

5.4 网络设备 104

5.4.1 net_device结构 105

5.4.2 Linux网络设备驱动功能的实现 111

5.4.3 sk_buff结构 113

5.5 磁盘 116

习题 119

第6章 Linux文件系统 120

6.1 Linux文件系统简介 120

6.1.1 Linux文件系统树型结构 120

6.1.2 Linux的i节点(inode) 121

6.1.3 Linux文件类型 122

6.1.4 Linux文件访问权限 122

6.1.5 Linux文件系统挂载 123

6.1.6 Linux文件系统的发展 123

6.1.7 Linux虚拟文件系统 124

6.2 第二代扩展文件系统(EXT2) 124

6.2.1 EXT2超级块 125

6.2.2 EXT2组描述符 128

6.2.3 EXT2块位图 128

6.2.4 EXT2 i节点位图和i节点 128

6.2.5 EXT2目录 132

6.3 虚拟文件系统(VFS) 132

6.3.1 VFS的工作原理 133

6.3.2 VFS超级块 137

6.3.3 VFS i节点 139

6.4 文件管理和操作 142

6.4.1 系统打开文件表 143

6.4.2 进程的文件管理 143

6.4.3 文件操作函数 145

6.4.4 进程共享文件的方法 146

6.4.5 存储空间限额管理 146

6.5 缓冲区管理 147

6.5.1 i节点缓冲 147

6.5.2 目录缓冲 148

6.5.3 块高速缓冲 148

6.6 /proc文件系统 151

6.7 设备特殊文件 152

习题 153

第7章 Linux安装与引导 154

7.1 Linux的硬件需求 154

7.1.1 了解硬件环境 154

7.1.2 Linux版本的选择与获取 155

7.1.3 安装方式 155

7.1.4 Linux启动盘制作 156

7.1.5 安装Linux的硬盘分区 156

7.2 Linux的安装过程 157

7.3 多操作系统安装 170

7.4 Linux的引导过程 170

7.5 常用的系统引导程序简介 173

7.5.1 LILO 173

7.5.2 Grub 175

7.5.3 Grub与LILO的比较 177

习题 177

第8章 Linux常用命令 178

8.1 Linux命令基础 178

8.1.1 Linux命令格式 178

8.1.2 联机帮助命令 178

8.1.3 登录及退出Linux 180

8.2 文件及目录操作命令 182

8.2.1 改变及显示目录命令 182

8.2.2 文件及目录操作命令 182

8.2.3 显示文件内容命令 186

8.2.4 文件查找及处理命令 190

8.2.5 目录及文件安全命令 194

8.3 系统状态及通信命令 196

8.3.1 用户信息命令 196

8.3.2 进程及通信命令 197

8.3.3 磁盘资源信息命令 199

8.4 其他命令 200

习题 203

第9章 vi编辑器 204

9.1 vi的工作模式 204

9.1.1 命令模式 204

9.1.2 输入模式 204

9.1.3 末行模式 205

9.2 进入和退出vi 205

9.2.1 进入vi 205

9.2.2 退出vi 206

9.3 基本的vi命令 206

9.3.1 移动光标命令 206

9.3.2 删除命令 206

9.3.3 重复及恢复命令 207

9.3.4 复制、更改及取代命令 207

9.3.5 查找与替换命令 207

9.3.6 执行Shell命令 208

9.4 vi命令的操作范围 208

9.5 编辑多个文件 209

9.6 vi应用举例 209

习题 212

第10章 Shell编程 213

10.1 Shell概述 213

10.1.1 什么是Shell 213

10.1.2 Shell的主要版本 213

10.1.3 Shell的主要功能 215

10.1.4 Shell脚本的建立及运行 215

10.2 Shell编程基础 216

10.2.1 Shell中的特殊字符 216

10.2.2 输入/输出重定向 217

10.2.3 管道及命令组合 219

10.3 Shell变量 220

10.3.1 用户自定义变量 220

10.3.2 环境变量 222

10.3.3 位置变量 223

10.3.4 特殊变量 224

10.3.5 变量替换 225

10.3.6 特殊字符的引用 227

10.4 算术运算及条件语句 228

10.4.1 变量的算术运算 228

10.4.2 条件语句 229

10.5 Shell的控制语句 232

10.5.1 退出状态 232

10.5.2 if语句 232

10.5.3 case语句 235

10.5.4 for语句 235

10.5.5 while语句 236

10.5.6 until语句 237

10.6 循环控制语句及变量作用域 238

10.6.1 循环控制语句 238

10.6.2 变量作用域 238

10.7 函数 239

10.8 Shell脚本的调试 241

习题 243

第11章 Linux系统管理 244

11.1 用户管理 244

11.1.1 用户账号 244

11.1.2 超级用户 246

11.1.3 普通用户 247

11.1.4 用户组策略 249

11.2 软件包管理工具RPM 250

11.2.1 RPM的设计目标 250

11.2.2 使用RPM 250

11.3 文件系统管理 253

11.3.1 文件系统类型 253

11.3.2 文件系统目录结构 254

11.3.3 建立文件系统 256

11.3.4 使用文件系统 257

11.3.5 磁盘限额 259

11.4 备份及恢复 263

11.4.1 备份介质 263

11.4.2 备份策略 263

11.4.3 备份工具 264

习题 269

第12章 Linux网络应用 270

12.1 Linux对网络的支持 270

12.1.1 互联网TCP/IP的基本结构 270

12.1.2 Linux网络中的层 272

12.1.3 Linux网络配置 273

12.1.4 网络配置命令 274

12.2 Web服务器 276

12.2.1 WWW服务 276

12.2.2 WWW服务器软件的比较和选择 277

12.2.3 Apache服务器安装 278

12.3 域名服务器(DNS服务器) 281

12.3.1 DNS定义 281

12.3.2 BIND简介 284

12.4 邮件服务器 288

12.4.1 电子邮件原理 289

12.4.2 几种常见的邮件服务器 291

12.4.3 Sendmail安装 291

12.5 FTP服务器 293

12.5.1 FTP的原理 293

12.5.2 常用的FTP Server 295

12.5.3 VSFTP服务器安装 296

习题 297

第13章 Linux的图形环境 298

13.1 X Window系统 298

13.1.1 X Window概述 298

13.1.2 X Window工作原理 298

13.1.3 窗口管理器及桌面系统 299

13.2 GNOME 300

13.2.1 GNOME的图形界面 300

13.2.2 GNOME的面板与桌面 301

13.2.3 GNOME的基本操作 302

13.2.4 文件管理器 304

13.2.5 GNOME首选项 307

13.2.6 应用程序 309

13.2.7 媒体播放器 310

13.3 KDE 311

13.3.1 KDE面板与桌面 311

13.3.2 KDE的基本操作 313

13.3.3 应用程序 316

习题 320

第14章 Linux编程 321

14.1 Linux下的编译工具 321

14.1.1 GCC简介 321

14.1.2 GCC的执行过程 322

14.1.3 GCC的常用选项 323

14.2 用GDB调试GCC程序 326

14.3 编程过程 327

14.4 Makefile的创建方法 328

习题 332

参考文献 333

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