上周,Linux系统的缔造者,被誉为Linux教父的Linus Torvalds在社区上与网友进行了交流,回答了一系列有关Linux、Linux社区以及操作系统概念的问题。由于内容大多涉及深度的Linux开发,故本文仅节选其中一部分进行编译,以飨读者。
原文可在 http://linux.slashdot.org/story/ ... swers-your-question 观看,不清楚是否要科学上网(貌似不用)。
关于成就(这里原文的用词是“生产力”,虽然可以理解,但未免不敬)
问:您创造了Linux和Git这两个对人类非常重要的软件项目。您认为是您的工作习惯抑或是您选择选择项目的方法帮助您取得这样的成就?或者说这只是传统的天才、努力与幸运的故事?
答:我觉得还是天才、努力和幸运的关系,至于这三者的比例,就任由他人猜测了。
关于Valve
问:您认为Valve能够使得Linux成为游戏玩家的主力系统吗?
答:“主力?”我觉得它们甚至没有这种想法。我认为游戏主机(包括掌机和移动平台这些“专业玩家”视作儿戏的东西)才更加重要,而且这种状况还会一直持续下去。
我认为Valve的目的在于控制它们自己的未来,之所以选择Linux和ValveOS,目的在于探索一种更加接近主机的Valve体验,意在主机领域对抗微软。因此我不认为Valve的目的在于成为游戏主力系统,而是要在“第二游戏设备”这个领域树立自己的形象。
但我很高兴看到像Greg这样的计算机图形驱动大拿与Valve合作,因为在Linux上普及游戏的努力当然会增强Linux的图形性能。但就我个人而言,我不是一个电脑玩家。
关于处理器架构
问:数年前,你被全美达雇佣,参与Crusoe处理器的开发。我明白你对于处理器架构知识渊博。你对于现有的Intel、AMDCPU架构怎么看?它们与ARM或者IBMPower8架构相比,各自的优势在哪?
答:我不是CPU架构师,但我确实曾经在处理器公司工作,在我个人开发内核的时候也与CPU架构接触的很多。在这些领域长期工作会使得你产生强烈的个人观点。比如,在全美达的工作经历使我相信,软件开发者应该非常注重(CPU架构上)的诸多限制。我爱我在全美达的工作,我爱那种初创期公司的氛围,我爱与那些非常智慧的人一起工作,但我不喜欢IPO,我不喜欢上市对公司文化造成的负面影响。
我不喜欢过于简化的硬件,因为对于软件工程师来说这往往反而意味着大量的小细节需要手动去遵守。从这一点来说我特别喜欢Intel的核心,因为他们有完整的编程参考文档,CPU架构上也足够智能,使得程序员不用为一些基础的问题比如线程分配和内存管理过分操心。
(笔者理解这里Linus大神是在隐晦地批评ARM架构的优化适配问题和AMD推土机架构需要程序员专门对程序的线程进行优化设计的弊端)
关于GPU内核
问:有没有可能您可以开发出基于GPU架构的操作系统内核,如果把Linux移植到GPU上,它是否能够从GPU的平行计算能力中获益?
答:我不这样认为,至少现有的GPU架构并不适合。
没错,GPU发展的速度现在确实很快,一些先进的GPU架构甚至已经具备虚拟内存机制,也具备了抢占式的多任务机制,你可以在上面运行一个操作系统,但是GPU的任务分配延迟是如此之高,而且GPU的内部线程并不真正独立,因为它们之间共享了太多资源,你无法指望GPU有多线程CPU那样的灵活度。
因此对于操作系统内核来说,GPU实际上并不是一个多线程设备,它只适合进行重复而大量的并行运算工作。
关于人工智能
问:有些电脑专家,比如拉里佩奇,认为人工智能会是人类的好伙伴;而另一些人,比如艾伦马斯克担心人工智能存在潜在的巨大危险,对此你怎么看?
答:我不认为人工智能哪里可怕了。
我们终将发展出人工智能,而它和我们现在正在研究的神经网络系统其实有许多共同之处。首先,人工智能需要学习,虽然它和传统的编程过程大不一样,但人工智的决断仍然取决于人们希望它“理解”的内容。
这就和现有的神经网络一样,AI的判断力受到其知识量和神经网络规模的限制,这使得超高智能的AI很难实现。
因此在我看来,所谓AI,不能够仅限于语音识别、模式识别这些现有的“拟人”技术,(而是更加完善的问题与答案的组合,但也仅此而已),我无法想象你家的洗碗机会突然想要谋害你的性命(因为它只有洗碗的程序,不会自己生出害人的念头)。