您的位置:首页 > 其它

Any problem in computer science can be solved with another layer of indirection

2015-03-25 15:57 537 查看


Any
problem in computer science can be solved with another layer of indirection. --by a predecessor of computer science.

中文译文:“任何计算机科学领域的问题都能通过增加一个间接的应用层来解决。”(不要吐槽俺的翻译能力



相信有几年编程经历的朋友都听说过这句话,原文出处已经无法核实。所以我用了“一位计算机科学领域的前辈”这样的称呼来给这句话找一位作者。

这句话很久以前就听说过,当时我刚接触计算机相关学科,还在学习《计算机组成原理》、《C语言程序设计》、《汇编语言》这些基础课程。当时对这句话的理解很浅(大家不要误以为我现在理解的多深似的

),也没太多的认真思考说这句话的前辈的良苦用心。

就这样过了几年,学了不少计算机软硬件方面的知识。特别是学习了《计算机体系结构》这门课,使我对这句话的理解又进一步加深了许多。前几天刚好一个朋友来找我,这位朋友是做闪存(flash)的,聊到一个问题的时候我随机一口不算流利的英语把这位朋友给惊醒了。他说:可不是嘛!在CPU和硬盘中间何止是一个应用层呀。他的理解很正确,像Cache、RAM都是这样的一个间接的中间层。这个观念最近对我理解计算机学科越来越有益处。

再举个例子:熟悉RTOS的朋友应该知道一个概念"板级支持包"(Board
support Package,BSP)。板级支持包是介于主板硬件和操作系统中驱动层程序之间的一层,一般认为它属于操作系统一部分,主要是实现对操作系统的支持,为上层的驱动程序提供访问硬件设备寄存器的函数包,使之能够更好的运行于硬件主板。就是这么一个承上启下的中间层,好处多多。它可以实现OS对底层的一个封装,让用户在不同的MCU平台下使用时不用花精力去关注不同的处理器对寄存器的实现方式。有一款RTOS叫做eCos,是用C++实现的。这可不多见,据我了解的大多数的RTOS都是使用C语言编写。eCos的BSP就做的非常好,它针对市面上的多种架构的MCU设计了不同的BSP(基于ARM、MIPS、PowerPC、x86、DSP等)。这样就极大的方便了用户,因为RTOS的用户经常面对的最头疼的一件事情就是平台移植,往往在第一步就把不少用户挡在门槛以外。这就是许多的RTOS使用者太少的最直接原因。

在计算机硬件领域还有一个非常有名的定律:摩尔定律。多年来对计算机硬件的发展同样起到了极大的推动作用。

牛顿曾经说过自己只不过是站在了前人们的肩膀上,所以才能看的更远一些。那么让我们也站在前人们的肩膀上登高而呼吧。

向各行各业的前辈们致敬!

2015.3.25
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐