linux核心編譯選項詳解(二):Loadable Module and Block Layer Support

來源:互聯網
上載者:User

[*] Enable loadable module support  --->


開可載入模組支援,如果開啟它則必須通過"make
modules_install"把核心模組安裝在/lib/modules/中這個選項可以讓你的核心支援模組,模組是什麼呢?模組是一小段代碼,編譯
後可在系統核心運行時動態加入核心,從而為核心增加一些特性或是對某種硬體進行支援。一般一些不常用到的驅動或特性可以編譯為模組以減少核心的體積。在
運行時可以使用modprobe命令來載入它到核心中去(在不需要時還可以移除它)。一些特性是否編譯為模組的原則是,不常使用的,特別是在系統啟動時不
需要的驅動可以將其編譯為模組,如果是一些在系統啟動時就要用到的驅動比如說檔案系統,系統匯流排的支援就不要編為模組,否則無法啟動系統。在啟動時不用到
的功能,編成模組是最有效方式。你可以查看MAN手冊來瞭解:modprobe, lsmod, modinfo, insmod 和 rmmod.
如果不清楚,選Y。

  • [ ]   Forced module loading

    允許強制載入模組
  • [*]   Module unloading

    允許卸載已經載入的模組
  • [*]   Forced module unloading

    允許強制卸載正在使用中的模組(比較危險)這個選項允許你強行卸載模組,即使核心認為這不安全。核心將會立即移除模組,而不管是否有人在使用它(用 rmmod -f 命令)。這主要是針對開發人員和衝動的使用者提供的功能。如果不清楚,選N。
  • [ ]   Module versioning support

    有時候,你需要編譯模組。選這項會添加一些版本資訊,來給編譯的模組提供獨立的特性,以使不同的核心在使用同一模組時區別於它原有的模組。這有時可能會有點用。如果不清楚,選N。允許使用其他核心版本的模組(可能會出問題)
  • [ ]   Source checksum for all modules

    為所有的模組校正源碼,如果你不是自己編寫核心模組就不需要它這個功能是為了防止你在編譯模組時不小心更改了核心模組的原始碼但忘記更改版本號碼而造成版本衝突。如果不清楚,選N。

-*- Enable the block layer  --->


裝置支援,使用硬碟/USB/SCSI裝置者必選這選項使得塊裝置可以從核心移除。如果不選,那麼 blockdev 檔案將不可用,一些檔案系統比如
ext3 將不可用。這個選項會禁止 SCSI 字元裝置和 USB
儲存裝置,如果它們使用不同的塊裝置。選Y,除非你知道你不需要掛載硬碟和其他類似的裝置。不過此項無可選項

  • [*]   Support for large (2TB+) block devices and files   

    僅在使用大於2TB的塊裝置時需要
  • [*]   Block layer SG support v4

    通用scsi塊裝置第4版支援
  • [ ]   Block layer data integrity support

    塊裝置資料完整性支援
  • IO Schedulers  --->

    IO調度器I/O是輸入輸出頻寬控制,主要針對硬碟,是核心的必須的東西。這裡提供了三個IO調度器。
    • <*> Anticipatory I/O scheduler

      使
      用於大多數環境假設一個塊裝置只有一個物理尋找磁頭(例如一個單獨的SATA硬碟),將多個隨機的小寫入流合并成一個大寫入流,用寫入延時換取最大的寫入
      輸送量.適用於大多數環境,特別是寫入較多的環境(比如檔案伺服器)搶先式 I/O
      調度方式是預設的磁碟調度方式。它對於大多數環境通常是比較好的選擇。但是它和Deadline I/O
      調度器相比有點大和複雜,它有時在資料調入時會比較慢。
    • <*> Deadline I/O scheduler

      使
      用輪詢的調度器,簡潔小巧,提供了最小的讀取延遲和尚佳的輸送量,特別適合於讀取較多的環境(比如資料庫)Deadline
      I/O調度器簡單而又緊密,在效能上和搶先式調度器不相上下,在一些資料調入時工作得更好。至於在單進程I/O磁碟調度上,它的工作方式幾乎和搶先式調度
      器相同,因此也是一個好的選擇。
    • <*> CFQ I/O scheduler

      使用QoS策略為所有任務分配等量的頻寬,避免進程被餓死並實現了較低的延遲,可以認為是上述兩種調度器的折中.適用於有大量進程的多使用者系統CFQ調度器嘗試為所有進程提供相同的頻寬。它將提供平等的工作環境,對於案頭系統很合適。
    • Default I/O scheduler (CFQ)  --->


      認IO調度器我這樣理解上面三個IO調度器:搶先式是傳統的,它的原理是一有響應,就優先考慮調度。如果你的硬碟此時在運行一項工作,它也會暫停下來先響
      應使用者。期限式則是:所有的工作都有最終期限,在這之前必須完成。當使用者有響應時,它會根據自己的工作能否完成,來決定是否響應使用者。CFQ則是平均分配
      資源,不管你的響應多急,也不管它的工作量是多少,它都是平均分配,一視同仁的。
      • ( ) Anticipatory
      • ( ) Deadline
      • (X) CFQ
      • ( ) No-op 
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.