Any problem in computer science can be solved with another layer of indirection
生活随笔
收集整理的這篇文章主要介紹了
Any problem in computer science can be solved with another layer of indirection
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Any problem in computer science can be solved with another layer of indirection. ?--by a predecessor of computer science.
中文譯文:“任何計算機科學領域的問題都能通過增加一個間接的應用層來解決?!?#xff08;不要吐槽俺的翻譯能力 )? ? ? ? 相信有幾年編程經歷的朋友都聽說過這句話,原文出處已經無法核實。所以我用了“一位計算機科學領域的前輩”這樣的稱呼來給這句話找一位作者。
這句話很久以前就聽說過,當時我剛接觸計算機相關學科,還在學習《計算機組成原理》、《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
? ? ? ??
總結
以上是生活随笔為你收集整理的Any problem in computer science can be solved with another layer of indirection的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Keil5.26、Keil5.27、Ke
- 下一篇: 嵌入式Linux操作系统学习规划 (转)