真佩服樓上的2位對「內核編程」的理解力!
簡單說,Linux內核編程就是開發Linux驅動程序,學會內核編程後,將會對操作系統的內部機制和工作原理有充分了解,可以從事硬體驅動開發、嵌入式系統開發等。內核編程的語言仍是傳統的C語言,但其編寫方法和調用介面與傳統應用程序的差別較大,你必須了解如何處理中斷、如何在內核態和用戶態之間轉換、PCI、DMA、內核地址映射、內核I/O等,這不是《UNIX高級編程》所涉及的內容,可以找一本專門講Linux驅動編程的書看看,或在網上搜尋相關資料(關鍵詞:Linux DDK)。不過先提醒一句,學習內核編程的難度很大,必須做好長期心理准備
2. linux 系統編程, 驅動編程 , 內核編程 有什麼區別《UNIX高級編程》的內容是哪一類的
系統編程,注重性能,比如伺服器端的編程,一般最底層使用c,自己對內存管理文件系統管理進行優化
驅動編程,主要是為了把linux一直到嵌入式設備,linux內核是一個龐大的系統,但不是所有設備都用上這些,而且對於兼容性問題,還要做一些修改。比如在iphone出來之前,都是使用嵌入式設計一些PDA和山寨手機系統
至於內核編程,其實也是對性能的追求,但內核編程調用的API級別更高,相對來說系統編程,是標準的API
《U高級編程》一般沒太多說明,都是系統編程
3. 學習linux內核編程有什麼用
這就要根據個人的具體情況及未來你的就業方向,現在大部分用戶使用window系統,一般大部分還是編寫window軟體,這樣對你的就業范圍大,但是一些伺服器大多是使用linux和unix系統,另外還要看你自己的變程的技術和對知識的渴望度,如果你對c語言較熟悉的話,那麼這兩個內核編程你先學那個都一樣的,因為大部分都還是用的c語言的,
4. linux 內核 編程 包含路徑
目錄包括了所有和體系結構相關的核心代碼。它下面的每一個子目錄都代表一種Linux支持的體系結構,例如X86就是Intel CPU及與之相兼容體系結構的子目錄。Arch目錄下的子目錄包括:/arch/kernel、/arch/mm、/arch/include、/arch/boot、/arch/configs。
其中/arch/kernel目錄包含了與CPU相關的中斷和SMP等信息,/arch/boot包含了系統啟動的相關信息和make之後生成的啟動鏡像文件bzImage。
5. 操作系統linux與unix內核一樣嗎
不一樣,unix是大型機系統,內核是保密的。而linux是微型機系統,內核是公開的。可以根據你軟體使用的平台選擇開發平台。本人目前用的linux,感覺相當不錯,很方便,各種工具和支持也很全~
6. unix環境高級編程 可以用linux學嗎
UNIX環境高級編程》這本書對於初學者來說還太難。建議從基礎開始學習。 linux: Linux是一套免費使用和自由傳播的類Unix操作系統,是一個基於POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的操作系統。它能運行主要的UNIX工具軟體、應用程序和中國絡協議。它支持32位和64位硬體。Linux繼承了Unix以中國絡為核心的設計思想,是一個性能穩定的多用戶中國絡操作系統。 Linux操作系統誕生於1991 年10 月5 日(這是第一次正式向外公布時間)。Linux存在著許多不同的Linux版本,但它們都使用了Linux內核。Linux可安裝在各種計算機硬體設備中,比如手機、平板電腦、路由器、視頻游戲控制台、台式計算機、大型機和超級計算機。 嚴格來講,Linux這個詞本身只表示Linux內核,但實際上人們已經習慣了用Linux來形容整個基於Linux內核,並且使用GNU 工程各種工具和資料庫的操作系統
7. 該怎麼學習linux內核編程
學習內核的好處很多,在學習過程中不僅可以夯實大量理論基礎,還可以學習到很多編碼慣用法,提升學習能力和分析能力。那麼應該怎麼學習Linux內核編程呢?
一、確立高度,明確目標(高度決定視角,視角決定行動)
個人的心得是從高到低的學習,在一個新的學習階段,應該先多花點時間學習一些概念化的內容,這時候切忌去看具體的實現,而是多考慮如何在大腦中構建各種抽象模型
二、學習小Tips
如何看書:要帶著問題看書
如何看代碼:前提是你要對整體的框架、結構有一定清晰的了解。
三、多看一些有關的書籍和視頻
8. Linux內核編程如何使用PCRE
9. 要進行Linux內核編程,有什麼好書推薦!
內核不需要你編程,建議你還是看看linux驅動之類的書籍。
10. 求大神 講解 linux內核編程 與 linux kernel mole 編程是一個概念嗎有什麼區別
確認的說,不是一個概念!
首先,LKM(linux kernel mole)是作為一個程序模塊被載入到內核運行的,它的特殊之處就表現在很靈活,可載入,可卸載,但它運行的是在內核提供的上下文之中,所以和內核的程序又是一樣的,一樣的環境,函數,數據結構……
但體現在編程上,linux內核編程你在內核源碼的基礎上增刪查改,然後你得重新編譯出一個新的內核,才能載入,運行……
而LKM編程,你只需要寫成一個個的模塊,然後make,insmod就行了!