- 博客(0)
- 资源 (20)
- 收藏
- 关注
C++ Primer(中文版第5版) 高清扫描版 带书签目录以及课后习题答案源码
这本久负盛名的 C++经典教程,时隔八年之久,终迎来史无前例的重大升级。除令全球无数程序员从中受益,甚至为之迷醉的——C++ 大师 Stanley B. Lippman 的丰富实践经验,C++标准委员会原负责人 Josée Lajoie 对C++标准的深入理解,以及C++ 先驱 Barbara E. Moo 在 C++教学方面的真知灼见外,更是基于全新的 C++11标准进行了全面而彻底的内容更新。非常难能可贵的是,《C++ Primer 中文版(第5版)》所有示例均全部采用 C++11 标准改写,这在经典升级版中极其罕见——充分体现了 C++ 语言的重大进展及其全面实践。书中丰富的教学辅助内容、醒目的知识点提示,以及精心组织的编程示范,让这本书在 C++ 领域的权威地位更加不可动摇。无论是初学者入门,或是中、高级程序员提升,本书均为不容置疑的首选。
目录:
第1章 开始 1
1.1 编写一个简单的C++程序 2
1.1.1 编译、运行程序 3
1.2 初识输入输出 5
1.3 注释简介 8
1.4 控制流 10
1.4.1 while语句 10
1.4.2 for语句 11
1.4.3 读取数量不定的输入数据 13
1.4.4 if语句 15
1.5 类简介 17
1.5.1 Sales_item类 17
1.5.2 初识成员函数 20
1.6 书店程序 21
小结 23
术语表 23
第Ⅰ部分 C++基础 27
第2章 变量和基本类型 29
2.1 基本内置类型 30
2.1.1 算术类型 30
2.1.2 类型转换 32
2.1.3 字面值常量 35
2.2 变量 38
2.2.1 变量定义 38
2.2.2 变量声明和定义的关系 41
2.2.3 标识符 42
2.2.4 名字的作用域 43
2.3 复合类型 45
2.3.1 引用 45
2.3.2 指针 47
2.3.3 理解复合类型的声明 51
2.4 const限定符 53
2.4.1 const的引用 54
2.4.2 指针和const 56
2.4.3 顶层const 57
2.4.4 constexpr和常量表达式 58
2.5 处理类型 60
2.5.1 类型别名 60
2.5.2 auto类型说明符 61
2.5.3 decltype类型指示符 62
2.6 自定义数据结构 64
2.6.1 定义Sales_data类型 64
2.6.2 使用Sales_data类 66
2.6.3 编写自己的头文件 67
小结 69
术语表 69
第3章 字符串、向量和数组 73
3.1 命名空间的using声明 74
3.2 标准库类型string 75
3.2.1 定义和初始化string对象 76
3.2.2 string对象上的操作 77
3.2.3 处理string对象中的字符 81
3.3 标准库类型vector 86
3.3.1 定义和初始化vector对象 87
3.3.2 向vector对象中添加元素 90
3.3.3 其他vector操作 91
3.4 迭代器介绍 95
3.4.1 使用迭代器 95
3.4.2 迭代器运算 99
3.5 数组 101
3.5.1 定义和初始化内置数组 101
3.5.2 访问数组元素 103
3.5.3 指针和数组 105
3.5.4 C风格字符串 109
3.5.5 与旧代码的接口 111
3.6 多维数组 112
小结 117
术语表 117
第4章 表达式 119
4.1 基础 120
4.1.1 基本概念 120
4.1.2 优先级与结合律 121
4.1.3 求值顺序 123
4.2 算术运算符 124
4.3 逻辑和关系运算符 126
4.4 赋值运算符 129
4.5 递增和递减运算符 131
4.6 成员访问运算符 133
4.7 条件运算符 134
4.8 位运算符 135
4.9 sizeof运算符 139
4.10 逗号运算符 140
4.11 类型转换 141
4.11.1 算术转换 142
4.11.2 其他隐式类型转换 143
4.11.3 显式转换 144
4.12 运算符优先级表 147
小结 149
术语表 149
第5章 语句 153
5.1 简单语句 154
5.2 语句作用域 155
5.3 条件语句 156
5.3.1 if语句 156
5.3.2 switch语句 159
5.4 迭代语句 165
5.4.1 while语句 165
5.4.2 传统的for语句 166
5.4.3 范围for语句 168
5.4.4 do while语句 169
5.5 跳转语句 170
5.5.1 break语句 170
5.5.2 continue语句 171
5.5.3 goto语句 172
5.6 TRY语句块和异常处理 172
5.6.1 throw表达式 173
5.6.2 try语句块 174
5.6.3 标准异常 176
小结 178
术语表 178
第6章 函数 181
6.1 函数基础 182
6.1.1 局部对象 184
6.1.2 函数声明 186
6.1.3 分离式编译 186
6.2 参数传递 187
6.2.1 传值参数 187
6.2.2 传引用参数 188
6.2.3 const形参和实参 190
6.2.4 数组形参 193
6.2.5 main:处理命令行选项 196
6.2.6 含有可变形参的函数 197
6.3 返回类型和return语句 199
6.3.1 无返回值函数 200
6.3.2 有返回值函数 200
6.3.3 返回数组指针 205
6.4 函数重载 206
6.4.1 重载与作用域 210
6.5 特殊用途语言特性 211
6.5.1 默认实参 211
6.5.2 内联函数和constexpr函数 213
6.5.3 调试帮助 215
6.6 函数匹配 217
6.6.1 实参类型转换 219
6.7 函数指针 221
小结 225
术语表 225
第7章 类 227
7.1 定义抽象数据类型 228
7.1.1 设计Sales_data类 228
7.1.2 定义改进的Sales_data类 230
7.1.3 定义类相关的非成员函数 234
7.1.4 构造函数 235
7.1.5 拷贝、赋值和析构 239
7.2 访问控制与封装 240
7.2.1 友元 241
7.3 类的其他特性 243
7.3.1 类成员再探 243
7.3.2 返回*this的成员函数 246
7.3.3 类类型 249
7.3.4 友元再探 250
7.4 类的作用域 253
7.4.1 名字查找与类的作用域 254
7.5 构造函数再探 257
7.5.1 构造函数初始值列表 258
7.5.2 委托构造函数 261
7.5.3 默认构造函数的作用 262
7.5.4 隐式的类类型转换 263
7.5.5 聚合类 266
7.5.6 字面值常量类 267
7.6 类的静态成员 268
小结 273
术语表 273
第Ⅱ部 C++标准库 275
第8章 IO库 277
8.1 IO类 278
8.1.1 IO对象无拷贝或赋值 279
8.1.2 条件状态 279
8.1.3 管理输出缓冲 281
8.2 文件输入输出 283
8.2.1 使用文件流对象 284
8.2.2 文件模式 286
8.3 string流 287
8.3.1 使用istringstream 287
8.3.2 使用ostringstream 289
小结 290
术语表 290
第9章 顺序容器 291
9.1 顺序容器概述 292
9.2 容器库概览 294
9.2.1 迭代器 296
9.2.2 容器类型成员 297
9.2.3 begin和end成员 298
9.2.4 容器定义和初始化 299
9.2.5 赋值和swap 302
9.2.6 容器大小操作 304
9.2.7 关系运算符 304
9.3 顺序容器操作 305
9.3.1 向顺序容器添加元素 305
9.3.2 访问元素 309
9.3.3 删除元素 311
9.3.4 特殊的forward_list操作 312
9.3.5 改变容器大小 314
9.3.6 容器操作可能使迭代器失效 315
9.4 vector对象是如何增长的 317
9.5 额外的string操作 320
9.5.1 构造string的其他方法 321
9.5.2 改变string的其他方法 322
9.5.3 string搜索操作 325
9.5.4 compare函数 327
9.5.5 数值转换 327
9.6 容器适配器 329
小结 332
术语表 332
第10章 泛型算法 335
10.1 概述 336
10.2 初识泛型算法 338
10.2.1 只读算法 338
10.2.2 写容器元素的算法 339
10.2.3 重排容器元素的算法 342
10.3 定制操作 344
10.3.1 向算法传递函数 344
10.3.2 lambda表达式 345
10.3.3 lambda捕获和返回 349
10.3.4 参数绑定 354
10.4 再探迭代器 357
10.4.1 插入迭代器 358
10.4.2 iostream迭代器 359
10.4.3 反向迭代器 363
10.5 泛型算法结构 365
10.5.1 5类迭代器 365
10.5.2 算法形参模式 367
10.5.3 算法命名规范 368
10.6 特定容器算法 369
小结 371
术语表 371
第11章 关联容器 373
11.1 使用关联容器 374
11.2 关联容器概述 376
11.2.1 定义关联容器 376
11.2.2 关键字类型的要求 378
11.2.3 pair类型 379
11.3 关联容器操作 381
11.3.1 关联容器迭代器 382
11.3.2 添加元素 383
11.3.3 删除元素 386
11.3.4 map的下标操作 387
11.3.5 访问元素 388
11.3.6 一个单词转换的map 391
11.4 无序容器 394
小结 397
术语表 397
第12章 动态内存 399
12.1 动态内存与智能指针 400
12.1.1 shared_ptr类 400
12.1.2 直接管理内存 407
12.1.3 shared_ptr和new结合使用 412
12.1.4 智能指针和异常 415
12.1.5 unique_ptr 417
12.1.6 weak_ptr 420
12.2 动态数组 423
12.2.1 new和数组 423
12.2.2 allocator类 427
12.3 使用标准库:文本查询程序 430
12.3.1 文本查询程序设计 430
12.3.2 文本查询程序类的定义 432
小结 436
术语表 436
第Ⅲ部分 类设计者的工具 437
第13章 拷贝控制 439
13.1 拷贝、赋值与销毁 440
13.1.1 拷贝构造函数 440
13.1.2 拷贝赋值运算符 443
13.1.3 析构函数 444
13.1.4 三/五法则 447
13.1.5 使用=default 449
13.1.6 阻止拷贝 449
13.2 拷贝控制和资源管理 452
13.2.1 行为像值的类 453
13.2.2 定义行为像指针的类 455
13.3 交换操作 457
13.4 拷贝控制示例 460
13.5 动态内存管理类 464
13.6 对象移动 470
13.6.1 右值引用 471
13.6.2 移动构造函数和移动赋值运算符 473
13.6.3 右值引用和成员函数 481
小结 486
术语表 486
第14章 操作重载与类型转换 489
14.1 基本概念 490
14.2 输入和输出运算符 494
14.2.1 重载输出运算符<< 494
14.2.2 重载输入运算符>> 495
14.3 算术和关系运算符 497
14.3.1 相等运算符 497
14.3.2 关系运算符 498
14.4 赋值运算符 499
14.5 下标运算符 501
14.6 递增和递减运算符 502
14.7 成员访问运算符 504
14.8 函数调用运算符 506
14.8.1 lambda是函数对象 507
14.8.2 标准库定义的函数对象 509
14.8.3 可调用对象与function 511
14.9 重载、类型转换与运算符 514
14.9.1 类型转换运算符 514
14.9.2 避免有二义性的类型转换 517
14.9.3 函数匹配与重载运算符 521
小结 523
术语表 523
第15章 面向对象程序设计 525
15.1 OOP:概述 526
15.2 定义基类和派生类 527
15.2.1 定义基类 528
15.2.2 定义派生类 529
15.2.3 类型转换与继承 534
15.3 虚函数 536
15.4 抽象基类 540
15.5 访问控制与继承 542
15.6 继承中的类作用域 547
15.7 构造函数与拷贝控制 551
15.7.1 虚析构函数 552
15.7.2 合成拷贝控制与继承 552
15.7.3 派生类的拷贝控制成员 554
15.7.4 继承的构造函数 557
15.8 容器与继承 558
15.8.1 编写Basket类 559
15.9 文本查询程序再探 562
15.9.1 面向对象的解决方案 563
15.9.2 Query_base类和Query类 567
15.9.3 派生类 568
15.9.4 eval函数 571
小结 575
术语表 575
第16章 模板与泛型编程 577
16.1 定义模板 578
16.1.1 函数模板 578
16.1.2 类模板 583
16.1.3 模板参数 592
16.1.4 成员模板 595
16.1.5 控制实例化 597
16.1.6 效率与灵活性 599
16.2 模板实参推断 600
16.2.1 类型转换与模板类型参数 601
16.2.2 函数模板显式实参 603
16.2.3 尾置返回类型与类型转换 604
16.2.4 函数指针和实参推断 607
16.2.5 模板实参推断和引用 608
16.2.6 理解std::move 610
16.2.7 转发 612
16.3 重载与模板 614
16.4 可变参数模板 618
16.4.1 编写可变参数函数模板 620
16.4.2 包扩展 621
16.4.3 转发参数包 622
16.5 模板特例化 624
小结 630
术语表 630
第Ⅳ部分 高级主题 633
第17章 标准库特殊设施 635
17.1 tuple类型 636
17.1.1 定义和初始化tuple 637
17.1.2 使用tuple返回多个值 638
17.2 BITSET类型 640
17.2.1 定义和初始化bitset 641
17.2.2 bitset操作 643
17.3 正则表达式 645
17.3.1 使用正则表达式库 646
17.3.2 匹配与Regex迭代器类型 650
17.3.3 使用子表达式 653
17.3.4 使用regex_replace 657
17.4 随机数 659
17.4.2 其他随机数分布 663
bernoulli_distribution类 665
17.5 IO库再探 666
17.5.1 格式化输入与输出 666
17.5.2 未格式化的输入/输出操作 673
17.5.3 流随机访问 676
小结 680
术语表 680
第18章 用于大型程序的工具 683
18.1 异常处理 684
18.1.1 抛出异常 684
18.1.2 捕获异常 687
18.1.3 函数try语句块与构造函数 689
18.1.4 noexcept异常说明 690
18.1.5 异常类层次 693
18.2 命名空间 695
18.2.1 命名空间定义 695
18.2.2 使用命名空间成员 701
18.2.3 类、命名空间与作用域 705
18.2.4 重载与命名空间 708
18.3 多重继承与虚继承 710
18.3.1 多重继承 711
18.3.2 类型转换与多个基类 713
18.3.3 多重继承下的类作用域 715
18.3.4 虚继承 717
18.3.5 构造函数与虚继承 720
小结 722
术语表 722
第19章 特殊工具与技术 725
19.1 控制内存分配 726
19.1.1 重载new和delete 726
19.1.2 定位new表达式 729
19.2 运行时类型识别 730
19.2.1 dynamic_cast运算符 730
19.2.2 typeid运算符 732
19.2.3 使用RTTI 733
19.2.4 type_info类 735
19.3 枚举类型 736
19.4 类成员指针 739
19.4.1 数据成员指针 740
19.4.2 成员函数指针 741
19.4.3 将成员函数用作可调用对象 744
19.5 嵌套类 746
19.6 union:一种节省空间的类 749
19.7 局部类 754
19.8 固有的不可移植的特性 755
19.8.1 位域 756
19.8.2 volatile限定符 757
19.8.3 链接指示:extern "C" 758
小结 762
术语表 762
附录A 标准库 765
2018-04-07
汇编语言(第3版) 王爽 高清扫描版 带完整书签目录加课后习题答案的pdf
《汇编语言(第3版)》是我国计算机科学教育领域的-部重要的经典著作。
《汇编语言(第3版)》可用作大学计算机专业本科生的汇编教材及希望深入学习计算机科学的读者的自学教材。本书自出版以来,受到业内专家和高校教师、广大计算机专业学生和计算机科学与技术学习者的热烈欢迎和高度评价。100多所高校用作教材,取得了非常好的教学效果。很多人在网络上将其与国外同专业名著相并列向广大读者推荐。本书很大程渡地推动了我国计算机科学与技术教育的发展。
《汇编语言(第3版)》出版10年连续印刷了30次,成为本专业学生和广大学习者的必读书。为满足新的出版需要,本社特请王爽老师对此书的第2版进行了修订,出版第3版,以飨读者。书评赏析本书是国内原创的极少的经典书籍,通俗易懂,高屋建瓴,实践和理论相结合,看完之后对于许多知识点有种豁然开朗的感觉。这本书完全是-切以学生为中心的,活泼生趣,讲得非常不错!要是我们的课本都是这么样就好了,不像有些教材写得那么晦涩难懂、就像看古文-样。要学汇编这本书是必不可少的!
《汇编语言(第3版)》很好地把握了“教”与“学”的关系,确实是一本独-无二的汇编书籍,能极好地激发学习汇编的热情和勇气。想深入学习汇编语言的,这本教材是一个很好的选择,它打破了传统教材的教学顺序,但是能极大保证读者每章都能明白,做到真正的循序渐进。好久没有看到一本这么适合初学者的书了,作者的用心是良苦的。作者在排版、布局和知识点方面都下了功夫,而且是大功夫,以至于全书的结构如此精良,能让初学者在短时间内上手,不会感到一丝吃力。非常值得推荐!王爽老师的这本书写得是很有思想的,是一种教育的思想而不是单纯的知识积累。它能和国外经典教材并称于世绝非偶然,相信它能帮助每一个学习者更好地学习理解汇编语言。
目录:
第1章 基础知识
1.1 机器语言
1.2 汇编语言的产生
1.3 汇编语言的组成
1.4 存储器
1.5 指令和数据
1.6 存储单元
1.7 CPU对存储器的读写
1.8 地址总线
1.9 数据总线
1.10 控制总线
1.11 内存地址空间(概述)
1.12 主板
1.13 接口卡
1.14 各类存储器芯片
1.15 内存地址空间
第2章 寄存器
2.1通用寄存器
2.2字在寄存器中的存储
2.3几条汇编指令
2.4物理地址
2.516位结构的CPU
2.68086CPU给出物理地址的方法
2.7“段地址×16+偏移地址=物理地址”
的本质含义
2.8段的概念
2.9段寄存器
2.10CS和IP
2.11修改CS、IP的指令
2.12代码段
实验1查看CPU和内存,用机器指令
和汇编指令编程
第3章寄存器(内存访问)
3.1内存中字的存储
3.2DS和(address)
3.3字的传送
3.4mov、add、sub指令
3.5数据段
3.6栈
3.7CPU提供的栈机制
3.8栈顶超界的问题
3.9push、pop指令
3.10栈段
实验2用机器指令和汇编指令编程
第4章第一个程序
4.1一个源程序从写出到执行的过程
4.2源程序
4.3编辑源程序
4.4编译
4.5连接
4.6以简化的方式进行编译和连接
4.71.exe的执行
4.8谁将可执行文件中的程序装载进入
内存并使它运行?
4.9程序执行过程的跟踪
实验3编程、编译、连接、跟踪
第5章(BX)和loop指令
5.1(BX)
5.2Loop指令
5.3在Debug中跟踪用loop指令实现的
循环程序
5.4Debug和汇编编译器masm对指令的
不同处理
5.5loop和(bx)的联合应用
5.6段前缀
5.7一段安全的空间
5.8段前缀的使用
实验4(bx)和loop的使用
第6章 包含多个段的程序
6.1在代码段中使用数据
6.2在代码段中使用栈
6.3将数据、代码、栈放入不同的段
实验5编写、调试具有多个段的程序
第7章更灵活的定位内存地址的
方法
7.1anol和or指令
7.2关于ASCII码
7.3以字符形式给出的数据
7.4大小写转换的问题
7.5(bx+idata)
7.6用(bx+idata)的方式进行数组的
处理
7.7SI和DI
7.8(bx+si)和(bx+di)
7.9(bx+si+idata)和(bx+di+idata)
7.10不同的寻址方式的灵活应用
实验6实践课程中的程序
第8章数据处理的两个基本问题
8.1bx、si、di和bp
8.2机器指令处理的数据在什么地方
8.3汇编语言中数据位置的表达
8.4寻址方式
8.5指令要处理的数据有多长
8.6寻址方式的综合应用
8.7div指令
8.8伪指令dd
8.9dup
实验7寻址方式在结构化数据访问中的
应用
第9章转移指令的原理
9.1操作符offset
9.2jmp指令
9.3依据位移进行转移的jmp指令
9.4转移的目的地址在指令中的jmp
指令
9.5转移地址在寄存器中的jmp指令
9.6转移地址在内存中的jmp指令
9.7jcxz指令
9.8loop指令
9.9根据位移进行转移的意义
9.10编译器对转移位移超界的检测
实验8分析一个奇怪的程序
实验9根据材料编程
第10章CALL和RET指令
10.1ret和retf
10.2call指令
10.3依据位移进行转移的call指令
10.4转移的目的地址在指令中的call
指令
10.5转移地址在寄存器中的call指令
10.6转移地址在内存中的call指令
10.7call和ret的配合使用
10.8mul指令
10.9模块化程序设计
10.10参数和结果传递的问题
10.11批量数据的传递
10.12寄存器冲突的问题
实验10编写子程序
课程设计1
第11章标志寄存器
11.1ZF标志
11.2PF标志
11.3SF标志
11.4CF标志
11.5OF标志
11.6adc指令
11.7sbb指令
11.8cmp指令
11.9检测比较结果的条件转移指令
11.10DF标志和串传送指令
11.11pushf和popf
11.12标志寄存器在Debug中的表示
实验11编写子程序
第12章内中断
12.1内中断的产生
12.2中断处理程序
12.3中断向量表
12.4中断过程
12.5中断处理程序和iret指令
12.6除法错误中断的处理
12.7编程处理0号中断
12.8安装
12.9do0
12.10设置中断向量
12.11单步中断
12.12响应中断的特殊情况
实验12编写0号中断的处理程序
第13章int指令
13.1int指令
13.2编写供应用程序调用的
中断例程
13.3对int、iret和栈的深入理解
13.4BIOS和DOS所提供的
中断例程
13.5BIOS和DOS中断例程的
安装过程
13.6BIOS中断例程应用
13.7DOS中断例程应用
实验13编写、应用中断例程
第14章端口
14.1端口的读写
14.2CMOS RAM芯片
14.3shl和shr指令
14.4CMOS RAM中存储的时间信息
实验14访问CMOS RAM
第15章外中断
15.1接口芯片和端口
15.2外中断信息
15.3PC机键盘的处理过程
15.4编写int 9中断例程
15.5安装新的int 9中断例程
实验15安装新的int 9中断例程
第16章直接定址表
16.1描述了单元长度的标号
16.2在其他段中使用数据标号
16_3直接定址表
16.4程序入口地址的直接定址表
实验16编写包含多个功能子程序的
中断例程
第17章使用BIOS进行键盘输入
和磁盘读写
17.1int 9中断例程对键盘输入的处理
17.2使用int 16h中断例程读取
键盘缓冲区
17.3字符串的输入
17.4应用int 13h中断例程对磁盘
进行读写
实验17编写包含多个功能子程序的
中断例程
课程设计2
综合研究
研究试验1搭建一个精简的C语言
开发环境
研究试验2使用寄存器
研究试验3使用内存空间
研究试验4不用main函数编程
研究试验5函数如何接收不定数量的
参数
附注
附注1Intel系列微处理器的3种工作
模式
附注2补码
附注3汇编编译器(masm.exe)对jmp的
相关处理
附注4用栈传递参数
附注5公式证明
2018-04-06
C程序设计 第四版 谭浩强 高清扫描版 带完整书签目录 加 学习辅导
包括C程序设计(第四版)的高清扫描版pdf以及与该书配套的学习辅导一书的pdf。
《C程序设计(第四版)》是由谭浩强教授著、清华大学出版社出版的《C程序设计》是一本公认的学习C语言程序设计的经典教材。根据C语言的发展和计算机教学的需要,作者在《C程序设计(第三版)》的基础上进行了修订。本书按照C语言的新标准C 99进行介绍,所有程序都符合C 99的规定,使编写程序更加规范;对C语言和程序设计的基本概念和要点讲解透彻,全面而深入;按照作者提出的“提出问题—解决问题—归纳分析”三部曲进行教学、组织教材;本书的每个例题都按以下几个步骤展开:提出任务—解题思路—编写程序—运行程序—程序分析—有关说明。符合读者认知规律,容易入门与提高。
本书内容先进,体系合理,概念清晰,讲解详尽,降低台阶,分散难点,例题丰富,深入浅出,文字流畅,通俗易懂,是初学者学习C程序设计的理想教材,可作为高等学校各专业的正式教材,也是一本自学的好教材。本书还配有辅助教材《C程序设计(第四版)学习辅导》。
《C程序设计(第四版)学习辅导.pdf》共分4个部分
第1部分是《C程序设计(第四版)》一书的习题和参考解答,包括了该书各章的全部习题,对全部编程习题都给出了参考解答,共计132个程序;
第2部分是深入学习C程序设计,包括预处理指令、位运算和C程序案例;
第3部分是上机指南,详细介绍了Visual C++ 6.0集成环境下编辑、编译、调试和运行程序的方法;
第4部分是上机实验指导,包括程序的调试与测试、实验的目的与要求,并提供了本课程12个实验。
《C程序设计(第四版)》目录:
第1章 程序设计和C语言
1.1 什么是计算机程序
1.2 什么是计算机语言
1.3 C语言的发展及其特点
1.4 最简单的C语言程序
1.4.1 最简单的C语言程序举例
1.4.2 C语言程序的结构
1.5 运行C程序的步骤与方法
1.6 程序设计的任务
习题
第2章 算法——程序的灵魂
2.1 什么是算法
2.2 简单的算法举例
2.3 算法的特性
2.4 怎样表示一个算法
2.4.1 用自然语言表示算法
2.4.2 用流程图表示算法
2.4.3 三种基本结构和改进的流程图
2.4.4 用N?S流程图表示算法
2.4.5 用伪代码表示算法
2.4.6 用计算机语言表示算法
2.5 结构化程序设计方法
习题
第3章 最简单的C程序设计——顺序程序设计
3.1 顺序程序设计举例
3.2 数据的表现形式及其运算
3.2.1 常量和变量
3.2.2 数据类型
3.2.3 整型数据
3.2.4 字符型数据
3.2.5 浮点型数据
3.2.6 怎样确定常量的类型
3.2.7 运算符和表达式
3.3 C语句
3.3.1 C语句的作用和分类
3.3.2 最基本的语句——赋值语句
3.4 数据的输入输出
3.4.1 输入输出举例
3.4.2 有关数据输入输出的概念
3.4.3 用printf函数输出数据
3.4.4 用scanf函数输入数据
3.4.5 字符数据的输入输出
习题
第4章 选择结构程序设计
4.1 选择结构和条件判断
4.2 用if语句实现选择结构
4.2.1 用if语句处理选择结构举例
4.2.2 if语句的一般形式
4.3 关系运算符和关系表达式
4.3.1 关系运算符及其优先次序
4.3.2 关系表达式
4.4 逻辑运算符和逻辑表达式
4.4.1 逻辑运算符及其优先次序
4.4.2 逻辑表达式
4.4.3 逻辑型变量
4.5 条件运算符和条件表达式
4.6 选择结构的嵌套
4.7 用switch语句实现多分支选择结构
4.8 选择结构程序综合举例
习题
第5章 循环结构程序设计
5.1 为什么需要循环控制
5.2 用while语句实现循环
5.3 用do…while语句实现循环
5.4 用for语句实现循环
5.5 循环的嵌套
5.6 几种循环的比较
5.7 改变循环执行的状态
5.7.1 用break语句提前终止循环
5.7.2 用continue语句提前结束本次循环
5.7.3 break语句和continue语句的区别
5.8 循环程序举例
习题
第6章 利用数组处理批量数据
6.1 怎样定义和引用一维数组
6.1.1 怎样定义一维数组
6.1.2 怎样引用一维数组元素
6.1.3 一维数组的初始化
6.1.4 一维数组程序举例
6.2 怎样定义和引用二维数组
6.2.1 怎样定义二维数组
6.2.2 怎样引用二维数组的元素
6.2.3 二维数组的初始化
6.2.4 二维数组程序举例
6.3 字符数组
6.3.1 怎样定义字符数组
6.3.2 字符数组的初始化
6.3.3 怎样引用字符数组中的元素
6.3.4 字符串和字符串结束标志
6.3.5 字符数组的输入输出
6.
2018-04-06
Linux内核设计与实现(第三版-中文版) 高清扫描版 带完整书签目录
《Linux内核设计与实现(原书第3版)》基于Linux 2.6.34内核详细介绍了Linux内核系统,覆盖了从核心内核系统的应用到内核设计与实现等各方面的内容。《Linux内核设计与实现(原书第3版)》主要内容包括:进程管理、进程调度、时间管理和定时器、系统调用接口、内存寻址、内存管理和页缓存、VFS、内核同步以及调试技术等。同时《Linux内核设计与实现(原书第3版)》也涵盖了Linux 2.6内核中颇具特色的内容,包括CFS调度程序、抢占式内核、块I/O层以及I/O调度程序等。《Linux内核设计与实现(原书第3版)》采用理论与实践相结合的路线,能够带领读者快速走进Linux内核世界,真正开发内核代码。《Linux内核设计与实现(原书第3版)》适合作为高等院校操作系统课程的教材或参考书,也可供相关技术人员参考。
如果你是一名linux内核爱好者,本书的内容可以帮助你大显身手。如果你是一名普通程序员,本书的内容将会拓宽你的编程思路。如果你初次接触linux内核,本书则可以帮助你对内核各个核心子系统有一个整体把握。
目录:
译者序
序言
前言
作者简介
第1章 Linux内核简介1
1.1 Unix的历史1
1.2 追寻Linus足迹:Linux简介2
1.3 操作系统和内核简介3
1.4 Linux内核和传统Unix内核的比较5
1.5 Linux内核版本7
1.6 Linux内核开发者社区8
1.7 小结8
第2章 从内核出发10
2.1 获取内核源码10
2.1.1 使用Git10
2.1.1 安装内核源代码10
2.1.3 使用补丁11
2.2 内核源码树11
2.3 编译内核12
2.3.1 配置内核12
2.3.2 减少编译的垃圾信息14
2.3.3 衍生多个编译作业 14
2.3.4 安装新内核14
2.4 内核开发的特点15
2.4.1 无libc库抑或无标准头文件15
2.4.2 GNU C16
2.4.3 没有内存保护机制18
2.4.4 不要轻易在内核中使用浮点数18
2.4.5 容积小而固定的栈18
2.4.6 同步和并发18
2.4.7 可移植性的重要性19
2.5 小结19
第3章 进程管理20
3.1 进程20
3.2 进程描述符及任务结构 21
3.2.1 分配进程描述符22
3.2.2 进程描述符的存放23
3.2.3 进程状态23
3.2.4 设置当前进程状态25
3.2.5 进程上下文25
3.2.6 进程家族树25
3.3 进程创建26
3.3.1 写时拷贝27
3.3.2 fork()27
3.3.3 vfork()28
3.4 线程在Linux中的实现28
3.4.1 创建线程29
3.4.2 内核线程30
3.5 进程终结31
3.5.1 删除进程描述符32
3.5.2 孤儿进程造成的进退维谷32
3.6 小结34
第4章 进程调度35
4.1 多任务35
4.2 Linux 的进程调度36
4.3 策略36
4.3.1 I/O消耗型和处理器消耗型的进程36
4.3.2 进程优先级37
4.3.3 时间片38
4.3.4 调度策略的活动38
4.4 Linux调度算法39
4.4.1 调度器类39
4.4.2 Unix 系统中的进程调度40
4.4.3 公平调度41
4.5 Linux调度的实现42
4.5.1 时间记账42
4.5.2 进程选择44
4.5.3 调度器入口48
4.5.4 睡眠和唤醒49
4.6 抢占和上下文切换51
4.6.1 用户抢占53
4.6.2 内核抢占53
4.7 实时调度策略54
4.8 与调度相关的系统调用54
4.8.1 与调度策略和优先级相关的系统调用55
4.8.2 与处理器绑定有关的系统调用55
4.8.3 放弃处理器时间56
4.9 小结56
第5章 系统调用57
5.1 与内核通信57
5.2 API、POSIX和C库57
5.3 系统调用58
5.3.1 系统调用号59
5.3.2 系统调用的性能59
5.4 系统调用处理程序60
5.4.1 指定恰当的系统调用60
5.4.2 参数传递60
5.5 系统调用的实现61
5.5.1 实现系统调用61
5.5.2 参数验证62
5.6 系统调用上下文64
5.6.1 绑定一个系统调用的最后步骤65
5.6.2 从用户空间访问系统调用67
5.6.3 为什么不通过系统调用的方式实现68
5.7 小结68
第6章 内核数据结构69
6.1 链表69
6.1.1 单向链表和双向链表69
6.1.2 环形链表70
6.1.3 沿链表移动71
6.1.4 Linux 内核中的实现71
6.1.5 操作链表73
6.1.6 遍历链表75
6.2 队列78
6.2.1 kfifo79
6.2.2 创建队列79
6.2.3 推入队列数据79
6.2.4 摘取队列数据80
6.2.5 获取队列长度80
6.2.6 重置和撤销队列80
6.2.7 队列使用举例 81
6.3 映射 81
6.3.1 初始化一个idr82
6.3.2 分配一个新的UID82
6.3.3 查找UID83
6.3.4 删除UID84
6.3.5 撤销idr84
6.4 二叉树84
6.4.1 二叉搜索树84
6.4.2 自平衡二叉搜索树 85
6.5 数据结构以及选择 87
6.6 算法复杂度88
6.6.1 算法88
6.6.2 大o 符号88
6.6.3 大θ符号89
6.6.4 时间复杂度89
6.7 小结 90
第7章 中断和中断处理91
7.1 中断91
7.2 中断处理程序92
7.3 上半部与下半部的对比93
7.4 注册中断处理程序93
7.4.1 中断处理程序标志94
7.4.2 一个中断例子95
7.4.3 释放中断处理程序95
7.5 编写中断处理程序96
7.5.1 共享的中断处理程序97
7.5.2 中断处理程序实例97
7.6 中断上下文99
7.7 中断处理机制的实现100
7.8 /proc/interrupts102
7.9 中断控制103
7.9.1 禁止和激活中断103
7.9.2 禁止指定中断线105
7.9.3 中断系统的状态105
7.10 小结106
第8章 下半部和推后执行的工作107
8.1 下半部107
8.1.1 为什么要用下半部108
8.1.2 下半部的环境108
8.2 软中断110
8.2.1 软中断的实现111
8.2.2 使用软中断113
8.3 tasklet114
8.3.1 tasklet的实现114
8.3.2 使用tasklet116
8.3.3 老的BH机制119
8.4 工作队列120
8.4.1 工作队列的实现121
8.4.2 使用工作队列124
8.4.3 老的任务队列机制126
8.5 下半部机制的选择127
8.6 在下半部之间加锁128
8.7 禁止下半部128
8.8 小结129
第9章 内核同步介绍131
9.1 临界区和竞争条件131
9.1.1 为什么我们需要保护132
9.1.2 单个变量133
9.2 加锁134
9.2.1 造成并发执行的原因135
9.2.2 了解要保护些什么136
9.3 死锁137
9.4 争用和扩展性138
9.5 小结140
第10章 内核同步方法141
10.1 原子操作141
10.1.1 原子整数操作142
10.1.2 64位原子操作144
10.1.3 原子位操作145
10.2 自旋锁147
10.2.1 自旋锁方法148
10.2.2 其他针对自旋锁的操作149
10.2.3 自旋锁和下半部150
10.3 读-写自旋锁150
10.4 信号量152
10.4.1 计数信号量和二值信号量153
10.4.2 创建和初始化信号量154
10.4.3 使用信号量154
10.5 读-写信号量155
10.6 互斥体156
10.6.1 信号量和互斥体158
10.6.2 自旋锁和互斥体158
10.7 完成变量158
10.8 BLK:大内核锁159
10.9 顺序锁160
10.10 禁止抢占161
10.11 顺序和屏障162
10.12 小结165
第11章 定时器和时间管理166
11.1 内核中的时间概念166
11.2 节拍率:HZ167
11.2.1 理想的HZ值168
11.2.2 高HZ的优势169
11.2.3 高HZ的劣势169
11.3 jiffies170
11.3.1 jiffies的内部表示171
11.3.2 jiffies 的回绕172
11.3.3 用户空间和HZ173
11.4 硬时钟和定时器174
11.4.1 实时时钟174
11.4.2 系统定时器174
11.5 时钟中断处理程序174
11.6 实际时间176
11.7 定时器178
11.7.1 使用定时器178
11.7.2 定时器竞争条件180
11.7.3 实现定时器180
11.8 延迟执行181
11.8.1 忙等待181
11.8.2 短延迟182
11.8.3 schedule_timeout()183
11.9 小结185
第12章 内存管理186
12.1 页186
12.2 区187
12.3 获得页189
12.3.1 获得填充为0的页190
12.3.2 释放页191
12.4 kmalloc()191
12.4.1 gfp_mask标志192
12.4.2 kfree()195
12.5 vmalloc()196
12.6 slab层197
12.6.1 slab层的设计198
12.6.2 slab分配器的接口200
12.7 在栈上的静态分配203
12.7.1 单页内核栈203
12.7.2 在栈上光明正大地工作203
12.8 高端内存的映射204
12.8.1 永久映射204
12.8.2 临时映射204
12.9 每个CPU的分配20512.10 新的每个CPU接口206
12.10.1 编译时的每个CPU数据206
12.10.2 运行时的每个CPU数据207
12.11 使用每个CPU数据的原因208
12.12 分配函数的选择209
12.13 小结209
第13章 虚拟文件系统210
13.1 通用文件系统接口210
13.2 文件系统抽象层211
13.3 Unix文件系统212
13.4 VFS 对象及其数据结构213
13.5 超级块对象214
13.6 超级块操作215
13.7 索引节点对象217
13.8 索引节点操作219
13.9 目录项对象222
13.9.1 目录项状态222
13.9.2 目录项缓存223
13.10 目录项操作224
13.11 文件对象225
13.12 文件操作226
13.13 和文件系统相关的数据结构230
13.14 和进程相关的数据结构232
13.15 小结233
第14章 块I/O层234
14.1 剖析一个块设备234
14.2 缓冲区和缓冲区头235
14.3 bio结构体237
14.3.1 I/O向量238
14.3.2 新老方法对比239
14.4 请求队列240
14.5 I/O调度程序240
14.5.1 I/O调度程序的工作241
14.5.2 Linus 电梯241
14.5.3 最终期限I/O调度程序242
14.5.4 预测I/O调度程序244
14.5.5 完全公正的排队I/O调度程序244
14.5.6 空操作的I/O调度程序245
14.5.7 I/O调度程序的选择245
14.6 小结246
第15章 进程地址空间247
15.1 地址空间247
15.2 内存描述符248
15.2.1 分配内存描述符249
15.2.2 撤销内存描述符250
15.2.3 mm_struct 与内核线程250
15.3 虚拟内存区域251
15.3.1 VMA标志251
15.3.2 VMA 操作253
15.3.3 内存区域的树型结构和内存区域的链表结构254
15.3.4 实际使用中的内存区域254
15.4 操作内存区域255
15.4.1 find_vma()256
15.4.2 find_vma_prev()257
15.4.3 find_vma_intersection()257
15.5 mmap()和do_mmap():创建地址区间258
15.6 mummap()和do_mummap():删除地址区间259
15.7 页表260
15.8 小结261
第16章 页高速缓存和页回写262
16.1 缓存手段262
16.1.1 写缓存262
16.1.2 缓存回收263
16.2 Linux 页高速缓存264
16.2.1 address_space对象264
16.2.2 address_space 操作266
16.2.3 基树267
16.2.4 以前的页散列表268
16.3 缓冲区高速缓存268
16.4 flusher线程268
16.4.1 膝上型计算机模式270
16.4.2 历史上的bdflush、kupdated 和pdflush270
16.4.3 避免拥塞的方法:使用多线程271
16.5 小结271
第17章 设备与模块273
17.1 设备类型273
17.2 模块274
17.2.1 Hello,World274
17.2.2 构建模块275
17.2.3 安装模块277
17.2.4 产生模块依赖性277
17.2.5 载入模块278
17.2.6 管理配置选项279
17.2.7 模块参数280
17.2.8 导出符号表282
17.3 设备模型283
17.3.1 kobject283
17.3.2 ktype284
17.3.3 kset285
17.3.4 kobject、ktype和kset的相互关系285
17.3.5 管理和操作kobject286
17.3.6 引用计数287
17.4 sysfs288
17.4.1 sysfs中添加和删除kobject 290
17.4.2 向sysfs中添加文件291
17.4.3 内核事件层293
17.5 小结294
第18章 调试295
18.1 准备开始295
18.2 内核中的bug296
18.3 通过打印来调试296
18.3.1 健壮性296
18.3.2 日志等级297
18.3.3 记录缓冲区298
18.3.4 syslogd和klogd298
18.3.5 从printf()到printk()的转换298
18.4 oops298
18.4.1 ksymoops300
18.4.2 kallsyms300
18.5 内核调试配置选项301
18.6 引发bug并打印信息301
18.7 神奇的系统请求键302
18.8 内核调试器的传奇303
18.8.1 gdb303
18.8.2 kgdb304
18.9 探测系统304
18.9.1 用UID作为选择条件304
18.9.2 使用条件变量305
18.9.3 使用统计量305
18.9.4 重复频率限制305
18.10 用二分查找法找出引发罪恶的变更306
18.11 使用Git进行二分搜索307
18.12 当所有的努力都失败时:社区308
18.13 小结308
第19章 可移植性309
19.1 可移植操作系统309
19.2 Linux移植史310
19.3 字长和数据类型311
19.3.1 不透明类型313
19.3.2 指定数据类型314
19.3.3 长度明确的类型314
19.3.4 char型的符号问题315
19.4 数据对齐315
19.4.1 避免对齐引发的问题316
19.4.2 非标准类型的对齐316
19.4.3 结构体填补316
19.5 字节顺序318
19.6 时间319
19.7 页长度320
19.8 处理器排序320
19.9 SMP、内核抢占、高端内存321
19.10 小结321
第20章 补丁、开发和社区322
20.1 社区322
20.2 Linux编码风格322
20.2.1 缩进323
20.2.2 switch 语句323
20.2.3 空格324
20.2.4 花括号325
20.2.5 每行代码的长度326
20.2.6 命名规范326
20.2.7 函数326
20.2.8 注释326
20.2.9 typedef327
20.2.10 多用现成的东西328
20.2.11 在源码中减少使用ifdef328
20.2.12 结构初始化328
20.2.13 代码的事后修正329
20.3 管理系统329
20.4 提交错误报告329
20.5 补丁330
20.5.1 创建补丁330
20.5.2 用Git创建补丁331
20.5.3 提交补丁331
20.6 小结332
参考资料333
2018-04-06
Shell脚本专家指南
《Shell脚本专家指南》是人民邮电出版社出版的图书,全书分为3个部分:脚本技术基础、系统交互和高级技术、有用的脚本实例。
本书旨在为Linux、Unix以及OS X系统管理员提供短小精悍且功能强大的shell实现解决方案,教会读者如何使用现有调试器调试shell脚本。
本书面向中高级的shell程序员,以及需要解决日常问题的系统管理员,但假定读者能够读懂一般的shell代码。
目录:
第1部分 基本脚本编程技术
第1章 shell脚本的错误检测
1.1 shell跟踪选项
1.2 简单输出语句
1.3 根据调试层次控制输出
1.4 用函数简化错误检查
1.5 手动单步执行
第2章 标准函数库
第3章 日期和时间操作
第4章 比较和测试
第5章 接受命令行选项、开关和参数
第6章 测试变量和设置默认值
第7章 非直接引用变量
第8章 shell进程树
第9章 数据重定向
第10章 管道输入读
第2部分 系统交互与高级技术
第11章 shell中的数学
第12章 cron
第13章 自链接脚本
第14章 对并行进程的数量控制
第15章 命令行编辑和历史命令
第16章 从命令行编写脚本
第17章 用expect实现用户输出自动化
第18章 用户输入超时
第19章 即时键盘响应
第20章 目录的复制
第21章 X显示环境概述
第22章 X导航窗口
第23章 命令行电子邮件附件
第24章 单行文本处理
第25章 在适当的位置编辑文件
第26章 平面文件中的变量赋值
第27章 读取管道输入
第28章 使用cat的自由格式输出
第29章 自动交互处理
第3部分 有用的脚本实例
第30章 使用procmail自动处理邮件
第31章 进程管理监视器
第32章 管理文件的计数
第33章 从inittab执行进程
第34章 自动RCS
第35章 带颜色的/proc报告
第36章 口令老化通知
第37章 伪shadow文件
第38章 搭建Linux金系统
第39章 系统快照
第40章 删除大文件和日志滚动
第41章 核心探测器
第42章 网络适配器故障转移
附录A 测试开关
附录B 特殊参数
附录C shell脚本编程的其他资源
2018-04-04
学习ARM汇编的经典参考资料
学习ARM汇编指令的经典资料。 对ARM的各种汇编指令进行了深入全面的讲解,并给出了各种示例和详细注解,并且还对一些值得注意的点或是容易犯错误的地方进行了总结。
目录
前言................................................................................................................................................................i
目录................................................................................................................................................................I
ARM7TDMI(-S)指令集及汇编....................................................................................................................1
ARM处理器寻址方式..........................................................................................................................2
寄存器寻址....................................................................................................................................2
立即寻址........................................................................................................................................2
寄存器偏移寻址............................................................................................................................2
寄存器间接寻址............................................................................................................................3
基址寻址........................................................................................................................................3
多寄存器寻址................................................................................................................................4
堆栈寻址........................................................................................................................................4
块拷贝寻址....................................................................................................................................5
相对寻址........................................................................................................................................5
指令集介绍............................................................................................................................................7
ARM指令集..................................................................................................................................7
指令格式................................................................................................................................7
第2个操作数................................................................................................................7
#immed_8r...........................................................................................................7
Rm..........................................................................................................................8
Rm,shift..................................................................................................................8
条件码............................................................................................................................9
ARM存储器访问指令........................................................................................................11
LDR和STR........................................................................................................11
LDM和STM.......................................................................................................14
SWP.....................................................................................................................17
ARM数据处理指令............................................................................................................19
数据传送指令..............................................................................................................20
MOV............................................................................................................20
MVN............................................................................................................20
算术逻辑运算指令......................................................................................................20
ADD.............................................................................................................20
SUB..............................................................................................................21
RSB..............................................................................................................21
ADC.............................................................................................................21
SBC..............................................................................................................21
RSC..............................................................................................................22
AND.............................................................................................................22
ORR..............................................................................................................22
EOR..............................................................................................................22
BIC...............................................................................................................23
比较指令......................................................................................................................23
CMP.............................................................................................................23
CMN.............................................................................................................23
TST...............................................................................................................24
TEQ..............................................................................................................24
乘法指令......................................................................................................................25
MUL.............................................................................................................25
MLA.............................................................................................................25
UMULL........................................................................................................25
UMLAL........................................................................................................26
SMULL........................................................................................................26
SMLAL........................................................................................................26
ARM跳转指令....................................................................................................................27
B...........................................................................................................................27
BL.........................................................................................................................27
BX........................................................................................................................27
ARM协处理器指令............................................................................................................28
CDP......................................................................................................................28
LDC......................................................................................................................29
STC......................................................................................................................29
MCR.....................................................................................................................30
MRC.....................................................................................................................30
ARM杂项指令....................................................................................................................31
SWI......................................................................................................................31
MRS.....................................................................................................................32
MSR.....................................................................................................................33
ARM伪指令........................................................................................................................34
ADR.....................................................................................................................35
ADRL...................................................................................................................35
LDR......................................................................................................................36
NOP......................................................................................................................37
Thumb指令集.............................................................................................................................39
Thumb指令集与ARM指令集的区别..............................................................................39
Thumb存储器访问指令.....................................................................................................40
LDR和STR........................................................................................................41
PUSH和POP......................................................................................................43
LDMIA和STMIA..............................................................................................43
Thumb数据处理指令.........................................................................................................45
数据传送指令..............................................................................................................46
MOV............................................................................................................46
MVN............................................................................................................46
NEG..............................................................................................................47
算术逻辑运算指令......................................................................................................47
ADD.............................................................................................................47
SUB..............................................................................................................48
ADC.............................................................................................................49
SBC..............................................................................................................49
MUL.............................................................................................................50
AND.............................................................................................................50
ORR..............................................................................................................50
EOR..............................................................................................................51
BIC...............................................................................................................51
ASR..............................................................................................................51
LSL...............................................................................................................52
LSR..............................................................................................................52
ROR..............................................................................................................53
比较指令......................................................................................................................53
CMP.............................................................................................................53
CMN.............................................................................................................54
TST...............................................................................................................54
Thumb跳转指令.........................................................................................................55
B...................................................................................................................55
BL.................................................................................................................55
BX................................................................................................................55
Thumb杂项指令.........................................................................................................56
SWI..............................................................................................................56
Thumb伪指令.............................................................................................................57
ADR.............................................................................................................57
LDR..............................................................................................................57
NOP..............................................................................................................58
伪指令..................................................................................................................................................59
符号定义伪指令..........................................................................................................................59
GBLA、GBLL、GBLS..............................................................................................59
LCLA、LCLL、LCLS................................................................................................60
SETA、SETL、SETS.................................................................................................61
RLIST...........................................................................................................................61
CN................................................................................................................................62
CP.................................................................................................................................62
DN、SN.......................................................................................................................62
FN.................................................................................................................................63
数据定义伪指令..........................................................................................................................63
LTORG.........................................................................................................................64
MAP.............................................................................................................................64
FIELD..........................................................................................................................65
SPACE..........................................................................................................................66
DCB.............................................................................................................................66
DCD和DCDU............................................................................................................67
DCDO..........................................................................................................................67
DCFD和DCFDU........................................................................................................68
DCFS和DCFSU.........................................................................................................68
DCI...............................................................................................................................69
DCQ和DCQU............................................................................................................69
DCW和DCWU..........................................................................................................70
报告伪指令..................................................................................................................................70
ASSERT.......................................................................................................................70
INFO............................................................................................................................71
OPT..............................................................................................................................71
TTL和SUBT..............................................................................................................72
汇编控制伪指令..........................................................................................................................73
IF、ELSE和ENDIF...................................................................................................73
MACRO和MEND.....................................................................................................74
WHIL和WEND.........................................................................................................75
杂项伪指令..................................................................................................................................76
ALIGN.........................................................................................................................77
AREA...........................................................................................................................78
CODE16和CODE32..................................................................................................79
END.............................................................................................................................80
ENTRY.........................................................................................................................80
EQU.............................................................................................................................81
EXPORT和GLOBAL................................................................................................81
IMPORT和EXTERN.................................................................................................82
GET和INCLUDE......................................................................................................83
INCBIN........................................................................................................................83
KEEP............................................................................................................................83
NOFP...........................................................................................................................84
REQUIRE....................................................................................................................84
PEQUIRE8和PRESERVE8.......................................................................................84
RN................................................................................................................................84
ROUT...........................................................................................................................85
ARM伪指令................................................................................................................................86
ADR.............................................................................................................................86
ADRL...........................................................................................................................86
LDR..............................................................................................................................86
NOP..............................................................................................................................86
LDFD...........................................................................................................................86
LDFS............................................................................................................................87
Thumb伪指令.............................................................................................................................87
ADR.............................................................................................................................87
LDR..............................................................................................................................87
NOP..............................................................................................................................88
ARM汇编程序设计............................................................................................................................88
文件格式......................................................................................................................................88
ARM汇编的一些规范................................................................................................................88
汇编语句格式......................................................................................................................88
标号......................................................................................................................................89
基于PC的标号...................................................................................................89
基于寄存器的标号..............................................................................................90
绝对地址..............................................................................................................90
局部标号..............................................................................................................................90
符号......................................................................................................................................91
常量......................................................................................................................................91
数字常数..............................................................................................................91
字符常量..............................................................................................................92
布尔常量..............................................................................................................92
段定义..................................................................................................................................92
宏定义及其作用..................................................................................................................93
子程序的调用..............................................................................................................................94
数据比较跳转..............................................................................................................................95
循环..............................................................................................................................................95
数据块复制..................................................................................................................................95
栈操作..........................................................................................................................................96
特殊寄存器定义及应用..............................................................................................................96
散转功能......................................................................................................................................97
查表操作......................................................................................................................................97
长跳转..........................................................................................................................................97
对信号量的支持..........................................................................................................................98
伪指令使用..................................................................................................................................98
一个完整的例子..........................................................................................................................98
外围部件控制..............................................................................................................................99
三级流水线介绍..........................................................................................................................99
C与汇编混合编程............................................................................................................................100
内嵌汇编....................................................................................................................................100
内嵌汇编的指令用法........................................................................................................103
内嵌汇编器与armasm汇编器的差异.............................................................................104
内嵌汇编注意事项............................................................................................................104
访问全局变量............................................................................................................................106
C与汇编相互调用....................................................................................................................107
寄存器的使用规则............................................................................................................108
堆栈使用规则....................................................................................................................108
参数传递规则....................................................................................................................109
C程序调用汇编程序........................................................................................................110
汇编程序调用C程序.......................................................................................................111
ARM指令集列表..............................................................................................................................113
ARM存储器访问指令表列表..................................................................................................113
ARM数据处理指令列表..........................................................................................................114
ARM乘法指令列表..................................................................................................................115
ARM跳转指令列表..................................................................................................................116
ARM协处理器指令列表..........................................................................................................117
ARM杂项指令列表..................................................................................................................118
ARM伪指令列表......................................................................................................................119
Thumb指令集列表...........................................................................................................................120
Thumb存储器访问指令列表...................................................................................................120
Thumb数据处理指令列表.......................................................................................................121
Thumb跳转指令及软中断指令列表.......................................................................................122
Thumb伪指令列表...................................................................................................................123
汇编预定义变量及伪指令................................................................................................................124
预定义的寄存器和协处理器名................................................................................................124
通用寄存器........................................................................................................................124
程序状态寄存器................................................................................................................124
浮点数寄存器....................................................................................................................124
协处理器及协处理器寄存器............................................................................................125
内置变量列表............................................................................................................................125
伪指令列表................................................................................................................................126
指令条件码列表........................................................................................................................128
CPSR和SPSR分配图.............................................................................................................................129
2018-03-28
ARM汇编指令集详解 (经典)
学习ARM汇编指令的经典资料。
对ARM的各种汇编指令进行了深入全面的讲解,并给出了各种示例和详细注解,并且还对一些值得注意的点或是容易犯错误的地方进行了总结。
2018-03-25
Linux系统命令及使用详解
对Linux必学的各种常用命令进行讲解,并给出实际的示例,易学易懂。利用它可以有效地完成大量的工作,如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等。
想掌握linux操作系统的常用命令或者是编写shell脚本,都可以从中得到有益的参考。
2018-03-25
Linux必学命令大全
对Linux必学的各种常用命令进行讲解,并给出实际的示例,易学易懂。利用它可以有效地完成大量的工作,如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等。
想掌握linux操作系统的常用命令或者是编写shell脚本,都可以从中得到有益的参考。
2018-03-25
C程序设计语言(第2版 新版) 带书签目录及习题解答
包含C程序设计语言(第2版 新版) 带书签目录,另外还有配套的习题解答一书的pdf。
《C程序设计语言第二版·新版》是2004年01月机械工业出版社出版的图书,作者是(美)克尼汉 、(美)里奇、 徐宝文、 李志。
本书是由C语言的设计者Brian W. Kernighan和Dennis M. Ritchie编写的一部介绍标准C语言及其程序设计方法的权威性经典著作。全面、系统地讲述了C语言的各个特性及程序设计的基本方法,包括基本概念、类型和表达式、控制流、函数与程序结构、指针与数组、结构、输入与输出、UNIX系统接口、标准库等内容。
目录:
出版者的话
专家指导委员会
中文版序
译者序
校译者简介
序
第1版序
引言
第1章 导言
1.1 入门
1.2 变量与算术表态式
1.3 for语句
1.4 符号常量
1.5 字符输入/输出
1.6 数组
1.7 函数
1.8 参数——传值调用
1.9 字符数组
1.10 外部变量与作用域
第2章 类型、运算符与表达式
2.1 变量名
2.2 数据类型及长度
2.3 常量
2.4 声明
2.5 算术运算符
2.6 关系运算符与逻辑运算符
2.7 类型转换
2.8 自增运算符与自减运算符
2.9 按位运算符
2.10 赋值运算符与表达式
2.11 条件表达式
2.12 运算符优先级与求值次序
第3章 控制流
3.1 语句与程序块
3.2 if-else语句
3.3 else-if语句
3.4 switch语句
3.5 whil循环与for特环
3.6 do-while循环
3.7 break语句与continue语句
3.8 goto语句与标号
第4章 涵数与程序结构
第5章 指针与数组
第6章 结构
第7章 输入与输出
第8章 UNIX系统接口
附录A 参考手册
附录B 标准库
附录C 变更小结
索引
2018-03-25
Linux内核精髓 精通Linux内核必会的75个绝技
本书介绍的是Linux内核所提供的功能。不仅有比较基础的功能,还有一些功能需要具有一定的知识才能使用。
此外,还介绍了使用功能时需要用到的信息和命令。除了内核以外,本书还将介绍相关的应用程序。基本上是基于TUI进行说明的,但也有一部分关于GUI的介绍。
涉及的主要版本为Linux内核2.6.18到写作时最新的Linux内核3.0。其中一部分还介绍了Red Hat Enterprise Linux 4(RHEL4:基于Linux内核2.6.9)的功能。示例代码已经在工作中经常使用的RHEL和任何用户都可以使用的Fedora、CentOS等中进行过严格测试。
本书不涉及Linux内核的实际安装和以算法等为主体的内容。
本书目录如下:
第1章 内核入门1
HACK #1 如何获取Linux内核1
HACK #2 如何编译Linux内核7
HACK #3 如何编写内核模块18
HACK #4 如何使用Git22
HACK #5 使用checkpatch.pl检查补丁的格式41
HACK #6 使用localmodconfig缩短编译时间44
第2章 资源管理47
HACK #7 Cgroup、Namespace、Linux容器47
HACK #8 调度策略55
HACK #9 RT Group Scheduling 与RT Throttling59
HACK #10 Fair Group Scheduling62
HACK #11cpuset65
HACK #12 使用Memory Cgroup限制内存使用量68
HACK #13 使用Block I/O控制器设置I/O优先级74
HACK #14 虚拟存储子系统的调整80
HACK #15 ramzswap85
HACK #16 OOM Killer的运行与结构91
第3章 文件系统98
HACK #17 如何使用ext498
HACK #18 向ext4转换101
HACK #19 ext4的调整104
HACK #20 使用fio进行I/O的基准测试111
HACK #21FUSE118
第4章 网络121
HACK #22 如何控制网络的带宽121
HACK #23 TUN/TAP设备126
HACK #24 网桥设备129
HACK #25 VLAN133
HACK #26 bonding驱动程序136
HACK #27 Network Drop Monitor141
第5章 虚拟化147
HACK #28 如何使用Xen147
HACK #29 如何使用KVM153
HACK #30 如何不使用DVD安装操作系统159
HACK #31 更改虚拟CPU分配方法,提高性能161
HACK #32 如何使用EPT提高客户端操作系统的性能166
HACK #33 使用IOMMU提高客户端操作系统运行速度173
HACK #34 使用IOMMU+SR-IOV提高客户端操作系统速度183
HACK #35 SR-IOV带宽控制187
HACK #36 使用KSM节约内存189
HACK #37 如何挂载客户端操作系统的磁盘194
HACK #38 从客户端操作系统识别虚拟机环境200
HACK #39 如何调试客户端操作系统205
第6章 省电213
HACK #40 ACPI213
HACK #41 使用ACPI的 S状态224
HACK #42 使用CPU省电(C、P状态)226
HACK #43 PCI设备的热插拔236
HACK #44 虚拟环境下的省电240
HACK #45 远程管理机器的电源246
HACK #46 USB的电力管理251
HACK #47 显示器的省电254
HACK #48 通过网络设备节省电能260
HACK #49 关闭键盘的LED来省电263
HACK #50 PowerTOP269
HACK #51 硬盘的省电276
第7章 调试282
HACK #52 SysRq键282
HACK #53 使用diskdump提取内核崩溃转储288
HACK #54 使用Kdump提取内核崩溃转储293
HACK #55 崩溃测试297
HACK #56 IPMI看门狗计时器299
HACK #57 NMI看门狗计时器305
HACK #58 soft lockup307
HACK #59 crash命令312
HACK #60 核心转储过滤器326
HACK #61 生成用户模式进程的进程核心转储329
HACK #62 使用lockdep查找系统的死锁335
HACK #63 检测内核的内存泄漏341
第8章 概要分析与追踪346
HACK #64 使用perf tools的概要分析(1)346
HACK #65 使用perf tools的概要分析(2)349
HACK #66 进行内核或进程的各种概要分析353
HACK #67 追踪内核的函数调用360
HACK #68 ftrace的插件追踪器366
HACK #69 记录内核的运行事件371
HACK #70 使用trace-cmd的内核追踪378
HACK #71 将动态追踪事件添加到内核中382
HACK #72 使用SystemTap进行内核追踪388
HACK #73 使用SystemTap编写对话型程序394
HACK #74 SystemTap脚本的重复利用399
HACK #75 运用SystemTap402
2018-03-25
深度实践KVM:核心技术、管理运维、性能优化与项目实施
高清完整扫描版
《深度实践KVM:核心技术、管理运维、性能优化与项目实施》在中国运维领域将具有“划时代”的重要意义:一,作者团队是国内的KVM技术专家、虚拟化技术专家和运维专家,是国内第一批研究并将KVM应用到大规模生产环境的人;第二,书中的所有知识、经验和案例都来自金山、盛大等国内一线互联网公司,这些公司的业务规模巨大,生产环境复杂;第三,从核心技术、管理运维、性能优化、项目实施等多个维度系统、深入讲解KVM虚拟化技术的工作原理、应用方法和技术生态,并针对生产环境中的各种难题给出了解决方案;第四,本书内容得到了来自金山、盛大、阿里、猎豹移动、触控科技、英特尔、浪潮等大型IT企业的数十位VP和运维专家的高度认可,并联袂推荐。
《深度实践KVM:核心技术、管理运维、性能优化与项目实施》共20章,分为五篇:
第一篇(1~8章):虚拟化技术选型及KVM虚拟机技术,详细介绍了虚拟化技术的选型,KVM的CPU和内存虚拟化技术、磁盘虚拟化技术、网络虚拟化技术以及这些技术的生产环境应用场景,物理机转虚拟机,KVM的桌面虚拟化实践。
第二篇(9~10章)开源分布式文件系统在KVM中的应用,详细讲解了常见的开源分布式文件系统在KVM环境中的使用,重点讲解比较热的Ceph文件系统,包括配置、使用及常见故障处理。
第三篇(11~13章):开源的虚拟化管理平台在生产环境的实践经验,重点讲解了OpenStack、OpenNebula在生产环境的实践与故障处理,还有oVirt、CloudStack、Convirt、WebVirtMgr等几个管理平台的架构和理念。
第四篇(14~21章):KVM虚拟化项目的实施及经验系统讲解了业务性能评估、压力模型建立、虚拟机性能测试、宿主机基准测试、业务测试环境测试验证、单机虚拟化技术、集群虚拟化技术、虚拟化正式环境上线等一套完整的虚拟化项目实施过程。
第五篇(第22章)KVM虚拟化的典型案例讲解了KVM虚拟化过程中比较典型的一些案例,针对案例中的问题给出了解决思路和方法,方便读者在碰到类似的问题时找到解决方案。
2018-03-24
精通LINUX设备驱动程序开发
本书是linux设备驱动程序开发领域的权威著作。全书基于2.6内核,不仅透彻讲解了基本概念和技术,更深入探讨了其他书没有涵盖或浅尝辄止的许多重要主题和关键难点,如pcmcia、i2c和usb等外部总线以及视频、音频、无线连网和闪存等驱动程序的开发,并讲解了相关的内核源码文件,给出了完整的开发实例。
本书适合中高级linux开发人员阅读。
目录
第1章 引言1
1.1 演进1
1.2 gnu copyleft2
1.3 kernel.org2
1.4 邮件列表和论坛3
1.5 linux发行版3
1.6 查看源代码4
1.7 编译内核7
1.8 可加载的模块8
1.9 整装待发9
第2章 内核11
2.1 启动过程11
2.1.1 bios-provided physical ram map12
2.1.2 758mb lowmem available14
2.1.3 kernel command line: ro
root=/dev/hda114
2.1.4 calibrating delay...1197.46
.bogomips (lpj=2394935)15
2.1.5 checking hlt instruction16
2.1.6 net: registered protocol family 217
2.1.7 freeing initrd memory: 387k freed17
2.1.8 io scheduler anticipatory
registered (default)18
2.1.9 setting up standard pci resources18
2.1.10 ext3-fs: mounted filesystem19
2.1.11 init: version 2.85 booting19
2.2 内核模式和用户模式20
2.3 进程上下文和中断上下文20
2.4 内核定时器21
2.4.1 hz和jiffies21
2.4.2 长延时22
2.4.3 短延时24
2.4.4 pentium时间戳计数器24
2.4.5 实时钟25
2.5 内核中的并发26
2.5.1 自旋锁和互斥体26
2.5.2 原子操作30
2.5.3 读—写锁31
2.5.4 调试32
2.6 proc文件系统32
2.7 内存分配33
2.8 查看源代码34
第3章 内核组件37
3.1 内核线程37
3.1.1 创建内核线程37
3.1.2 进程状态和等待队列41
3.1.3 用户模式辅助程序42
3.2 辅助接口43
3.2.1 链表44
3.2.2 散列链表49
3.2.3 工作队列49
3.2.4 通知链51
3.2.5 完成接口54
3.2.6 kthread辅助接口56
3.2.7 错误处理助手57
3.3 查看源代码58
第4章 基本概念61
4.1 设备和驱动程序介绍61
4.2 中断处理63
4.2.1 中断上下文63
4.2.2 分配irq号64
4.2.3 设备实例:导航杆65
4.2.4 softirq和tasklet68
4.3 linux设备模型71
4.3.1 udev71
4.3.2 sysfs、kobject和设备类73
4.3.3 热插拔和冷插拔76
4.3.4 微码下载76
4.3.5 模块自动加载77
4.4 内存屏障78
4.5 电源管理79
4.6 查看源代码79
第5章 字符设备驱动程序81
5.1 字符设备驱动程序基础81
5.2 设备实例:系统cmos82
5.2.1 驱动程序初始化83
5.2.2 打开与释放86
5.2.3 数据交换88
5.2.4 查找92
5.2.5 控制94
5.3 检测数据可用性95
5.3.1 轮询95
5.3.2 fasync98
5.4 和并行端口交互99
5.5 rtc子系统108
5.6 伪字符驱动程序109
5.7 混杂驱动程序110
5.8 字符设备驱动程序注意事项115
5.9 查看源代码115
第6章 串行设备驱动程序118
6.1 层次架构119
6.2 uart驱动程序121
6.2.1 设备实例:手机122
6.2.2 rs-485132
6.3 tty驱动程序132
6.4 线路规程134
6.5 查看源代码141
第7章 输入设备驱动程序143
7.1 输入事件驱动程序144
7.2 输入设备驱动程序150
7.2.1 serio150
7.2.2 键盘150
7.2.3 鼠标152
7.2.4 触摸控制器157
7.2.5 加速度传感器158
7.2.6 输出事件158
7.3 调试159
7.4 查看源代码160
第8章 i2c协议161
8.1 i2c/smbus是什么161
8.2 i2c核心162
8.3 总线事务164
8.4 设备实例:eeprom164
8.4.1 初始化165
8.4.2 探测设备167
8.4.3 检查适配器的功能169
8.4.4 访问设备169
8.4.5 其他函数170
8.5 设备实例:实时时钟171
8.6 i2c-dev174
8.7 使用lm-sensors监控硬件174
8.8 spi总线174
8.9 1-wire总线176
8.10 调试176
8.11 查看源代码176
第9章 pcmcia和cf179
9.1 pcmcia/cf是什么179
9.2 linux-pcmcia子系统181
9.3 主机控制器驱动程序183
9.4 pcmcia核心183
9.5 驱动程序服务183
9.6 客户驱动程序183
9.6.1 数据结构184
9.6.2 设备实例:pcmcia卡185
9.7 将零件组装在一起188
9.8 pcmcia存储189
9.9 串行pcmcia189
9.10 调试191
9.11 查看源代码191
第10章 pci193
10.1 pci系列193
10.2 寻址和识别195
10.3 访问pci198
10.3.1 配置区198
10.3.2 i/o和内存199
10.4 dma200
10.5 设备实例:以太网—调制解调器卡203
10.5.1 初始化和探测203
10.5.2 数据传输209
10.6 调试214
10.7 查看源代码214
第11章 usb216
11.1 usb体系架构216
11.1.1 总线速度218
11.1.2 主机控制器218
11.1.3 传输模式219
11.1.4 寻址219
11.2 linux-usb子系统220
11.3 驱动程序的数据结构221
11.3.1 usb_device结构体221
11.3.2 urb222
11.3.3 管道223
11.3.4 描述符结构223
11.4 枚举225
11.5 设备实例:遥测卡225
11.5.1 初始化和探测过程226
11.5.2 卡寄存器的访问230
11.5.3 数据传输233
11.6 类驱动程序236
11.6.1 大容量存储设备236
11.6.2 usb-串行端口转换器241
11.6.3 人机接口设备243
11.6.4 蓝牙243
11.7 gadget驱动程序243
11.8 调试244
11.9 查看源代码245
第12章 视频驱动程序247
12.1 显示架构247
12.2 linux视频子系统249
12.3 显示参数251
12.4 帧缓冲api252
12.5 帧缓冲驱动程序254
12.6 控制台驱动程序265
12.6.1 设备实例:手机266
12.6.2 启动logo270
12.7 调试270
12.8 查看源代码271
第13章 音频驱动程序273
13.1 音频架构273
13.2 linux声音子系统275
13.3 设备实例:mp3播放器277
13.3.1 驱动程序函数和结构体278
13.3.2 alsa编程287
13.4 调试288
13.5 查看源代码289
第14章 块设备驱动程序291
14.1 存储技术291
14.2 linux块i/o层295
14.3 i/o调度器295
14.4 块驱动程序数据结构和方法296
14.5 设备实例:简单存储控制器298
14.5.1 初始化299
14.5.2 块设备操作301
14.5.3 磁盘访问302
14.6 高级主题304
14.7 调试306
14.8 查看源代码306
第15章 网络接口卡308
15.1 驱动程序数据结构308
15.1.1 套接字缓冲区309
15.1.2 网络设备接口310
15.1.3 激活311
15.1.4 数据传输311
15.1.5 看门狗311
15.1.6 统计312
15.1.7 配置313
15.1.8 总线相关内容314
15.2 与协议层会话314
15.2.1 接收路径314
15.2.2 发送路径315
15.2.3 流量控制315
15.3 缓冲区管理和并发控制315
15.4 设备实例:以太网nic316
15.5 isa网络驱动程序321
15.6 atm321
15.7 网络吞吐量322
15.7.1 驱动程序性能322
15.7.2 协议性能323
15.8 查看源代码324
第16章 linux无线设备驱动326
16.1 蓝牙327
16.1.1 bluez328
16.1.2 设备实例:cf卡329
16.1.3 设备实例:usb适配器330
16.1.4 rfcomm331
16.1.5 网络332
16.1.6 hid334
16.1.7 音频334
16.1.8 调试334
16.1.9 关于源代码334
16.2 红外335
16.2.1 linux-irda335
16.2.2 设备实例:超级i/o芯片337
16.2.3 设备实例:ir dongle338
16.2.4 ircomm340
16.2.5 联网340
16.2.6 irda套接字341
16.2.7 lirc341
16.2.8 查看源代码342
16.3 wifi343
16.3.1 配置343
16.3.2 设备驱动程序346
16.3.3 查看源代码347
16.4 蜂窝网络347
16.4.1 gprs347
16.4.2 cdma349
16.5 当前趋势350
第17章 存储技术设备352
17.1 什么是闪存352
17.2 linux-mtd子系统353
17.3 映射驱动程序353
17.4 nor芯片驱动程序358
17.5 nand芯片驱动程序359
17.6 用户模块361
17.6.1 块设备模拟361
17.6.2 字符设备模拟361
17.6.3 jffs2362
17.6.4 yaffs2363
17.7 mtd工具363
17.8 配置mtd363
17.9 xip364
17.10 fwh364
17.11 调试367
17.12 查看源代码367
第18章 嵌入式linux369
18.1 挑战369
18.2 元器件选择370
18.3 工具链371
18.4 bootloader372
18.5 内存布局374
18.6 内核移植375
18.7 嵌入式驱动程序376
18.7.1 闪存377
18.7.2 uart377
18.7.3 按钮和滚轮378
18.7.4 pcmcia/cf378
18.7.5 sd/mmc378
18.7.6 usb378
18.7.7 rtc378
18.7.8 音频378
18.7.9 触摸屏379
18.7.10 视频379
18.7.11 cpld/fpga379
18.7.12 连接性379
18.7.13 专用领域电子器件380
18.7.14 更多驱动程序380
18.8 根文件系统380
18.8.1 nfs挂载的根文件系统381
18.8.2 紧凑型中间件382
18.9 测试基础设施383
18.10 调试383
18.10.1 电路板返工384
18.10.2 调试器385
第19章 用户空间的驱动程序386
19.1 进程调度和响应时间387
19.1.1 原先的调度器387
19.1.2 o(1)调度器387
19.1.3 cfs388
19.1.4 响应时间388
19.2 访问i/o区域390
19.3 访问内存区域393
19.4 用户模式scsi395
19.5 用户模式usb397
19.6 用户模式i2c400
19.7 uio401
19.8 查看源代码402
第20章 其他设备和驱动程序403
20.1 ecc报告403
20.2 频率调整407
20.3 嵌入式控制器408
20.4 acpi408
20.5 isa与mca410
20.6 火线410
20.7 智能输入/输出411
20.8 业余无线电411
20.9 voip411
20.10 高速互联412
20.10.1 infiniband413
20.10.2 rapidio413
20.10.3 光纤通道413
20.10.4 iscsi413
第21章 调试设备驱动程序414
21.1 kdb414
21.1.1 进入调试器415
21.1.2 kdb415
21.1.3 kgdb417
21.1.4 gdb420
21.1.5 jtag调试器421
21.1.6 下载423
21.2 内核探测器423
21.2.1 kprobe423
21.2.2 jprobe427
21.2.3 返回探针429
21.2.4 局限性431
21.2.5 查看源代码431
21.3 kexec与kdump431
21.3.1 kexec432
21.3.2 kdump与kexec协同工作432
21.3.3 kdump433
21.3.4 查看源代码437
21.4 性能剖析437
21.4.1 利用oprofile剖析内核性能438
21.4.2 利用gprof剖析应用程序性能440
21.5 跟踪441
21.6 ltp444
21.7 uml444
21.8 诊断工具444
21.9 内核修改配置选项444
21.10 测试设备445
第22章 维护与发布446
22.1 代码风格446
22.2 修改标记446
22.3 版本控制447
22.4 一致性检查447
22.5 构建脚本448
22.6 可移植代码450
第23章 结束语451
23.1 流程一览表451
23.2 下一步该做什么452
附录a linux汇编453
附录b linux与bios457
附录c seq文件461
2018-03-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人