真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Linux內(nèi)核測(cè)試生命周期是怎么樣的

這篇文章主要為大家展示了“Linux內(nèi)核測(cè)試生命周期是怎么樣的”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Linux內(nèi)核測(cè)試生命周期是怎么樣的”這篇文章吧。

成都創(chuàng)新互聯(lián)專注于津市企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站開發(fā),購(gòu)物商城網(wǎng)站建設(shè)。津市網(wǎng)站建設(shè)公司,為津市等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站設(shè)計(jì),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)

從一次更改開始

內(nèi)核中每一項(xiàng)令人興奮的功能、改進(jìn)和錯(cuò)誤都始于開發(fā)人員提出的更改。這些更改出現(xiàn)在各個(gè)內(nèi)核存儲(chǔ)庫(kù)的大量郵件列表中。一些存儲(chǔ)庫(kù)關(guān)注內(nèi)核中的某些子系統(tǒng),例如存儲(chǔ)或網(wǎng)絡(luò),而其它存儲(chǔ)庫(kù)關(guān)注內(nèi)核的更多方面。  當(dāng)開發(fā)人員向內(nèi)核提出更改或補(bǔ)丁集時(shí),或者維護(hù)者在存儲(chǔ)庫(kù)本身中進(jìn)行更改時(shí),CKI 項(xiàng)目就會(huì)付諸行動(dòng)。

CKI 項(xiàng)目維護(hù)的觸發(fā)器用于監(jiān)視這些補(bǔ)丁集并采取措施。諸如 Patchwork 之類的軟件項(xiàng)目通過(guò)將多個(gè)補(bǔ)丁貢獻(xiàn)整合為單個(gè)補(bǔ)丁系列,使此過(guò)程變得更加容易。補(bǔ)丁系列作為一個(gè)整體歷經(jīng) CKI 系統(tǒng),并可以針對(duì)該系列發(fā)布單個(gè)報(bào)告。

其他觸發(fā)器可以監(jiān)視存儲(chǔ)庫(kù)中的更改。當(dāng)內(nèi)核維護(hù)人員合并補(bǔ)丁集、還原補(bǔ)丁或創(chuàng)建新標(biāo)簽時(shí),就會(huì)觸發(fā)。測(cè)試這些關(guān)鍵的更改可確保開發(fā)人員始終具有堅(jiān)實(shí)的基線,可以用作編寫新補(bǔ)丁的基礎(chǔ)。

所有這些更改都會(huì)進(jìn)入 GitLab CI 管道,并歷經(jīng)多個(gè)階段和多個(gè)系統(tǒng)。

準(zhǔn)備構(gòu)建

首先要準(zhǔn)備好要編譯的源代碼。這需要克隆存儲(chǔ)庫(kù)、打上開發(fā)人員建議的補(bǔ)丁集,并生成內(nèi)核配置文件。這些配置文件具有成千上萬(wàn)個(gè)用于打開或關(guān)閉功能的選項(xiàng),并且配置文件在不同的系統(tǒng)體系結(jié)構(gòu)之間差異非常大。  例如,一個(gè)相當(dāng)標(biāo)準(zhǔn)的 x86_64 系統(tǒng)在其配置文件中可能有很多可用選項(xiàng),但是 s390x 系統(tǒng)(IBM zSeries  大型機(jī))的選項(xiàng)可能要少得多。在該大型機(jī)上,某些選項(xiàng)可能有意義,但在消費(fèi)類筆記本電腦上沒(méi)有任何作用。

內(nèi)核進(jìn)一步轉(zhuǎn)換為源代碼工件。該工件包含整個(gè)存儲(chǔ)庫(kù)(已打上補(bǔ)?。┮约熬幾g所需的所有內(nèi)核配置文件。 上游內(nèi)核會(huì)打包成壓縮包,而 Red Hat 的內(nèi)核會(huì)生成下一步所用的源代碼 RPM 包。

成堆的編譯

編譯內(nèi)核會(huì)將源代碼轉(zhuǎn)換為計(jì)算機(jī)可以啟動(dòng)和使用的代碼。配置文件描述了要構(gòu)建的內(nèi)容,內(nèi)核中的腳本描述了如何構(gòu)建它,系統(tǒng)上的工具(例如 GCC 和  glibc)完成構(gòu)建。此過(guò)程需要一段時(shí)間才能完成,但是 CKI 項(xiàng)目需要針對(duì)四種體系結(jié)構(gòu)快速完成:aarch74(64 位  ARM)、ppc64le(POWER)、s390x(IBM zSeries)和  x86_64。重要的是,我們必須快速編譯內(nèi)核,以便使工作任務(wù)不會(huì)積壓,而開發(fā)人員可以及時(shí)收到反饋。

添加更多的 CPU 可以大大提高速度,但是每個(gè)系統(tǒng)都有其局限性。CKI 項(xiàng)目在 OpenShift 的部署環(huán)境中的容器內(nèi)編譯內(nèi)核;盡管  OpenShift 可以實(shí)現(xiàn)高伸縮性,但在部署環(huán)境中的可用 CPU 仍然是數(shù)量有限的。CKI 團(tuán)隊(duì)分配了 20 個(gè)虛擬 CPU  來(lái)編譯每個(gè)內(nèi)核。涉及到四個(gè)體系結(jié)構(gòu),這就漲到了 80 個(gè) CPU!

另一個(gè)速度的提高來(lái)自 ccache  工具。內(nèi)核開發(fā)進(jìn)展迅速,但是即使在多個(gè)發(fā)布版本之間,內(nèi)核的大部分仍保持不變。ccache  工具進(jìn)行編譯期間會(huì)在磁盤上緩存已構(gòu)建的對(duì)象(整個(gè)內(nèi)核的一小部分)。稍后再進(jìn)行另一個(gè)內(nèi)核編譯時(shí),ccache  會(huì)查找以前看到的內(nèi)核的未更改部分。ccache 會(huì)從磁盤中提取緩存的對(duì)象并重新使用它。這樣可以加快編譯速度并降低總體 CPU 使用率?,F(xiàn)在,耗時(shí)  20 分鐘編譯的內(nèi)核在不到幾分鐘的時(shí)間內(nèi)就完成了。

測(cè)試時(shí)間

內(nèi)核進(jìn)入最后一步:在真實(shí)硬件上進(jìn)行測(cè)試。每個(gè)內(nèi)核都使用 Beaker  在其原生體系結(jié)構(gòu)上啟動(dòng),并且開始無(wú)數(shù)次的測(cè)試以發(fā)現(xiàn)問(wèn)題。一些測(cè)試會(huì)尋找簡(jiǎn)單的問(wèn)題,例如容器問(wèn)題或啟動(dòng)時(shí)的錯(cuò)誤消息。其他測(cè)試則深入到各種內(nèi)核子系統(tǒng)中,以查找系統(tǒng)調(diào)用、內(nèi)存分配和線程中的回歸問(wèn)題。

大型測(cè)試框架,例如 Linux Test Project(LTP),包含了大量測(cè)試,這些測(cè)試在內(nèi)核中尋找麻煩的回歸問(wèn)題。其中一些回歸問(wèn)題可能會(huì)回滾關(guān)鍵的安全修復(fù)程序,并且進(jìn)行測(cè)試以確保這些改進(jìn)仍保留在內(nèi)核中。

測(cè)試完成后,關(guān)鍵的一步仍然是:報(bào)告。內(nèi)核開發(fā)人員和維護(hù)人員需要一份簡(jiǎn)明的報(bào)告,準(zhǔn)確地告訴他們哪些有效、哪些無(wú)效以及如何獲取更多信息。每個(gè)  CKI  報(bào)告都包含所用源代碼、編譯參數(shù)和測(cè)試輸出的詳細(xì)信息。該信息可幫助開發(fā)人員知道從哪里開始尋找解決問(wèn)題的方法。此外,它還可以幫助維護(hù)人員在漏洞進(jìn)入內(nèi)核存儲(chǔ)庫(kù)之前知道何時(shí)需要保留補(bǔ)丁集以進(jìn)行其他查看。

以上是“Linux內(nèi)核測(cè)試生命周期是怎么樣的”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


本文名稱:Linux內(nèi)核測(cè)試生命周期是怎么樣的
文章來(lái)源:http://weahome.cn/article/jpisio.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部