《Linux內核設計與實現》讀書筆記 1&2

第一章    Linux內核簡介linux

1.2追尋Linus足跡:linux簡介git

         Linus開發。Linux是類Unix系統。Linux內核也是自由軟件。shell

1.3操做系統和內核簡介服務器

  操做系統:在整個系統中負責完成最基本功能和系統管理的那些部分。包括內核、設備驅動程序、啓動引導程序、命令行shell或者其餘種類的用戶界面、基本的文件管理工具和系統工具。網絡

  內核:內核纔是操做系統的核心。由負責響應中斷和中斷服務程序、負責管理多個進程從而分享處理器時間的調度程序,負責管理進程地址空間的內存管理程序和網絡、進程間通訊等系統服務程序共同組成。獨立於普通應用程序,通常處於系統態併發

1.4Linux內核和傳統內核的比較異步

  單內核工具

    從總體是做爲一個單獨的大過程實現。你們都身處同一地址空間,內核之間的通訊是微不足道的。單模塊具備簡單和性能高的特色。性能

  微內核網站

    微內核功能被劃分爲多個獨立的過程。經過消息傳遞處理微內核通訊,採用進程間通訊(IPC)機制 

    實際應用的基於微內核的系統都讓大部分或所有服務器位於內核。

  Linux內核

    支持動態加載內核模塊;支持對稱多處理機制;內核能夠搶佔;對內核來講全部進程都同樣;提供北郵設備類的面向對象的設備模型;

1.5Linux內核版本

         穩定的和處於開發中的。

1.6Linux內核開發者社區

         Linux內核郵件列表頗有用。

 

第二章    從內核出發

2.1獲取內核源碼

         Linux內核官方網站http://www.kernel.org

         使用GIt:

      獲取最新提交到Linux版本樹的一個副本:git clone git://git.kernel.org/pub/scm/linux/kernel/gie/Torvalds/linux-2.6.git

         使用補丁;

      至關於更新版本:patch –pl<../patch-x.y.z

2.3編譯內核

         編譯內核以前須要進行配置。配置爲二選一(yes or no)或三選一(yes or no or module)

         配置工具:make config 遍歷全部配置項,耗時長

                       Make menuconfig 基於ncurse庫編制的圖形界面工具

                       Make gconfig 基於gtk+的圖形工具

                       Make defconfig 缺省配置

         配置完成須要make就能夠編譯

2.4內核開發的特色

         與應用程序開發的不一樣:

  • 既不能訪問C庫也不能訪問標準的C頭文件庫
  • 必須使用GUN C
  • 缺少像用戶空間那樣的內存保護機制
  • 難以執行浮點運算
  • 給每一個進程只有一個很小的定長堆棧
  • 因爲內核支持異步中斷、搶佔和SMP,所以必須時刻注意同步和併發
  • 要考慮可移植性
相關文章
相關標籤/搜索