《LINUX/UNIX设计思想》PDF下载

  • 购买积分:9 如何计算积分?
  • 作  者:(美)Mike Gancarz著;漆犇译
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2012
  • ISBN:9787115266927
  • 页数:169 页
图书介绍:本书将Unix与Linux的原理有效地结合起来,总结了Unix/Linux软件开发中的原则。在保留了第1版中Unix方面的内容的同时,强调了Linux和开源领域的新思想。

第1章Unix哲学:集思广益的智慧 1

1.1 NIH综合征 2

1.2 Unix的开发 2

1.3 Linux:一个人加上一百万人的智慧 4

1.4 Unix哲学概述 5

第2章 人类的一小步 9

2.1准则1:小即是美 10

2.2简化软件工程 12

2.2.1小程序易于理解 12

2.2.2小程序易于维护 13

2.2.3小程序消耗的系统资源较少 14

2.2.4小程序容易与其他工具相结合 15

2.3关于“昆虫”的研究 16

2.4准则2:让每一个程序只做好一件事 16

第3章 快速建立原型的乐趣和好处 19

3.1知识与学习曲线 19

3.1.1事实上,每个人有自己的学习曲线 20

3.1.2大师们也知道,变化不可避免 21

3.1.3为什么软件会被称为“软件” 21

3.2准则3:尽快建立原型 23

3.2.1原型的建立是学习的过程 24

3.2.2建立早期原型能够降低风险 24

3.3人类创造的三个系统 25

3.4人类的“第一个系统” 26

3.4.1在背水一战的情况下,人类创建了“第一个系统” 26

3.4.2没有足够的时间将事情做好 26

3.4.3“第一个系统”是单枪匹马或是一小群人开发的 26

3.4.4“第一个系统”是一个“精简、其貌不扬的计算机器” 27

3.4.5“第一个系统”的概念可以激发他人的创造力 28

3.5人类的“第二个系统” 29

3.5.1“专家”使用“第一个系统”验证过的想法来创建“第二个系统” 29

3.5.2“第二个系统”是由委员会设计的 30

3.5.3“第二个系统”臃肿而缓慢 31

3.5.4“第二个系统”被大张旗鼓地誉为伟大的成就 32

3.6人类的“第三个系统” 32

3.6.1“第三个系统”由那些为“第二个系统”所累的人们创建 32

3.6.2“第三个系统”通常会改变“第二个系统”的名称 33

3.6.3最初的概念保持不变并显而易见 33

3.6.4“第三个系统”结合了“第一个系统”和“第二个系统”的最佳特性 34

3.6.5“第三个系统”的设计者有充裕的时间将任务做好 34

3.7 Linux既是“第三个系统”,又是“第二个系统” 34

3.8建立“第三个系统” 35

第4章 可移植性的优先权 39

4.1准则4:舍高效率而取可移植性 40

4.1.1下一……的硬件将会跑得更快 41

4.1.2不要花太多时间去优化程序 42

4.1.3最高效的方法通常不可移植 43

4.1.4可移植的软件还减少了用户培训的需求 45

4.1.5好程序永不会消失,而会被移植到新平台 45

4.2准则5:采用纯文本文件来存储数据 48

4.2.1文本是通用的可转换格式 49

4.2.2文本文件易于阅读和编辑 49

4.2.3文本数据文件简化了Unix文本工具的使用 49

4.2.4可移植性的提高克服了速度的不足 51

4.2.5速度欠佳的缺点会被明年的机器克服 52

第5章 软件的杠杆效应 55

5.1准则6:充分利用软件的杠杆效应 57

5.1.1良好的程序员编写优秀代码,优秀的程序员借用优秀代码 57

5.1.2避免NIB综合征 58

5.1.3允许他人使用你的代码来发挥软件杠杆效应 61

5.1.4将一切自动化 62

5.2准则7:使用shell脚本来提高杠杆效应和可移植性 64

5.2.1 shell脚本可以带来无与伦比的杠杆效应 65

5.2.2 shell脚本还可以充分发挥时间的杠杆效应 67

5.2.3 shell脚本的可移植性比C程序更高 68

5.2.4抵制采用C语言来重写shell脚本的愿望 69

第6章 交互式程序的高风险 72

6.1准则8:避免强制性的用户界面 74

6.1.1 CUI假定用户是人类 76

6.1.2 CUI命令解析器的规模庞大且难以编写 77

6.1.3 CUI偏好“大即是美”的做法 78

6.1.4拥有CUI的程序难以与其他项目相结合 79

6.1.5 CUI没有良好的扩展性 80

6.1.6最重要的是,CUI无法利用软件的杠杆效应 80

6.1.7 “CUI有什么关系?人们都不愿意打字了。” 81

6.2准则9:让每一个程序都成为过滤器 82

6.2.1自有计算技术以来,人们编写的每一个程序都是过滤器 82

6.2.2程序不创建数据,只有人类才会创建数据 83

6.2.3计算机将数据从一种形式转换成另一种 84

6.3 Linux环境:将程序用作过滤器 84

第7章 更多Unix哲学:十条小准则 88

7.1允许用户定制环境 89

7.2尽量使操作系统内核小而轻量化 90

7.3使用小写字母并尽量简短 91

7.4保护树木 93

7.5沉默是金 94

7.6并行思考 95

7.7各部分之和大于整体 97

7.8寻求90%的解决方案 99

7.9更坏就是更好 100

7.10层次化思考 102

第8章让Unix只做好一件事 105

第9章Unix和其他操作系统的哲学 113

9.1雅达利家用电脑:人体工程的艺术 114

9.2 MS-DOS:七千多万用户的选择不会错 117

9.3 VMS系统:Unix的对立面 119

第10章 拨开层层迷雾:Linux与Windows的比较 123

10.1内容为王,傻瓜 126

10.1.1视觉内容:“用自己的眼睛去看。” 128

10.1.2有声内容:“听得到吗?” 129

10.1.3文字内容:“视频可以终结广播明星,却消灭不了小报。 131

第11章 大教堂?多怪异 143

第12章U nix的美丽新世界 153