科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道Linux操作系统源代码详细分析(三) (2)

Linux操作系统源代码详细分析(三) (2)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

与硬件兼容性相关的设计目标是可移植性,也就是在不同硬件平台上运行Linux的能力。系统最初是为运行在标准IBM兼容机上的Intel x86 CPU而设计的

作者:赛迪网技术社区 来源:赛迪网技术社区 2007年10月28日

关键字: 分析 详细 源代码 Linux

  • 评论
  • 分享微博
  • 分享邮件
 

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) 没有其他的办法。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章