操作系统源代码详细分析三计划
维恩有第三段真实伤害 3.1.3 可移植性 与硬件兼容性相关的设计目标是可移植性,也就是在不同硬件平台上运行Linux的能力。系统最初是为运行在标准IBM兼容机上的Intel x86 CPU而设计的,当时根本没有考虑到可移植性的问题。但是从那以后情况已经发生了很大的变化。现在正式的内核移植包括向基于Alpha、ARM、Motorola 68x0、MIPS、PowerPC、SPARC及SPARC-64 CPU系统的移植。因而,Linux可以在Amigas、旧版或新版的Macintosh、Sun和SGI工作站及NeXT机等机器上运行。而且这些还只是标准内核发行版本的移植范围。从老的DEC VAX到3Com掌上系列个人数字助理(例如Palm III)的非正式的移植工作也在不断进行中。成功的非正式移植版本后来通常都会变成正式的移植版本,因此这些非正式的移植版本很多最终都会出现在主开发树中。 广泛平台支持之所以能够成功的部分原因在于内核把源程序代码清晰地划分为体系结构无关部分和体系结构相关部分。在本章的后续部分将对这个问题进行更深入的讨论。 3.1.4 健壮性和安全性 Linux必须健壮、稳定。系统自身应该没有任何缺陷,它还应该可以保护进程(用户)以防止互相干扰,这就像把整个系统从其他系统中隔离开来加以保护一样。后一种考虑很大程度上是受信任的用户空间应用程序领域的问题,但是内核至少也应该提供支撑安全体系的原语(primitive)。健壮性和安全性比任何别的目标都要重要,包括速度。(系统崩溃的速度很快又有什么好处呢?) 保证Linux健壮性和安全性的唯一一个最重要的因素是其开放的开发过程,它可以被看作是一种广泛而严格的检查。内核中的每一行代码、每一个改变都会很快由世界上数不清的程序员检验。还有一些程序员专门负责寻找和报告潜在的缺陷—他们这样做完全是出于自己的个人爱好,因为他们也希望自己的Linux系统能够健壮安全。以前检查中所没有发现的缺陷可以通过这类人的努力来定位、修复,而这种修复又合并进主开发树以使所有的人都能够受益。安全警告和缺陷报告通常在几天甚至几个小时内就能够得到处理和修复。 Linux可能并不一定是现有的最安全的操作系统(很多人认为这项桂冠应该属于OpenBSD,它是一个以安全性为主要目标的Unix变种),但是它是一个有力的竞争者。而且Linux健壮性远没有发展到尽头。 3.1.5 速度 这个术语自己就可以说明问题。速度几乎是最重要的衡量标准,虽然其等级比健壮性、安全性和(在有些时候)兼容性的等级要低。然而它却是代码最直观的几个方面之一。Linux内核代码经过了彻底的优化,而最经常使用的部分—例如调度,则是优化工作的重点。几乎在任何时候都有一些不可思议的代码,这是由于这种方式的执行速度比较快(这并不总是很明显,但是你经常不得不通过自己的试验来对这种优化代码进行确认)。虽然有时一些更直接的实现方法速度也很快,但是我所见过的这种情况很少。 在某些情况下,本书推荐用可读性更好的代码来替代那些打着速度的名义而被故意扭曲了的代码。虽然速度是一个设计目标,但我基本上只在以下两种情况时才会这样做:a) 在所考虑的问题中,速度明显不是关键问题 b) 没有其他的办法。
长沙不孕不育医院治疗方法长沙白癜风医院哪家好
长治治疗白癜风的医院
- 幼小衔接别再报班,特级教师给的方法很新颖,娃入学后次次考一百
- LG新能源或将向日本人五十铃电动卡车提供电池等7条快讯
- 英国央行助理经济学家:货币政策紧缩还没到头
- 酷炫飞行汽车曝光!广东科学一个中心上演“科学之夜”
- 《且试天下》华纯然要嫁黑丰息,前朝以江山为聘求娶白风夕
- 索尼爱立信 G11 通过 FCC 认证,配备 5000 万像素后置摄像头
- 房屋粉刷 半包应该注意哪些
- 秋天多吃莲藕,分清七孔、曹兰,挖藕工教你分辨技巧,做菜更好吃
- 翡翠石和蜕变到成品经典案例:玉石与雕刻文化的完美结合!
- 美食界的4大谎言,个个都“坑爹”,很多人都现在都被不知情
- 乌克兰外交部:已有多个外交使团恢复在基辅的指导工作
- 世上没有任何变化,只是彼此不再是彼此的牵挂