图书介绍

嵌入式Linux系统设计与应用【2025|PDF下载-Epub版本|mobi电子书|kindle百度云盘下载】

嵌入式Linux系统设计与应用
  • 王学龙编著 著
  • 出版社: 北京:清华大学出版社
  • ISBN:7900635998
  • 出版时间:2001
  • 标注页数:401页
  • 文件大小:19MB
  • 文件页数:416页
  • 主题词:

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

嵌入式Linux系统设计与应用PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1部分 Linux内核源代码分析3

第1章 Linux进程管理代码分析3

1.1 基本概念3

1.2 进程的状态和标志4

1.3 Linux中进程间的状态转换9

1.3.1 进程的创建9

1.3.2 进程的调度10

1.3.3 进程间通信12

1.3.4 进程从运行态到停止态的转换24

1.3.5 进程从停止态到运行态的转换25

1.3.6 进程的终止26

1.4 小结27

第2章 内存管理分析29

2.1 概述29

2.1.1 Linux内存管理的基本特点29

2.1.2 Linux内存管理的主要实现技术29

2.1.3 虚拟内存模型31

2.1.4 页面管理31

2.2 Linux内存管理数据结构35

2.2.1 32位虚拟地址35

2.2.2 Linux的多级页表结构35

2.2.3 页表项的格式36

2.2.4 动态地址映射37

2.2.5 用户进程的虚拟内存结构38

2.3 进程内存管理数据结构的建立、维护及其系统调用39

2.3.1 进程载入、创建及内存管理数据结构和链接建立39

2.3.2 缺页中断服务42

2.4 主要函数分析44

2.4.1 内存管理的主要文件44

2.4.2 内存映射文件48

2.5 小结55

第3章 虚拟文件系统56

3.1 基本概念56

3.2 VFS的数据结构57

3.2.1 VFS的超级块结构57

3.2.2 VFSinode及其相关数据结构59

3.3 高速缓存的管理60

3.3.1 缓冲区高速缓存60

3.3.2 VFSinode高速缓存66

3.3.3 VFS目录高速缓存67

3.4 VFS inode资源链69

3.4.1 资源链的组织及主要操作69

3.4.2 VFS inode的主要操作70

3.5 文件系统的管理73

3.6 文件系统的系统调用74

3.6.1 sys_open系统调用74

3.6.2 sys_close()系统调用75

3.7 小结76

第4章 EXT2文件系统77

4.1 概述77

4.2 EXT2文件系统的数据结构78

4.2.1 EXT2文件系统的物理布局78

4.2.2 EXT2文件系统的超级块结构78

4.2.3 EXT2文件系统的inode结构81

4.2.4 EXT2文件系统的组描述符83

4.3 文件管理84

4.3.1 系统打开文件表84

4.3.2 EXT2的目录项85

4.3.3 文件的访问85

4.3.4 数据块的管理86

4.4 EXT2文件系统的系统调用88

4.4.1 sys_mkdir系统调用88

4.4.2 sys_rmdir系统调用90

4.5 小结91

第5章 Linux的网络设备接口93

5.1 网络设备概述93

5.2 网络设备的数据结构95

5.3 网络设备的初始化99

5.3.1 模块初始化模式的分析99

5.3.2 启动初始化模式的分析105

5.4 网络设备的打开和关闭111

5.5 数据包的传输和接收113

5.5.1 Socket缓冲区及相关操作114

5.5.2 数据包的传输115

5.5.3 数据包的接收117

5.6 网络设备驱动程序的开发120

5.6.1 网络设备驱动程序的开发步骤120

5.6.2 设备驱动程序的开发实例120

5.7 小结126

第6章 系统调用的原理127

6.1 系统调用概述127

6.2 Linux系统调用流程127

6.2.1 Linux系统调用的中断机制127

6.2.2 相关的数据结构及函数128

6.2.3 Linux系统调用的流程136

6.3 系统调用的实例分析141

6.3.1 mlock系统调用简介141

6.3.2 mlock所用到的主要数据结构和重要常量142

6.3.3 mlock系统调用代码分析145

6.4 系统调用的创建155

6.4.1 系统调用编程155

6.4.2 系统调用的连接和使用156

6.5 小结157

第2部分 Linux系统编程161

第7章 Bash编程161

7.1 Bash的编程步骤161

7.2 Bash中的变量162

7.2.1 特殊变量163

7.2.2 Bash中的引号164

7.3 Bash中的数值运算164

7.4 Bash中的特殊语句166

7.4.1 条件语句166

7.4.2 循环语句168

7.4.3 移位语句170

7.5 在Bash中使用函数170

7.6 正则表达式171

7.6.1 句点的单字符匹配171

7.6.2 行首和行尾的匹配172

7.6.3 星号和反斜杠的使用172

7.6.4 括号匹配和指定次数匹配173

7.6.5 Bash脚本中常用的正则表达式174

7.7 Bash编程实例175

7.7.1 网络检测脚本175

7.7.2 备份脚本175

7.7.3 限制访问脚本181

7.7.4 清除日志脚本183

7.8 小结184

第8章 GNU make管理项目与Gcc编程185

8.1 make管理项目简介185

8.2 编写Makefile的规则186

8.2.1 虚拟目标187

8.2.2 Makefile的变量187

8.2.3 make的变量188

8.2.4 隐式规则189

8.2.5 模式规则190

8.3 make命令190

8.4 Makefile实例分析191

8.5 Gcc的基本概念197

8.6 Gcc命令199

8.7 Gcc扩展简介202

8.8 Gcc编程实例分析203

8.8.1 串行口通信程序203

8.8.2 网络通信程序205

8.9 小结207

第9章 GNU C++编程208

9.1 Gcc与GNU C++的比较208

9.2 GNU C++程序概述209

9.3 GNU C++的编译和调试211

9.3.1 警告与错误211

9.3.2 编译选项212

9.3.3 调试技术217

9.4 GNU C++编程特点221

9.4.1 内存管理的特点221

9.4.2 指针使用的特点222

9.4.3 异常处理的特点223

9.4.4 类对象复制的特点226

9.5 GNU C++程序实例分析227

9.5.1 接收变元的程序示例227

9.5.2 类对象复制程序示例229

9.5.3 多重继承程序示例230

9.5.4 异常处理程序示例233

9.6 小结235

第10章 多线程编程236

10.1 Linux线程简介236

10.1.1 线程的基本概念236

10.1.2 线程的实现和创建236

10.1.3 线程创建源代码237

10.2 LinuxThreads线程库242

10.2.1 pthread_create()243

10.2.2 pthread_join()243

10.2.3 pthread_self()243

10.2.4 pthread_detach()244

10.2.5 pthread_exit()244

10.2.6 pthread_cancel()244

10.3 线程间通信244

10.3.1 pthread_once()245

10.3.2 pthread_key_create()245

10.3.3 pthread_getspecific()246

10.3.4 pthread_setspecific()246

10.3.5 pthread_mutex_lock()246

10.3.6 pthread_mutex_unlock()246

10.3.7 pthread_cond_init()246

10.3.8 pthread_cond_wait()247

10.4 守护线程分析247

10.5 多线程编程实例分析249

10.5.1 X Window GUI示例程序249

10.5.2 TCP/IP服务器示例程序252

10.5.3 生产者和消费者模型示例程序257

10.5.4 同步线程测试示例程序258

10.5.5 同步线程读写缓冲区示例程序259

10.6 小结260

第3部分 建立嵌入式Linux系统263

第11章 修改和编译Linux内核263

11.1 概述263

11.2 修改Linux内核示例264

11.2.1 虚拟内存264

11.2.2 实时调度304

11.3 编译Linux内核307

11.3.1 初始化环境307

11.3.2 配置核心307

11.3.3 编译内核307

11.3.4 应用内核307

11.4 小结308

第12章 嵌入式Linux系统中的脚本控制309

12.1 Linux启动和退出过程简介309

12.2 自定义决定运行级别的脚本311

12.3 特定运行级别脚本314

12.4 自定义公共启动脚本316

12.5 自定义退出脚本330

12.6 小结334

第13章 组建嵌入式Linux系统的文件系统335

13.1 概述335

13.2 组建嵌入式Linux系统的文件系统脚本335

13.3 分析嵌入式Linux系统的文件系统337

13.4 小结340

第4部分 嵌入式Linux系统的应用343

第14章 IP电话的实现原理343

14.1 IP电话应用结构343

14.2 H.323协议栈结构及应用344

14.3 H.323系统的组成346

14.4 H.323协议实体的功能348

14.4.1 终端功能348

14.4.2 网关功能349

14.4.3 网守功能350

14.4.4 多点通信端点的功能351

14.5 相关协议简介352

14.5.1 RAS协议352

14.5.2 H.255.0353

14.5.3 H.245355

14.5.4 RTP356

14.5.5 RTCP356

14.5.6 RSVP357

14.6 小结358

第15章 利用PPCBOOT引导系统359

15.1 开发步骤简介359

15.2 开发模型360

15.3 修改PPCBOOT源代码361

15.3.1 与主板有关的文件361

15.3.2 与CPU有关的文件362

15.3.3 头文件364

15.3.4 公共函数文件368

15.3.5 网络传输代码文件371

15.3.6 Makefile文件375

15.4 PPCBoot的监视界面376

15.5 小结377

第16章 建立开发平台378

16.1 安装CDK1.2378

16.2 设置目标系统379

16.3 设置开发主机379

16.3.1 设置DHCP380

16.3.2 设置TFTP380

16.3.3 设置NFS381

16.4 测试目标系统的内核装载与引导381

16.5 开发平台的调试模型383

16.5.1 开发应用383

16.5.2 调试应用384

16.6 小结385

第17章 应用软件开发实例386

17.1 需求分析386

17.2 使用的协议栈和函数库386

17.3 应用软件源代码388

17.3.1 main.cxx388

17.3.2 main.h398

17.3.3 version.h399

17.3.4 Makefile399

17.4 小结400

参考文献401

热门推荐