成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

專家堂:[第171期]邁入Linux內核學習的神圣殿堂

企業動態
學習本身是件很玄乎的事情,有些人瀟瀟灑灑沒見怎么用心就能夠獲得很好的成績,而有些人則相反,投懸梁錐刺骨也還是成績平平收獲平平。這里面很大一部分的原因就是方法。當然因為每個人的情況并不相同,對于linux內核學習這件事來說,也就沒有這樣一個標準的方法存在,但是我們仍然可以來共同探討一下如何才能更加有效的去學習linux內核。

學習本身是件很玄乎的事情,有些人瀟瀟灑灑沒見怎么用心就能夠獲得很好的成績,而有些人則相反,投懸梁錐刺骨也還是成績平平收獲平平。這里面很大一部分的原因就是方法。當然因為每個人的情況并不相同,對于linux內核學習這件事來說,也就沒有這樣一個標準的方法存在,但是我們仍然可以來共同探討一下如何才能更加有效的去學習linux內核。

本期特邀請中國Linux內核領域的權威專家將針對在Linux內核學習過程中遇到的問題,給予解答。歡迎午飯積極提問,與專家一起討論!

專家著作: 《Linux內核修煉之道》 《linux那些事兒之我是USB》

本期專家: 任橋偉

擅長領域: Linux內核與驅動

專家簡介: 西安交通大學本科、上海交通大學碩博,資深研發工程師、項目經理、51CTO做客專家,專注于Linux內核與驅動開發。著有《Linux內核修煉之道》(人民郵電出版社)、《Linux那些事》(電子工業出版社)等備受網友關注的專業圖書。

查看本期門診精彩實錄:http://doctor.51cto.com/develop.php?cid=184

參與最新技術門診:http://doctor.51cto.com/

精選本期網友提問與專家解答,以供網友學習參考。

Q: 我想問一下專家,為了成為一名合格的網絡工程師,他應該了解linux的那些方面?

A: 既然是作為一名網絡工程師,首要的自然網絡方面的基礎,比如局域網、廣域網、各種網絡協議等,操作系統本身只是作為將這些網絡知識給予利用的一個平臺。如果是希望從事linux平臺上的工作,那么就需要對linux操作系統的系統架構以及工作原理進行一定程度的了解,當然對linux系統本身的使用也要非常的熟練,特別是要能夠熟練的掌握linux平臺上網絡相關的命令、工具。

Q:我想深入學習LINUX,打算從LINUX 0.01那一萬行代碼開始,你看合適嗎?我接觸LINIX不多,只有一些粗淺的知識,謝謝。

A: 你的問題實際上可以分解為兩個問題:如何深入學習linux,或者說如何學習linux內核?從哪一個版本開始學習比較合適,比如0.01?

對于第一個問題,根據你描述的自己的情況,我的建議是:

1. “先會使用它”,這也是linus本人的回答,也就是說首先要能夠熟練的使用linux操作系統。如果連linux是什么、常用的操作都不會就去研究內核,是不可能入“門”的。

2. 看懂內核源碼需要一些操作系統、C語言等的基礎。

3. 對內核有個整體的理解和認識。這方面,lkd這本書,和我的linux內核修煉之道應該都能夠幫助你。

4. 會配置和編譯內核,看得懂內核中的Kconfig和Makefile文件,這兩個文件就是內核中的地圖,看得懂它們,在內核里就不會迷路。

5. 記住,學習內核就是學習內核的源代碼,任何內核有關的書籍都是基于內核,而又不高于內核的。內核源碼本身就是最好的參考資料,其他任何經典或非經典的書最多只是起到個輔助作用,不能也不應該取代內核代碼在我們學習過程中的主導地位。因此你要做得是選擇內核的一個部分或子系統,以韓峰同志對待日記的態度,嚴謹而細致得理解每一段代碼的實現,多問多想多記。切勿抱著走馬觀花,得過且過的態度。

其實也就是我在linux內核修煉之道中總結的:全面了解抓基本,興趣導向深鉆研;融入社區做貢獻,堅持堅持再堅持。

下面是第二個問題,從哪一個版本開始學習比較合適?

我個人建議從新的內核開始,固然新內核的代碼非常龐大,但并沒有說非要求大求全,追求每個部分都要理解。學內核忌諱求大而全,如果對哪部分比較感興趣,研究相關的源碼和change就行了,當然仁者見仁智者見智,自己如果覺得從低版本開始更好更適合,那采用這種方式也未嘗不可,畢竟各人的路還是各自走的。

Q:盡管我知道Linux的內核有難度, 但是我還是想知道我要把C語言(或者匯編,再者其它語言)學到什么程度才能有足夠的知識去學習Linux內核? -------感謝專家的回答.

A:在《Linux內核修煉之道》的3.1節專門對類似問題做了回答,概括就是:

首先,學習Linux內核并不僅僅只需要C語言的知識,還需要掌握一些操作系統的理論基礎,甚至包括一些硬件的常識,畢竟linux內核源碼是一個操作系統的核心代碼。

其次,對于C語言來說,也不需要很精通,但要能夠鏈表等數據結構的C實現,當然對C越熟悉會越有幫助,意思就是說起碼要能夠看懂C代碼。我們在研究分析內核源碼的過程中,要去體會內核源碼的美。

Q:老師你好,我現在的目標是做linux系統管理員。我現在的公司是在給移動做電子商務平臺的,服務器也是用的linux的。但是我們很多權限都沒有,他們是有自己的系統組的負責管理linux的各種事務。我覺得現在的環境不大利于我的linux學習,老師有什么方法或者建議給我嗎?或者說我學習linux的一些注意事項或者方法?? 謝謝了

A:首先,環境是可以自己創造的,公司的沒有提供很多的權限,可以在自己的PC上搭建實踐的環境啊。下面是我個人的一些建議,希望對你有用。

1. 從命令開始從基礎開始。了解Linux 的基礎知識,包括用戶管理、群組的概念等;掌握常用的命令。

2. 作為一個linux系統管理員,要適應與習慣在命令行下工作的方式,并勤于實踐。

3. 學習shell等腳本語言。

4. 有一定的網絡的基礎,包括路由概念、OSI七層網絡模型、TCP/IP模型及相關服務對應的層次等。

5. 學會使用文檔,學會在linux社區尋求幫助與分享經驗。

Q:學習linux內核需要什么樣的基礎呢?

A:《Linux內核修煉之道》的3.1節即為介紹內核學習的技術基礎:

1. 熟練使用Linux操作系統。Linux操作系統是Linux內核在用戶層面的具體體現,只有熟練掌握Linux的基本操作,才能在內核學習的過程中達到事半功倍的效果。

2. 掌握操作系統理論基礎。只需要掌握操作系統中比較基礎的理論,比如分時(time-shared)和實時(real-time)的區別,進程的概念,CPU和系統總線、內存的關系等。

3. 掌握C語言基礎。不需要很精通C語言,但能夠理解鏈表、散列表等數據結構的C實現,用過GCC編譯器。當然,越熟悉C語言就會越有幫助。

Q:我想問一下 ,學習Linux的過程中, 在真實的機器上操作和在虛擬機上操作有什么不同么?需不需要真實的構建一臺純Linux系統的機器去進行學習?

A:先打個不是很恰當的比方,就像聯通的iphone作為iphone的閹割版,基本上并不會影響我們的使用。同樣,虛擬機上的linux也基本上不會影響我們去學習各種linux的操作,特別是對于新手。但是有條件的話,我建議還是直接安裝個linux系統在機子里,這樣起碼可以避免心理上對windows的那種依賴。

Q:請問專家一個問題,BSD內核與LINUX內核有什么差異。LINUX內核比BSD內核有什么優勢?

A:建議你去看一下這篇文章:“Solaris、Linux和FreeBSD的內核比較”

Q:我是一名企業網管,學習好linux有必要去玩LFS嗎

A:學習好Linux與去玩LFS應該沒有必然的聯系,但是玩LFS或許是一個菜鳥變成高手的捷徑,它可以幫助我們學習Linux系統的內部是如何工作的,并打下一個扎實的基礎。

Q:專家,你好,我接觸LINUX不太久,想了解和深入內核,怎樣有個循序漸進的過程,從哪里開始?

A:通常語言及其庫的學習分為幾個層次,1.熟練使用,2.閱讀源碼,了解實現原理,3.對源碼進行擴展。同樣,linux內核的學習也可以由淺入深劃分為幾個層次:全面了解抓基本,興趣導向深鉆研;融入社區做貢獻,堅持堅持再堅持。

第一層次全面了解抓基本是說:能夠對Linux以及內核有個全面的認識和了解,有個整體的概念,不求有多么深入,另外要掌握Linux內核源代碼的分析方法。內核源碼千千萬,還一直前仆后繼的往里面加,我們必須得掌握一種好的分析方法。

第二層次興趣導向深鉆研是說:在第一層次修煉中已經對內核有個全局的認識和了解之后,接下來就應該按照認識的發展規律,以興趣為導向,尋找一個子系統或模塊,對它的代碼深入鉆研和分析,不懂的地方就通過社區、郵件列表或者直接發Email給maintainer請教等途徑弄懂,千萬不要得過且過,這樣分析下來,對同步、中斷等等內核的很多機制也同樣會非常了解,俗話說一通則百通就是這個道理。

第三層次融入社區做貢獻是說:通過第二層次的修煉,你應該對至少一到兩個部分有了很深入的理解,對內核代碼采用的通用手法也已經很熟悉,那么你應該開始進入第三層次,努力融入到內核的開發社區,此時的你已經不會再是社區中潛水小白的角色,而是會針對某個問題發表自己的見解。你已經可以嘗試參與到內核的開發中去,即使僅僅修改了內核中的一個錯誤單詞,翻譯了一份大家需要的文檔,也是做出了自己的貢獻,會得到大家的認可。

最后一個層次可以歸納為兩個字,就是“堅持”,能夠在內核的修煉之道上走多遠,都取決于我們能夠堅持多久。

這些正是《Linux內核修煉之道》中所總結的,具體可以參考書中或者我博客中所講的內容。

Q:我是做javaee方面的,我們的服務器用的就是RedHat,我想學習服務器方面的配置,是不是用不著學習linux內核啊。但是服務器的管理好像需要些一些腳本。那是不是內核又必須要了解啊~

A:確實沒太大必要去學習內核,不過對內核了解一些的話,比如內核的整體框架,應該會對自己有一定的幫助。

Q:大學時學過一期的FEDORA 9,由于自身對LINUX感興趣,看過不少RHCE教程,并自學RHEL 5一年,對LINUX基本操作和服務的基本配置都有所掌握,但一直停留在這個基礎上,由于工作上也沒有涉及到LINUX,沒有實踐經驗,只能自己模擬。想請教一下,對于我現在這種情況,如何尋找突破點,可以在LINUX上提高一個層次。

A:你這樣的情況,對于Linux的使用與配置應該算是非常的嫻熟了,如果希望能夠提高一下,倒可以去玩一下LFS,再了解一下內核,對內核的框架結構以及工作流程有一定的理解,當然這些是基于你感興趣的基礎上。

Q:您好!我現在是一個培訓學校的網絡管理員,但是我對于網絡的前景很茫然,不知道該確定那個方向,在網上查了一些資料,但是還是很猶豫,想請前輩們,詳細說一下網絡的發展前景,和所需要學習哪些具體的內容。謝謝!!!

A:說起發展前景,我相信任何方面只要做到足夠的專,都會非常的受歡迎和搶手的。

如果你自己本身很希望做這方面的事情,那就多研究研究這方面所需要的知識,比如網絡,然后注意積累平時工作學習中遇到的問題以及解決辦法,這樣在某個階段量變才會引起質變。

就像我在說如何學習內核的時候說的,好奇心是一切事物發展的原動力,它決定了你在某一領域所能達到的成就。意思就是,遇到問題不要得過且過,盡力的去想辦法解決,或者去盡力的發現問題,你自己的水平會很快的得到提高的。

Q:我現在正在學習Linux的各種操作(想作為以后的工作方向),但是學習的時候有很多疑惑,感覺學這個好像沒什么用似的,也是一種操作系統嘛,能做些基本的操作就行了,那么我們學習Linux更深入一點到底能干什么?我真的想在這一行有所成,但是現在卻感覺很渺茫,不知道從事Linux到底能干什么。其實很羨慕那些做開發的人,C語言也學了,但是卻不知道從何做起,如果真讓我做個什么程序的話又什么都做不出來,老師您說,我現在應該怎么學習比較好呢?

A: Linux和windows一樣,僅僅是一個操作系統,我們能在上面做什么取決于我們希望利用它們做什么。如果僅僅是好奇著玩玩的話,那么一些基本的命令,圖形界面會使用就成了,如果是希望從事系統管理網絡管理方面的工作,那么應該注意去培養自己shell、網絡知識等等方面的素質,如果希望往底層發展,比如從事驅動和內核相關的開發,那么就要對內核有所理解,這個時候可以按照我在《Linux內核修煉之道》里的方法去學習,也可以尋找一種適合自己的學習方法。

不管做什么事情,最重要最關鍵的一步就是去開始,開發沒什么神秘的,你可以嘗試著寫一些小的東西,去找一些項目來做,或者自己做一些小玩意兒小游戲都是可以的。

Q:老師您好。我以后想做Linux 下的JAVA 開發。需要怎么做呢?先熟悉Linux 的基本操作,然后再移植過來?還是怎么的啊?感謝專家。

A:既然是Linux下的Java開發,兩個關鍵點就是Linux和Java,也就是說Linux上的基本操作、環境配置和開發工具要比較的熟悉,起碼使用起來沒什么障礙,同時就是Java語言的掌握。

其實只要不做底層的開發,不管windows還是linux也都只是提供了一個開發以及使用的環境和平臺,只是一個工具而已。

Q:請問如果成為一個合格的linux系統工程師,至少需要具備哪些方面的知識?能詳細談及一下嗎?

比如對系統的管理?對文件的管理?對磁盤的管理?對服務的管理?安全設置?除此之外還有嗎?在這些管理中哪些管理是比較重要的?shell編程對于系統管理來說重要嗎?內核管理對系統管理重要嗎?謝謝老師的解答~~

A: 1. 還有網絡、數據庫等方面的知識。

2. shell等腳本的編程和使用是很重要的。

3. 對內核研究很深確實沒太大必要,不過了解一些內核的架構和工作流程還是有幫助的。

Q:您好。我打算學習kernel,可是真的不知道從哪里入手。很想有一個互動的學習環境,因為學習內核主要還是自己啃課本,太難入手了。

A:首先,對于如何入手,我在《Linux內核修煉之道》里已經總結了4個循序漸進的層次“全面了解抓基本,興趣導向深鉆研;融入社區做貢獻,堅持堅持再堅持”,具體的內容,你可以看看這本書或者我的博客,上面說了很多我在學習內核上的建議和感悟。

其次,要糾正一下你“學習內核主要還是自己啃課本”的說法,記住,學習內核就是學習內核的源代碼,任何內核有關的書籍都是基于內核,而又不高于內核的。內核源碼本身就是最好的參考資料,其他任何經典或非經典的書最多只是起到個輔助作用,不能也不應該取代內核代碼在我們學習過程中的主導地位。

Q:我原來接觸Linux 比較多但是現在工作中好長時間沒有用了 搭建linux 服務都忘掉了 但是我還是很喜歡linux 我想知道linux 運維都需要知道哪些哦 我想去專攻

A:給一個我們以前招linux運維工程師的要求,你可以參考下:

1. 熟悉運維相關技術,制定運維技術方案;

2. 至少熟悉一種腳本語言,能夠開發運維工具進行系統管理;

3. 熟悉運維相關的網絡技術;

4. 熟悉大規模機群系統的維護管理;5. 深入理解Linux/FreeBSD系統,有系統調優經驗者優先。

Q:您好,學習內核將來可以從事什么樣的工作?考取rhce,有用嗎?rhce,適合做什么樣的工作?請解惑,謝謝

A:1. 學習內核可以從事內核和驅動開發的工作啊。

2. 考取rhce貌似不是關鍵,關鍵的是自己的水平真正的提高了。

Q:我是北大青鳥的,我剛工作出來,現在干監控,我想學linux,以后的道路不知道怎么走

A:想學就去學吧,很多事沒有去做的時候,是不知道做了之后會有多大的影響的。送你一句話,也是我《Linux內核修煉之道》前言里的一句話:今天的必然正是由之前一系列的偶然所決定的。

Q:問問,初期學習linux 以什么版本學習為好。現在linux有很多版本,但是初期學習以那個版本為好。雖然命令大部分都一樣,但是還是有很多區別的吧。

A:如果你指的是發行版的話,那看自己喜好了,隨便哪個都成,現在用的比較多的是ubuntu。

如果你指的是內核版本的話,我個人建議從新的內核開始,固然新內核的代碼非常龐大,但并沒有說非要求大求全,追求每個部分都要理解。學內核忌諱求大而全,如果對哪部分比較感興趣,研究相關的源碼和change就行了,當然仁者見仁智者見智,自己如果覺得從低版本開始更好更適合,那采用這種方式也未嘗不可,畢竟各人的路還是各自走的。

Q:老師 你好!使用LINUX系統有一段時間了,會一些操作等,能夠駕設一些服務器,但總感覺是機械化的操作,只知道不停得編輯配置文件,出現了問題,不知道哪里下手。靈活性不強,還是沒有一個非常全面的系統認識,想深入內核學習,但好像英語能力差,是個瓶頸,怎么深入。

A:學習內核,英語能力好當然會有很大的幫助,不過差些也沒太大問題,主要是C等語言基礎能看得懂代碼,畢竟英語雖然是國際通用語言,但在開發層次上來說,通用的語言是代碼,呵呵。如果不知道怎么對內核入門的話,可以去看看我的博客,或者我的那兩本書,應該會有很大的幫助。

Q:如何對linux操作系統的系統架構以及工作原理進行學習和了解

A:1. 玩一下LFS。

2. 找本內核的入門書看看。

Q:Linux命令,看到眼花瞭亂的,記住這個又忘了那個,頭都大了,有沒有什么好的學習方法,看你都高級的工程師了。哈哈!謝謝了!

A:命令?用熟了就記得了,沒必要去記。旁邊放個手冊,用的時候如果忘了就看下,熟了就記得了。

【編輯推薦】

  1. 移動開發一線專家為您排疑解惑
  2. 2010年上半年軟考信息系統項目管理師上午試題
  3. [技術門診165期]對日外包有前途嗎?專家帶你走進對日外包行業
責任編輯:佟健 來源: 51CTO專家堂
相關推薦

2010-02-01 16:47:24

2009-07-29 18:01:47

ibmdwRational

2011-12-22 17:31:51

技術門診

2014-08-27 10:01:28

網絡·安全技術周刊

2009-06-23 17:52:04

Linux程序設計

2009-06-23 18:13:21

2009-11-12 14:44:21

RIP路由協議

2011-04-26 09:43:22

2011-03-24 10:55:35

2020-02-25 17:40:18

疫情5G醫療

2010-04-20 10:58:25

51CTO技術周刊

2009-04-28 15:25:25

51CTOIT專家堂

2009-12-15 10:12:51

2013-12-18 15:54:21

2012-08-22 13:33:39

移動視頻

2019-07-08 20:00:35

Linux內核模塊

2010-06-07 13:28:57

Linux

2018-02-06 23:30:07

文件存儲數據

2017-05-25 08:56:22

硬盤性能特征

2017-10-09 22:33:56

SQL等值分組有序分組
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 婷婷去俺也去 | 国产精品国产 | zzzwww在线看片免费 | 天天天操操操 | 男女污污网站 | 久久久激情视频 | 99精品国自产在线观看 | 久久久www成人免费精品张筱雨 | 国产一区91精品张津瑜 | 99热首页| 中文字幕91av | 一级黄色片在线免费观看 | 夜夜草| 久久久久久久91 | 欧美一区视频在线 | 我要看免费一级毛片 | 欧美无乱码久久久免费午夜一区 | 精品一区二区三区四区五区 | 97精品久久 | 日韩在线中文字幕 | 一区二区成人在线 | 91在线看网站 | 5060网一级毛片 | 成人免费共享视频 | 亚洲精品视频在线观看免费 | 黄色一级免费看 | 亚洲成人免费视频 | 国产精品视频久久 | 性生活毛片| 久久精品国产亚洲 | 在线视频中文字幕 | 日日操网站 | 色姑娘综合网 | 久久国产欧美日韩精品 | 国产精品一区二区av | 亚洲国产aⅴ成人精品无吗 国产精品永久在线观看 | 日本爱爱| 亚洲精品在线视频 | 欧美日韩高清一区 | 欧美日韩电影一区二区 | 色一情一乱一伦一区二区三区 |