Linux內(nèi)核模塊

盡管Linux是"單塊內(nèi)核"(monolithic)的操作系統(tǒng)--這是說整個系統(tǒng)內(nèi)核都運(yùn)行于一個單獨(dú)的保護(hù)域中,但是linux內(nèi)核是模塊化組成的,它允許內(nèi)核在運(yùn)行時動態(tài)地向其中插入或從中刪除代碼。這些代碼(包括相關(guān)的子線程、數(shù)據(jù)、函數(shù)入口和函數(shù)出口)被一并組合在一個單獨(dú)的二進(jìn)制鏡像中,即所謂的可裝載內(nèi)核模塊中,或簡稱為模塊。支持模塊的好處是基本內(nèi)核鏡像盡可能的小,因?yàn)榭蛇x的功能和驅(qū)動程序可以利用模塊形式再提供。模塊允許我們方便地刪除和重新載入內(nèi)核代碼,也方便了調(diào)試工作。而且當(dāng)熱插拔新設(shè)備時,可通過命令載入新的驅(qū)動程序。

Linux內(nèi)核模塊造價信息

市場價 信息價 詢價
材料名稱 規(guī)格/型號 市場價
(除稅)
工程建議價
(除稅)
行情 品牌 單位 稅率 供應(yīng)商 報價日期
模塊化機(jī)房 FusionModule800 查看價格 查看價格

華為

13% 山東科普電源系統(tǒng)有限公司
PWJ蓄水模塊 1200×600×600 查看價格 查看價格

華暢科技

m3 13% 河南華暢建筑科技有限公司
信號轉(zhuǎn)接控制模塊 DS-XHZHKZ-02(內(nèi)部信號轉(zhuǎn)換模塊) 查看價格 查看價格

江蘇明朗

13% 江蘇明朗照明科技有限公司
雷達(dá)流量檢測模塊 雷達(dá)流量檢測模塊 查看價格 查看價格

海通

13% 江蘇海通交通集團(tuán)有限公司南寧分公司
模塊(模塊箱) 1.名稱:2防區(qū)報警模塊2.其他:詳見招標(biāo)圖紙及技術(shù)要求 DS7460i-CHI 查看價格 查看價格

博世

13% 廣州澳星電子有限公司
DI模塊 查看價格 查看價格

西門子

13% 安徽傳威電氣有限公司
AI模塊 查看價格 查看價格

西門子

13% 安徽傳威電氣有限公司
切換模塊 GST-LD-8302C 查看價格 查看價格

13% 海灣安全技術(shù)有限公司(湖州市廠商期刊)
材料名稱 規(guī)格/型號 除稅
信息價
含稅
信息價
行情 品牌 單位 稅率 地區(qū)/時間
模塊 MKX2-1 查看價格 查看價格

湛江市2005年2月信息價
輸入模塊 查看價格 查看價格

湛江市2022年3季度信息價
輸出模塊 查看價格 查看價格

湛江市2022年3季度信息價
輸入模塊 查看價格 查看價格

清遠(yuǎn)市2022年2季度信息價
輸出模塊 查看價格 查看價格

湛江市2022年2季度信息價
輸入模塊 智能型 查看價格 查看價格

韶關(guān)市2022年5月信息價
輸入模塊 智能型 查看價格 查看價格

韶關(guān)市2022年4月信息價
輸出模塊 查看價格 查看價格

湛江市2022年1季度信息價
材料名稱 規(guī)格/需求量 報價數(shù) 最新報價
(元)
供應(yīng)商 報價地區(qū) 最新報價時間
操作系統(tǒng)(Linux) Linux Enterprise 12.0(2cpu)一年服務(wù),盒包|2套 1 查看價格 上海傾菲電子科技有限公司 全國   2018-05-17
Linux系統(tǒng) Linux Enterprise 12.0(2cpu)一年服務(wù),盒包|15套 1 查看價格 上海傾菲電子科技有限公司 全國   2018-05-17
操作系統(tǒng)(Linux) Linux Enterprise 12.0(2cpu)一年服務(wù),盒包|4套 1 查看價格 上海傾菲電子科技有限公司 全國   2018-05-17
通信內(nèi)核軟件系統(tǒng) 1、電話功能:對所有調(diào)度終端(電話)進(jìn)行單呼、選呼、群呼、組呼(一鍵呼),電話巡檢;對下級調(diào)度終端(電話)進(jìn)行強(qiáng)插、強(qiáng)拆、監(jiān)聽.2、通訊錄管理:支持用戶管理、組管理,黑名單等功能.3、錄音管理功能|1套 1 查看價格 廣州熹尚科技有限公司 廣東   2022-10-24
Linux企業(yè)版64位7.6及以上版本 相當(dāng)于Linux企業(yè)版64位7.6及以上版本|4個 1 查看價格 廣州市熹尚科技設(shè)備有限公司 全國   2021-09-09
Linux通用計(jì)算板卡 1) 支持安裝業(yè)務(wù)應(yīng)用軟件,含2個獨(dú)立Linux操作系統(tǒng);2) 單張板卡自帶不少于2顆E3 CPU模塊;3) 內(nèi)存不小于32GB,且支持?jǐn)U展至64GB;4) 自帶不小于2塊1TB硬盤;5) 自帶|1塊 1 查看價格 廣州科締歐電子科技有限公司 全國   2022-06-30
執(zhí)法記錄儀(linux) 詳見附件|1項(xiàng) 1 查看價格 杭州??低暪煞萦邢薰窘谊栟k事處 全國   2020-09-23
身份數(shù)據(jù)中心軟件模塊(基于Linux/Oracle) 負(fù)責(zé)身份識別類的業(yè)務(wù)處理,包含信息查詢、門禁考勤等的數(shù)據(jù)庫表結(jié)構(gòu).|1套 1 查看價格 廣州柏誠智能科技有限公司 廣東   2018-04-27

Linux內(nèi)核模塊常見問題

Linux內(nèi)核模塊文獻(xiàn)

基于Linux模塊的防火墻系統(tǒng) 基于Linux模塊的防火墻系統(tǒng)

格式:pdf

大?。?span id="yfxpdph" class="single-tag-height">1.5MB

頁數(shù): 3頁

評分: 4.4

本文首先分析了Linux的Netfilter內(nèi)核架構(gòu)。并在此基礎(chǔ)上,采用模塊編程方式開發(fā)了一個高效實(shí)用的包過濾型防火墻系統(tǒng)。引言在計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)飛速發(fā)展的今天,網(wǎng)絡(luò)安全問題一直困擾著人們。防火墻便是為了保證網(wǎng)絡(luò)安全而架設(shè)的計(jì)算機(jī)硬件或者軟件系統(tǒng)。商品化的防火墻產(chǎn)品,由于是通

立即下載
Linux安全模塊實(shí)現(xiàn)的研究 Linux安全模塊實(shí)現(xiàn)的研究

格式:pdf

大小:1.5MB

頁數(shù): 3頁

評分: 4.7

直到2.6內(nèi)核的出現(xiàn),Linux操作系統(tǒng)一直缺乏對安全機(jī)制融入內(nèi)核的普遍支持,Linux安全模塊(Linux Securiy Module)可以克服這個缺陷。對LSM的體系結(jié)構(gòu)、安全域和鉤子函數(shù)以及能力模塊進(jìn)行了研究,探討了LSM如何作為一個基本框架將Linux內(nèi)核與具體的安全模塊相結(jié)合,從而提高Linux操作系統(tǒng)的安全性。

立即下載

ip內(nèi)核模塊有3 種不同形式:軟ip 核(soft ip core)、固ip 核(firm ip core)和硬ip 核(hard ip core)。 1.軟ip 核 軟ip 核主要是基于ip 模塊功能的描述。它在抽象的較高層次上對ip 的功能進(jìn)行描述,并且已經(jīng)過行為級設(shè)計(jì)優(yōu)化和功能驗(yàn)證。它通常以hdl 文檔的形式提交給用戶,文檔中一般包括邏輯描述、網(wǎng)表,以及一些可以用于測試,但不能物理實(shí)現(xiàn)的文件。使用軟ip,用戶可以綜合出正確的門電路級網(wǎng)表,進(jìn)行后續(xù)結(jié)構(gòu)設(shè)計(jì),并借助eda 綜合工具與其他外部邏輯電路結(jié)合成一體,設(shè)計(jì)出需要的器件。雖然,軟ip 的靈活性大,可移植性好,但同硬ip 相比,因?yàn)樗缓腥魏尉唧w的物理信息,所以如果后續(xù)設(shè)計(jì)不當(dāng),很可能導(dǎo)致設(shè)計(jì)失敗。另外,后續(xù)的布局布線工作也將花費(fèi)大量的時間。 2.硬ip 核硬ip 核主要是基于ip 模塊物理結(jié)構(gòu)的描述。它提供給用戶的形式是電路物理結(jié)構(gòu)掩模版圖和全套工藝文件,是可以拿來就用的全套技術(shù)。其優(yōu)點(diǎn)為,完成了全部的前端和后端設(shè)計(jì),已有固定的電路布局局和具體工藝,可以確保性能,并縮短soc 的設(shè)計(jì)時間。但因?yàn)槠潆娐凡季趾凸に囀枪潭ǖ?,同時也導(dǎo)致了靈活性較差,難以移植到不同的加工工藝。 3.固ip 核 固ip 核主要是基于ip 模塊結(jié)構(gòu)的描述,可以理解為介于硬ip 和軟ip 之間的ip 核。固ip 一般以門電路級網(wǎng)表和對應(yīng)具體工藝網(wǎng)表的混合形式提交用戶使用。以便用戶根據(jù)需要進(jìn)行修改,使它適合某種可實(shí)現(xiàn)的工藝流程。近年來電子產(chǎn)品的更新?lián)Q代周期不斷縮短,而系統(tǒng)芯片的復(fù)雜程度卻在增長,為了緩和這一矛盾,soc 設(shè)計(jì)普遍采用基于ip 模塊的設(shè)計(jì)方法。因?yàn)閕p模塊是預(yù)先設(shè)計(jì)好的,并通過了驗(yàn)證,設(shè)計(jì)者可以把注意力集中于整個系統(tǒng),而不必考慮各個模塊的正確性和性能,這除了能縮短soc 芯片設(shè)計(jì)的時間外,還能降低設(shè)計(jì)和制造成本,提高可靠性。ip 重用技術(shù)使芯片設(shè)計(jì)從以硬件為中心,逐漸轉(zhuǎn)向以軟件為中心,從門級的設(shè)計(jì),轉(zhuǎn)向ip 模塊和ip 接口級的設(shè)計(jì)。

linux調(diào)度器(BFS )是一款專門為 Linux 桌面環(huán)境所設(shè)計(jì)的內(nèi)核調(diào)度器,它基于 Staircase Deadline和 EEVDF 算法,支持 Linux 2.6.31之后的內(nèi)核。它提供了前所未有的流暢桌面性能,不僅得到了用戶的認(rèn)可,也為一些商業(yè)系統(tǒng)所采用。

Linux 調(diào)度器對比

BFS vs CFS,設(shè)計(jì)上的不同 白天 Con Kolivas 在醫(yī)院里當(dāng)麻醉師,為人們解除痛苦,業(yè)余的時候借 Linux 解除自己的痛苦。額,Kolivas 學(xué)習(xí) Linux 并不是為了解決痛苦,我臆測而已。但據(jù) Kolivas 自述,他接觸 Linux 內(nèi)核時連 C 語言也沒有學(xué)習(xí)過。。。這個事實(shí)證明,語言只是一項(xiàng)工具,對問題本質(zhì)的深入理解才是寫程序的關(guān)鍵??赡苓€有執(zhí)著,CFS 和 RSDL 之爭導(dǎo)致 Kolivas 離開 Linux 社區(qū),此去經(jīng)年,當(dāng) Kolivas 再次開始看內(nèi)核代碼的時候,他立即發(fā)現(xiàn) CFS 存在以下幾個設(shè)計(jì)上的問題:

CFS 的目標(biāo)是支持從桌面到高端服務(wù)器的所有應(yīng)用場景,這種大而全的設(shè)計(jì)思路導(dǎo)致其必須做一些實(shí)現(xiàn)上的折中,此外,那些只有在高端機(jī)器中才需要的特性將引入不必要的復(fù)雜代碼。

其次,為了維護(hù)多 CPU 上的公平性,CFS 采用了負(fù)載平衡機(jī)制,Kolivas 認(rèn)為,這些復(fù)雜代碼抵消了 per cpu queue 曾帶來的好處。

最后,主流內(nèi)核的 CFS 還是對睡眠進(jìn)程存在一些偏好,這意味著"不公平"。

設(shè)計(jì)目標(biāo)不同

在現(xiàn)實(shí)中,調(diào)度算法類似一個處境尷尬的主婦,滿足孩子對晚餐的要求便有可能傷害到老人的食欲。Linux 內(nèi)核一直試圖做出一道讓全家老少都喜歡的菜,在這方面,CFS 已經(jīng)做的很好。但一道能被所有人接受的菜,或許就意味著稍許平淡。而 BFS 只打算滿足一種口味,以便將這種口味發(fā)展到極限。

根據(jù) Linux Magazine的說法,Con Kolivas是看到了下面這則來自 xkcd 的漫畫而開始思考 BFS 的。

事情源于一些 Linux 用戶,他們發(fā)現(xiàn) Linux 雖然號稱能夠充分發(fā)揮 4096 顆 CPU 系統(tǒng)的計(jì)算能力,但在普通的 laptop 上卻無法流暢地播放 Youtube 視頻。

這讓人們開始思考,對于 Desktop 環(huán)境來講,CFS 哪些復(fù)雜的特性究竟是否還有意義?人們是否有必要在自己的個人電腦中使用一個支持 4096 個 CPU 的調(diào)度器?

BFS 正是對這種質(zhì)疑的自然反應(yīng)。它不打算支持 4096 個 CPU 的龐然大物,BFS 的目標(biāo)是普通人使用的桌面電腦。此外,BFS 還刪除了那些只有在服務(wù)器上才需要的特性。比如,BFS 拋棄了 CFS 的組調(diào)度特性,類似 CGROUP 這樣的特性對于普通的桌面用戶是多余的技術(shù)。

這很容易理解:在只有一個 CPU 的系統(tǒng)中,誰還會設(shè)計(jì)多個 CGroup,哪里還能用到 NUMA domain等概念呢?

此外 BFS 使用單一的 run queue,不再需要復(fù)雜的負(fù)載均衡機(jī)制。由于不再有 CGROUP 概念,也不再需要 Group 間的負(fù)載均衡。

這些簡單的裁剪使得 BFS 的代碼極大地簡化,簡化的代碼意味著執(zhí)行一次調(diào)度所需要的指令數(shù)減少了,相應(yīng)的 footprint 自然也減少了。

當(dāng)然簡化代碼只是一個顯而易見的方面,更重要的是,這種理念的不同會對最終的調(diào)度器實(shí)現(xiàn)產(chǎn)生更加深遠(yuǎn)的影響,這實(shí)在是難以盡述。

多隊(duì)列 vs 單一隊(duì)列

?在 Linux 內(nèi)核進(jìn)入 2.6 時,調(diào)度器采用 per cpu run queue 從而克服了單一 run queue 的局限。在多 CPU 系統(tǒng)中,單一 run queue 意味著 run queue 成為了系統(tǒng)的瓶頸,因?yàn)樵谕粫r刻,一個 CPU 訪問 run queue 時,其他的 CPU 即使空閑也必須等待。當(dāng)使用 per CPU 的 run queue 之后,每個 CPU 不必再使用大鎖,從而能夠并行地處理調(diào)度。

但很多事情都不像第一眼看上去那樣簡單。

Kolivas 發(fā)現(xiàn),采用 per cpu run queue 所帶來的好處會被追求公平性的 load balance 代碼所抵消。在目前的 CFS 調(diào)度器中,每顆 CPU 只維護(hù)本地 run queue 中所有進(jìn)程的公平性,為了實(shí)現(xiàn)跨 CPU 的調(diào)度公平性,CFS 必須定時進(jìn)行 load balance,將一些進(jìn)程從繁忙的 CPU 的 run queue 中移到其他空閑的 run queue 中。

這個 load balance 的過程需要獲得其他 run queue 的鎖,這種操作降低了多運(yùn)行隊(duì)列帶來的并行性。

并且在復(fù)雜情況下,這種因 load balance 而引入的 footprint 將非??捎^。

當(dāng)然,load balance 引入的加鎖操作依然比全局鎖的代價要低,這種代價差異隨著 CPU 個數(shù)的增加而更加顯著。但請您注意,BFS 并不打算為那些擁有 1024 個 CPU 的系統(tǒng)工作,假若系統(tǒng)中的 CPU 個數(shù)有限時,多 run queue 的優(yōu)勢便不明顯了。

而 BFS 采用單一隊(duì)列之后,每一個需要調(diào)度的新進(jìn)程都可以在全局范圍內(nèi)查找最合適的 CPU,而無需 CFS 那樣等待 load balance 代碼來決定,這減少了多 CPU 之間裁決的延遲,最終的結(jié)果是更小的調(diào)度延遲。

向前看還是向后看?

多年來 Kolivas 一直關(guān)注著 Linux 在 desktop 上的表現(xiàn)。對于 desktop 的用戶,最注重的不是系統(tǒng)的吞吐量,而是交互性程序的流暢體驗(yàn)。從 SD 開始,Kolivas 就告訴內(nèi)核黑客們,完全公平能夠從根本上保證交互性。他始終堅(jiān)持一個基本觀點(diǎn):調(diào)度器應(yīng)該 forward look only。決不要去考慮一個進(jìn)程的過去。

CFS 卻偏偏要考慮進(jìn)程的過去。2.6.23 的時候,CFS 記錄并使用 sleep time。之后不久,在 2.6.24 發(fā)布的時候,CFS 合并了"Real Fair Scheduler",刪除了 sleep time。因此在 2.6.24 之后的內(nèi)核中,CFS 終于也不再考慮進(jìn)程過去的睡眠時間。

但 CFS 還是保留了 sleeper fairness 的思想,當(dāng)進(jìn)程 wakeup 的時候,在 place_entity() 函數(shù)中,CFS 將對 sleeper 進(jìn)行獎勵,以便其能盡快得到 CPU。這個策略是非常微妙的,我們在 2.1 節(jié)中詳細(xì)介紹了 sleeper fairness 的演進(jìn)過程。假如您花些時間回頭再看看,就會發(fā)現(xiàn) sleeper fairness 曾造成怎樣嚴(yán)重的延遲問題。雖然 Ingo 自稱 Gentle fairness 解決了延遲問題,但從代碼上看,Gentle Fairness 只是對 sleeper 的獎勵減半而已。因此我們可以說,CFS 依然對 Sleeper 進(jìn)程進(jìn)行獎勵,這代表著一種偏好,一種"不公平"。而這,正是 BFS 所反對的。

BFS 中,當(dāng)一個進(jìn)程 wakeup 時,調(diào)度器將根據(jù)進(jìn)程的 deadline 來進(jìn)行選擇(關(guān)于 deadline 本文將在第 4 章中詳細(xì)描述),其結(jié)果是,更早睡眠的進(jìn)程能更快地得到調(diào)度;CFS 的 sleeper fairness 則意味著要根據(jù) wakeup 的時間來選擇下一個被調(diào)度的進(jìn)程,更早 wakeup 的進(jìn)程會更快得到調(diào)度。

這種不同究竟會對桌面應(yīng)用造成何種影響尚沒有理論依據(jù)可以參考。但我個人認(rèn)為,BFS 的策略更加合理。

您現(xiàn)在可能已經(jīng)讀得有些煩躁了 ( 這些英文加中文的說些啥啊 ),所以我還是盡快介紹一下 BFS 的實(shí)現(xiàn)細(xì)節(jié)吧。然后或許您會理解我,有些詞還是不翻譯更好。

Linux內(nèi)核模塊相關(guān)推薦
  • 相關(guān)百科
  • 相關(guān)知識
  • 相關(guān)專欄

最新詞條

安徽省政采項(xiàng)目管理咨詢有限公司 數(shù)字景楓科技發(fā)展(南京)有限公司 懷化市人民政府電子政務(wù)管理辦公室 河北省高速公路京德臨時籌建處 中石化華東石油工程有限公司工程技術(shù)分公司 手持無線POS機(jī) 廣東合正采購招標(biāo)有限公司 上海城建信息科技有限公司 甘肅鑫禾國際招標(biāo)有限公司 燒結(jié)金屬材料 齒輪計(jì)量泵 廣州采陽招標(biāo)代理有限公司河源分公司 高鋁碳化硅磚 博洛尼智能科技(青島)有限公司 燒結(jié)剛玉磚 深圳市東海國際招標(biāo)有限公司 搭建香蕉育苗大棚 SF計(jì)量單位 福建省中億通招標(biāo)咨詢有限公司 泛海三江 威海鼠尾草 廣東國咨招標(biāo)有限公司 Excel 數(shù)據(jù)處理與分析應(yīng)用大全 甘肅中泰博瑞工程項(xiàng)目管理咨詢有限公司 山東創(chuàng)盈項(xiàng)目管理有限公司 當(dāng)代建筑大師 廣西北纜電纜有限公司 上海地鐵維護(hù)保障有限公司通號分公司 拆邊機(jī) 甘肅中維國際招標(biāo)有限公司 大山檳榔 舌花雛菊 湖北鑫宇陽光工程咨詢有限公司 GB8163標(biāo)準(zhǔn)無縫鋼管 中國石油煉化工程建設(shè)項(xiàng)目部 華潤燃?xì)猓ㄉ虾#┯邢薰? 韶關(guān)市優(yōu)采招標(biāo)代理有限公司 莎草目 建設(shè)部關(guān)于開展城市規(guī)劃動態(tài)監(jiān)測工作的通知 電梯平層準(zhǔn)確度 廣州利好來電氣有限公司 蘇州弘創(chuàng)招投標(biāo)代理有限公司