翻譯:Understanding Linux Network Internals [Preface 前言]

來源:互聯網
上載者:User

目錄:http://www.cnblogs.com/WuCountry/archive/2008/11/15/1333960.html

Preface 前言

Today more than ever before, networking is a hot topic. Any electronic gadget in its latest generation embeds some kind of networking capability. The Internet continues to broaden in its population and opportunities. It should not come as a surprise that a robust, freely available, and feature-rich operating system like Linux is well accepted by many producers of embedded devices. Its networking capabilities make it an optimal operating system for networking devices of any kind. The features it already has are well implemented, and new ones can be added easily. If you are a developer for embedded devices or a student who would like to experiment with Linux, this book will provide you with good fodder.

現在,網路這個主題比以往任何時候都要熱門。任何一個小的電子裝置,到了它的最後一代,都會提供一些連網的功能。而互連網也是在它的機遇和領域上不斷的增長。當Linux做一為個可以免費取得,功能豐富的作業系統, 而被許多它的嵌入式裝置廠商所採用時,不要為此感到驚奇。它的網路能力讓它成為許多網路裝置的最佳操系統。一些特性已經實現,而新的特性也可以很容易的添加進來。如果你是一個嵌入式裝置的開發人員,或者是一位想在Linux下做一些實驗的學生,這本書將是一份不錯的資料。

The performance of a pure software-based product that uses Linux cannot compete with commercial products that can count on the help of specialized hardware. This of course is not a criticism of software; it is a simple recognition of the consequence of the speed difference between dedicated hardware and general-purpose CPUs. However, Linux can definitely compete with low-end commercial products that are entirely software-based. Of course, simple extensions to the Linux kernel allow vendors to use Linux on hybrid systems as well (software and hardware); it is only a matter of writing the necessary device drivers.

一個完全基於軟體(來改善效能)的產品的效能,無法與一些依靠特殊硬體(來改善效能)的商業產品。因為它不是一個挑剔的軟體,它可以簡單的識別特殊的硬體和一些多用途的CPU(譯註:本句確實不好理解,第二次也就譯成為樣)。然而,Linux還是完全可以滿足那些基於軟體的低端商業產品的要求。當然,簡單的擴充一下Linux核心,就可以讓一些供應商在軟體和硬體混合的系統中很好的使用Linux,而這隻要寫一些必須的裝置驅動。

Linux is also often used as the operating system of choice for the implementation of university projects and theses. Not all of them make it to the official kernel (not right away, at least). A few do, and others are simply made available online as patches to the official kernel. Isn't it a great satisfaction and reward to see your contribution to the Linux kernel being used by potentially millions of users? There is only one drawback: if your contribution is really appreciated, you may not be able to cope with the numerous emails of thanks or requests for help.

Linux做為一個作業系統,也經常被一些大學選為科研項目和論文主題。並不是所有的這些都是想把研究加入到官方的核心中去(不完全對,但至少是)。更少的,一些人簡單的在網上提供一些官方核心的補丁供別人使用。當你看到你對Linux的貢獻被潛在的成千上萬個使用者在使用時,是不是感覺得到極大的滿足和欣慰呢?但這一個不好的地方:就是一但你的貢獻真的被大家所認可,你就會難於應付大量的感謝函和求助信。(譯註:當然,你是用電子郵件和大家聯絡。)

The momentum for Linux has been growing continually over the past years, and apparently it can only keep growing.

支援Linux發展的動力在過去幾年裡不斷的增長,顯然還會繼續。

I first encountered Linux at the University of Bologna, where I was a grad student in computer science around 10 years ago. What a wonderful piece of software! I could work on my image processing projects at home on an i286/486 computer without having to compete with other students for access to the few Sun stations available at the university labs.

我第一次接觸到Linux是在Bologna大學,十年前,我在那裡畢業於電腦。它確實是一個令人驚奇的的軟體! 我可以在家裡的i386/486上運行我的圖形處理工程,而不用在大學的實驗室裡和同學爭用少數的幾台Sun工作站。

Since then, my marriage to Linux has never seen a gray day. It has even started to displace my fond memories of the glorious C64 generation, when I was first introduced to programming with Assembly language and the various dialects of BASIC. Yes, I belong to the C64 generation, and to some extent I can compare the joy of my first programming experiences with the C64 to my first journeys into the Linux kernel.

從那以後,我就和Linux結下了不解之緣。當我第一次瞭解到組合語言和多種版本的BASIC語言的程式設計時,它甚至取代了我的美好回憶--光榮的C64一代。確實,我屬於C64一代,在一定程度上,我可以把兩者的喜悅相提並論:第一次在C64上編程的經曆和進入Linux核心的曆程。(譯註:不知道C64一代的背景,不好理解。)

When I was first introduced to the beautiful world of networking, I started playing with the tools available on Linux. I also had the fortune to work for a UNESCO center in Italy where I helped develop their networking courses, based entirely on Linux boxes. That gave me access to a good lab equipped with all sorts of network devices and documentation, plus plenty of Linux enthusiasts to learn from and to collaborate with.

當我第一次接觸到網路這個美麗的世界時,我開始玩弄一些Linux下的工具。而且我很幸運能為意大利的UNESCO中心工作。當時我協助他們開發一些完全基於Linux機器的網路課程。這給我提供了一個很好的實驗室,裡面有各種不同的網路裝置和資料,而且有很多Linux狂熱者,可以向他們學習和他們一起合作。

Unfortunately for my own peace of mind (but fortunately, I hope, for the reader of this book who benefits from the results), I am the kind of person that likes to understand everything and takes very little for granted. So at UNESCO, I started looking into the kernel code. This not only proved to be a good way to burn in my knowledge, but it also gave me more confidence in making use of user-space configuration tools: whenever a configuration tool did not provide a specific option, I usually knew whether it would be possible to add it or whether it would have required significant changes to the kernel. This kind of study turns into a path without an end: you always want more.

不幸的是因為我自己安穩的想法(也是幸運,我希望是,做為本書的讀者可以從中受益),我就是那種什麼都想知道,卻對本質瞭解很少的那種人。所以,在UNESCO, 我開始瞭解核心代碼。這不僅提供了一個好的方法讓知識在我的大腦裡留下深刻的印象,同時在使用者空間的工具配置上,也給了我不少的信心:不管一個工具的配置是否提供了特殊的選項,我通常會知道它是否會有可能添加到核心,或者是否會對核心的修改有特殊的要求。這種學習方式轉向了一條不歸路:你總想知道更多。

After developing a few tools as extensions to the Linux kernel (some revision of versions 2.0 and 2.2), my love for operating systems and networking led me to the Silicon Valley (Cisco Systems). When you learn a language, be it a human language or a computer programming language, a rule emerges: the more languages you know, the easier it becomes to learn new ones. You can identify each one's strengths and weaknesses, see the reasons behind design compromises, etc. The same applies to operating systems.

在我為Linux核心開發了一些工具以後(有一些在2.0版本和2.2版本中有保留),我對作業系統和網路的熱愛讓我到了矽谷(思科)。當你學習一種語言時,是電腦語言或者是人類語言,展現一個規則:你瞭解的語言越多,你學習一個新的語言時就更容易。你可以區別每一種語言的的優勢和不足,瞭解設計折衷背後的原因,等等。這同樣也適用於作業系統。

When I noticed the lack of good documentation about the networking code of the Linux kernel and the availability of good books for other parts of the kernel, I decided to try filling in the gapor at least part of it. I hope this book will give you the starting documentation that I would have loved to have had years ago.

當我注意到,關於Linux核心網路代碼的好資料非常缺泛時,還有核心其它部份的好書也缺少時,我決心試著填補這一空白,至少是其中的一部份。我希望這本書會給你啟蒙的資料,就像是我多年前想要的那樣。

I believe that this book, together with O'Reilly's other two kernel books (Understanding the Linux Kernel and Linux Device Drivers), represents a good starting point for anyone willing to learn more about the Linux kernel internals. They complement each other and, when they do not address a given feature, point the reader to external documentation sources (when available).

我相信,這本書和O'Reilly的其它兩本核心的書(Understanding the Linux Kernel and Linux Device Drivers),為任何一個想學習更多Linux核心的人,展示一個好的起點。它們相互補充,當他們不涉及到指定的特性時,就是告訴讀者,有必要時自己找一些其它的資料。

However, I still suggest you make some coffee, turn on the music, and spend some time on the source code trying to understand how a given feature is implemented. I believe the knowledge you build in this way lasts longer than that built in any other way. Shortcuts are good, but sometimes the long way has its advantages, too.
然而,我還是建議你弄點Coffee,開啟音樂,然後花點時間在原始碼上,試著搞明白一個給定的特性是如何?的。我相信,你通過這種方法建立的知識體系,比其它任何一種方法都好。有捷徑是好,但有時候長遠的路也有它的優勢。

 

翻譯體會:很不幸,今天機器突然Down掉,原來翻譯了60%的內容全部沒了。(我是一個習慣於Ctrl+s的人,可今天卻也有個意外),還好,正好書中所言,走長一點的路有時候也有好處。有幾處的翻譯覺得不好,也沒理解,就先放在那裡了。還好有源文,就不太擔心誤人子弟了。有幾處覺得很有收穫的:
The performance of a pure software-based product that uses Linux cannot compete with commercial products that can count on the help of specialized hardware.
足足花了我近10分鐘,仔細分析,才明白要比較的是兩種產品的效能,一種是基於軟體最佳化的,一種是基於硬體的。

Yes, I belong to the C64 generation, and to some extent I can compare the joy of my first programming experiences with the C64 to my first journeys into the Linux kernel.
這一句也是讓我想了半天,也是仔細想想才明白,比較的都是喜悅,一個是第一次編程的經曆,另一個是進入Linux核心的曆程。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.