亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于國產(chǎn)服務(wù)器的國產(chǎn)Linux操作系統(tǒng)適配研究

        2023-04-21 13:10:36付志鵬張曉梨
        計算機技術(shù)與發(fā)展 2023年4期
        關(guān)鍵詞:外設(shè)固件網(wǎng)卡

        付志鵬,馮 丹,陳 紅,張曉梨

        (鵬城實驗室,廣東 深圳 518055)

        0 引 言

        隨著國內(nèi)外環(huán)境的變化,建設(shè)自主可控的國產(chǎn)計算生態(tài)的必要性和緊迫性日益凸顯。作為計算生態(tài)核心的處理器和操作系統(tǒng),除了Wintel(Windows+Intel)體系和Intel+IOS體系,AL(ARM[1]+Linux)體系由于其在移動端(手機、平板等)的優(yōu)勢地位而成為在服務(wù)器和PC端具有全球發(fā)展?jié)摿Φ牧硪环N體系。隨著多年的發(fā)展,國內(nèi)在AL體系已逐漸形成了以飛騰[2]+麒麟[3-6]為代表的PK(Phytium+Kylin)體系和以華為鯤鵬+歐拉為代表的鯤鵬體系。近幾年,飛騰服務(wù)器和鯤鵬服務(wù)器在國內(nèi)市場飛速增長,基于國產(chǎn)飛騰服務(wù)器和鯤鵬服務(wù)器的生態(tài)適配顯得日益迫切,這為在關(guān)鍵領(lǐng)域加速完成國產(chǎn)化替代奠定基礎(chǔ),具有廣闊的市場前景。

        國產(chǎn)計算平臺的核心部件,主要包括處理器、整機、操作系統(tǒng)、中間件等。將這些核心部件有效集成起來,形成能夠支撐當(dāng)前互聯(lián)網(wǎng)信息時代的基礎(chǔ)設(shè)施,進而建設(shè)國產(chǎn)計算生態(tài),實現(xiàn)對國外生態(tài)的全面替代尤為重要。生態(tài)適配首先需要解決國產(chǎn)操作系統(tǒng)對國產(chǎn)服務(wù)器的適配。由于Intel服務(wù)器長期在國際國內(nèi)的壟斷地位,國產(chǎn)操作系統(tǒng)主要基于Intel服務(wù)器開發(fā)和運行,無需進行適配。在AL生態(tài)蓬勃發(fā)展的當(dāng)下,國產(chǎn)操作系統(tǒng)需要首先完成對飛騰服務(wù)器和華為鯤鵬服務(wù)器的適配,才能以此為基礎(chǔ)建設(shè)國產(chǎn)AL計算平臺,并在此平臺上發(fā)展AL應(yīng)用生態(tài)。

        國外關(guān)于操作系統(tǒng)對服務(wù)器適配的相關(guān)研究較少,主要原因在于Wintel體系和Intel+IOS體系在服務(wù)器和終端市場誕生的初期就天生結(jié)合在一起,Windows和IOS操作系統(tǒng)的開發(fā)和調(diào)試主要在Intel系列服務(wù)器或終端設(shè)備上進行,具有天生的適配能力。

        在國內(nèi),前期國產(chǎn)操作系統(tǒng)主要以在Intel系列服務(wù)器上運行為主。國內(nèi)外環(huán)境改變后,計算平臺國產(chǎn)化問題日益突出,國產(chǎn)操作系統(tǒng)在國產(chǎn)服務(wù)器上適配需求越來越迫切。在某些特殊領(lǐng)域,國產(chǎn)操作系統(tǒng)對處理器的適配已有相關(guān)研究。雷鳴等[7]針對在龍芯平臺上適配Android操作系統(tǒng)進行研究,通過編譯環(huán)境適配、Linux內(nèi)核適配、文件系統(tǒng)適配等一系列改進,測試結(jié)果表明Android操作系統(tǒng)能夠適配龍芯處理器。任占廣等[8]針對國內(nèi)高性能通信需求,采用銳華國產(chǎn)嵌入式操作系統(tǒng)在自主研制的高性能通信處理器“網(wǎng)芯一號”上進行適配,突破了操作系統(tǒng)在實時通信方面的不足,完成了銳華操作系統(tǒng)在“網(wǎng)芯一號”上的板級升級包和相關(guān)驅(qū)動上的適配。測試結(jié)果表明,銳華操作系統(tǒng)完全能夠滿足國內(nèi)高性能通信需求,解決了通信領(lǐng)域大量使用國外軟硬件產(chǎn)品,存在安全隱患的矛盾。張靜等[9]針對銳華操作系統(tǒng)適配到國產(chǎn)飛騰1500A/4上的問題,給出了一個針對性的處理器支持包,該包支持銳華操作系統(tǒng)在飛騰1500A/4下的任務(wù)上下文切換、中斷處理、多核同步與互斥等功能,有力解決了飛騰1500A/4和銳華操作系統(tǒng)在國產(chǎn)通信領(lǐng)域的嵌入式應(yīng)用障礙。針對航空航天領(lǐng)域軟硬件國產(chǎn)化的特殊需求,項濤等[10]將國產(chǎn)自研的天脈1機載嵌入式實時操作系統(tǒng)在國產(chǎn)自研飛騰2000A處理器上進行適配,測試結(jié)果表明天脈1嵌入式操作系統(tǒng)能在飛騰2000A上順利運行。劉幟琦等[11]將天脈1嵌入式操作系統(tǒng)適配到T2080處理器上,以滿足機載計算平臺對實時性的需求?;赑K體系,郭長國等[12]針對近幾年在國產(chǎn)辦公信息系統(tǒng)的研發(fā)、集成以及國產(chǎn)化推進、實施等方面進行總結(jié)梳理,提出了若干建設(shè)PK體系生態(tài)需要注意的問題及相應(yīng)的應(yīng)對策略,為下一步國產(chǎn)計算生態(tài)建設(shè)積累了經(jīng)驗。針對5G時代下的物聯(lián)網(wǎng)對新型移動操作系統(tǒng)“低延時、高帶寬、大連接”需求,宋佳明等[13]提出分別從硬件適配能力、軟件兼容能力以及服務(wù)生態(tài)兼容性三個方面來構(gòu)建新型操作系統(tǒng)適配驗證體系的思路。

        通過這幾項相關(guān)研究,可以發(fā)現(xiàn)如下幾個特點:

        (1)針對某些關(guān)鍵領(lǐng)域的國產(chǎn)化替代來進行,具有很強的針對性。

        (2)操作系統(tǒng)對處理器的適配主要在嵌入式領(lǐng)域,在服務(wù)器和PC領(lǐng)域沒有涉及。

        (3)適配的對象主要是處理器,而不涉及到整機、外設(shè)等。

        (4)中國逐漸意識到生態(tài)建設(shè)的重要性并加大國產(chǎn)計算生態(tài)的建設(shè)力度。

        針對國內(nèi)通用ARM服務(wù)器領(lǐng)域的國產(chǎn)化替代來進行,適配內(nèi)容除了處理器外,還包括固件、主板、外設(shè)等。其適配思路和方法,同樣可以推廣到國產(chǎn)ARM PC領(lǐng)域,具有一定的可推廣性。

        操作系統(tǒng)的選型是國產(chǎn)計算平臺建設(shè)的基礎(chǔ),是進行國產(chǎn)ARM服務(wù)器適配的第一步。目前主流的國產(chǎn)操作系統(tǒng)主要有銀河麒麟系列、歐拉系列以及統(tǒng)信操作系統(tǒng)。鑒于PK體系和鯤鵬歐拉體系在AL體系中的主流地位,采用銀河麒麟操作系統(tǒng)來進行適配。該適配思路和方法可以同樣擴展到歐拉或統(tǒng)信等其他操作系統(tǒng)上。

        國產(chǎn)操作系統(tǒng)對國產(chǎn)ARM服務(wù)器的適配需要經(jīng)過一系列流程。由于服務(wù)器主要由固件、CPU、主板、外設(shè)等幾個大模塊組成,因此相應(yīng)的適配過程也主要分為如下四個步驟來進行:固件適配、處理器適配、主板適配、外設(shè)適配,其中每個步驟又可以細分為多個子步驟,適配整體方案如圖1所示。

        圖1 國產(chǎn)操作系統(tǒng)對ARM服務(wù)器適配的整體方案

        國產(chǎn)固件適配主要解決服務(wù)器加載并啟動操作系統(tǒng)的問題,國產(chǎn)處理器適配主要針對國產(chǎn)處理器內(nèi)置SOC控制器,包括GPIO(General-Purpose Input/Output)、GIC(Generic Interrupt Controller)、內(nèi)存地址隨機化部件等進行適配。外設(shè)適配主要針對網(wǎng)卡、顯卡、外部存儲和RTC(Real-Time Clock)等模塊,需要基于整體硬件平臺構(gòu)建操作系統(tǒng)的驅(qū)動模塊,實現(xiàn)系統(tǒng)對硬件的無縫兼容。主板適配主要是指操作系統(tǒng)在主板上運行時可能會遇到各種各樣的問題,并針對這些問題進行排查、分析和解決。隨著操作系統(tǒng)和國產(chǎn)主板幾十年的發(fā)展,在主板適配上遇到的問題較少,因此這里主要闡述固件適配、處理器適配和外設(shè)適配。

        1 國產(chǎn)固件適配

        固件是在啟動操作系統(tǒng)之前首先在計算機上運行的一種軟件,它的作用有兩個,一個是檢測并進行基本的硬件初始化,另外一個是加載操作系統(tǒng),然后把控制權(quán)交給操作系統(tǒng)。

        國產(chǎn)固件適配是指讓國產(chǎn)固件能夠成功啟動操作系統(tǒng),目前主要支持兩種啟動方式:直接啟動(固件直接加載操作系統(tǒng)內(nèi)核并啟動內(nèi)核)和間接啟動(固件先加載grub等bootloader,然后通過bootloader啟動操作系統(tǒng)),啟動方式不同,其要做的工作也有所區(qū)別。固件適配要做的工作主要包括:

        (1)約定好啟動操作系統(tǒng)要加載的內(nèi)容。直接啟動,則要加載內(nèi)核二進制文件、initrd文件及設(shè)備樹文件。間接啟動,則還要加載啟動加載器grub。

        (2)約定好所加載內(nèi)容的加載地址,包括內(nèi)核二進制文件加載地址、initrd文件加載地址、設(shè)備樹文件加載地址等。

        (3)約定好固件傳遞給內(nèi)核的啟動參數(shù)。

        當(dāng)固件做完其硬件檢查和配置工作,需要啟動操作系統(tǒng)時,根據(jù)其啟動方式不同,分別做相應(yīng)的操作。當(dāng)為直接啟動時,使用約定的內(nèi)核參數(shù)啟動內(nèi)核,內(nèi)核在啟動過程中需要解析設(shè)備樹,解壓并掛載initrd文件和文件系統(tǒng)進行內(nèi)核和系統(tǒng)啟動工作。當(dāng)為間接啟動時,通過已加載的grub參數(shù)加載指定的內(nèi)核和設(shè)備樹,然后使用約定的內(nèi)核參數(shù)啟動內(nèi)核,內(nèi)核在啟動過程中需要解析設(shè)備樹,解壓并掛載initrd文件和文件系統(tǒng)進行內(nèi)核和系統(tǒng)啟動工作。

        2 國產(chǎn)處理器適配

        國產(chǎn)處理器適配主要從GPIO驅(qū)動模塊、GIC中斷驅(qū)動模塊以及內(nèi)存地址隨機化模塊三個方面進行。

        國產(chǎn)處理器集成了GPIO模塊[14],主要用來實現(xiàn)IO數(shù)據(jù)的傳輸。GPIO驅(qū)動模塊適配需要根據(jù)約定的硬件采樣機制,實現(xiàn)GPIO的接口操作封裝,同時對系統(tǒng)內(nèi)核通用關(guān)機和重啟接口進行改造,實現(xiàn)系統(tǒng)下軟關(guān)機和軟重啟功能。

        GPIO驅(qū)動模塊適配流程分為五個過程:(1)探測設(shè)備并對片內(nèi)GPIO控制器寄存器進行初始化;(2)獲取設(shè)備樹定義的GPIO屬性配置信息進行GPIO設(shè)置;(3)構(gòu)建GPIO控制器方法,包括定義GPIO方向輸入方法、GPIO值獲取方法、GPIO值設(shè)置方法并進行GPIO池的注冊;(4)為了方便GPIO驅(qū)動和應(yīng)用接口的良好交互,構(gòu)建sysfs文件系統(tǒng)框架,將GPIO的方向輸入接口、GPIO值設(shè)置和獲取接口提供給應(yīng)用接口;(5)通過改造poweroff/reboot系統(tǒng)接口,按照約定的采樣機制構(gòu)建GPIO設(shè)置執(zhí)行流程,實現(xiàn)系統(tǒng)下通過GPIO接口的軟關(guān)機和軟重啟功能。

        GIC中斷驅(qū)動模塊[15]適配,需要建立一個中斷和中斷源的映射關(guān)系,即一個設(shè)備發(fā)起一個中斷,能夠被系統(tǒng)及時察覺到并做相應(yīng)的處理。如PCIe設(shè)備的MSI和MSI-X類型的中斷,系統(tǒng)需要在內(nèi)存中建立相應(yīng)的結(jié)構(gòu),用于存儲這種對應(yīng)關(guān)系,從而確保這些中斷能夠及時被處理。適配完成后,所有外設(shè)觸發(fā)的中斷都能夠在系統(tǒng)下正常被處理器響應(yīng)和執(zhí)行。系統(tǒng)下打開/proc/interrupts可以查看系統(tǒng)中各設(shè)備對應(yīng)的中斷關(guān)系,并查看這些中斷的數(shù)目的變化,變化的幅度在正常范圍內(nèi)。

        為了提供更安全的地址空間分配隨機化功能(地址分配隨機化增強功能),需要在32位系統(tǒng)達到28-30位時隨機化,即G bytes級別;在64位系統(tǒng)要達到≥40位時隨機化,即T bytes級別。飛騰FT1500A芯片是ARM64架構(gòu),要滿足40位以上的地址空間隨機化,需要通過mmap基地址(mmap_base)映射代碼段、數(shù)據(jù)段、堆段、棧段、mmap段和匿名mmap段、vdso段。內(nèi)核在初始化mmap基地址的時候會判斷當(dāng)前內(nèi)核是否支持地址空間隨機化,若支持則會基于mmap_base 加上經(jīng)過一定處理的隨機數(shù)rnd來保證后續(xù)每次訪存得到的地址空間都隨機變化,以達到提高系統(tǒng)安全性的目的。

        適配完成的地址隨機化功能,通過終端命令“cat /proc/self/maps”,就可以查看系統(tǒng)下代碼段、數(shù)據(jù)段、堆段、棧段、mmap段和匿名mmap段、vdso段等地址空間信息。重復(fù)輸入該命令,對比可以發(fā)現(xiàn)同一地址空間(例如棧段)變動的位數(shù),即當(dāng)前系統(tǒng)實現(xiàn)的地址空間隨機化位數(shù)。

        3 外設(shè)適配

        國產(chǎn)整機一般除了CPU上SOC集成的外設(shè)外,還會通過擴展總線(比如PCIe總線、USB總線)擴展其他外設(shè),這些外設(shè)主要包括網(wǎng)卡、顯卡、存儲設(shè)備等。

        3.1 網(wǎng)卡適配

        網(wǎng)卡適配主要是適配對應(yīng)網(wǎng)卡型號的網(wǎng)絡(luò)設(shè)備驅(qū)動,以及結(jié)合處理器和網(wǎng)卡驅(qū)動實現(xiàn)發(fā)送和接收環(huán)的定制操作。網(wǎng)卡驅(qū)動位于操作系統(tǒng)網(wǎng)絡(luò)協(xié)議棧的數(shù)據(jù)鏈路層,上層接收網(wǎng)絡(luò)協(xié)議中發(fā)出的數(shù)據(jù),并傳遞給網(wǎng)卡硬件,下層從網(wǎng)卡接收數(shù)據(jù),并傳遞給網(wǎng)絡(luò)協(xié)議棧。

        網(wǎng)卡適配分為四個部分,注冊網(wǎng)卡驅(qū)動、網(wǎng)卡初始化、構(gòu)建網(wǎng)卡基本操作接口和初始化發(fā)送/接收操作接口,如圖2所示。

        圖2 網(wǎng)卡適配流程

        首先調(diào)用PCIe設(shè)備驅(qū)動注冊函數(shù)注冊網(wǎng)卡驅(qū)動,在匹配設(shè)備ID后,調(diào)用驅(qū)動探針函數(shù)對網(wǎng)卡進行初始化,包括寄存器、DMA以及獲取EEPROM (Electrically Erasable Programmable Read Only Memory)等信息,接著構(gòu)建網(wǎng)卡基本操作接口,接口包括open(命令ifup對應(yīng)的內(nèi)核接口),close(命令ifdown對應(yīng)的內(nèi)核接口)等;初始化發(fā)送/接收操作,包括發(fā)送接口函數(shù)的初始化以及napi的初始化(82574網(wǎng)卡接收采用的是napi機制)以及發(fā)送接收中斷等函數(shù)接口。

        網(wǎng)卡驅(qū)動的發(fā)送和接收流程是網(wǎng)卡適配難點,需要結(jié)合處理器以及網(wǎng)卡驅(qū)動實現(xiàn)發(fā)送和接收環(huán)的定制操作。以接收流程為例,每個接收描述符環(huán)含有256(size)個描述符,一個頭指針Head,一個尾指針Tail,如圖3所示。

        圖3 接受描述符環(huán)軟件結(jié)構(gòu)

        驅(qū)動初始化的時候Head和Tail指針都是指向Base,軟件控制Tail指針,初始化一個描述符,Tail指針往后移動一個單位,當(dāng)Tail指針移動到Base+Size的時候重置為Base,當(dāng)軟件發(fā)現(xiàn)Tail等于Head的時候,表示當(dāng)前已經(jīng)沒有數(shù)據(jù)可供處理,需要等待網(wǎng)卡接收新的數(shù)據(jù)報文。硬件控制Head指針,網(wǎng)卡設(shè)備接收到數(shù)據(jù)包的時候,硬件移動Head指針,當(dāng)Head指針移動到Base+Size的時候重置為Base,當(dāng)網(wǎng)卡設(shè)備發(fā)現(xiàn)Head等于Tail的時候,表示當(dāng)前環(huán)的所有描述符都已經(jīng)被填充,說明網(wǎng)卡接收速度快于驅(qū)動處理數(shù)據(jù)的速度,需要等待驅(qū)動處理數(shù)據(jù)并提供新的描述符。適配需要結(jié)合處理器以及網(wǎng)卡驅(qū)動實現(xiàn)發(fā)送和接收環(huán)的定制操作。

        3.2 顯卡適配

        顯卡是顯示設(shè)備,為計算機提供圖形渲染與圖形顯示的功能。顯卡一般由GPU、顯示控制器和顯示接口等幾部分組成。目前主流的顯卡主要有兩家廠商,ATI的A系列顯卡和英偉達的N系列顯卡,而國產(chǎn)化的顯卡在圖形加速處理能力以及產(chǎn)品成熟度上跟主流商用顯卡存在一定差距,急需解決國產(chǎn)化顯卡在圖形加速處理方面不足的問題。

        早期的3D加速處理,渲染緩沖模塊由一個屏幕前緩沖和一個屏幕后緩沖組成,所有的客戶端和服務(wù)器必須共享這個單一的緩沖區(qū),應(yīng)用程序?qū)⒅苯愉秩镜竭@個屏幕后緩沖里,然后通過等待垂直同步信號的到來再交換到屏幕前緩沖中,這種機制下在下一次渲染時需要等待當(dāng)前渲染緩沖的釋放,會帶來阻塞開銷,同時往返等待服務(wù)器發(fā)送渲染緩沖區(qū)的過程也會帶來性能損失。

        隨著單位幀內(nèi)渲染場景的復(fù)雜度增加,對渲染緩沖區(qū)的需求加大,現(xiàn)階段3D處理提出了一種稱為動態(tài)多緩沖區(qū)的機制,這種機制使得每一個客戶端都使用自己私有的后緩沖,而不是使用單個共享的后緩沖。客戶端通過這個私有的后緩沖關(guān)聯(lián)自己的深度緩沖、模板緩沖、顏色緩沖,最后將渲染內(nèi)容拷貝到屏幕。

        該機制重新定義了一個與當(dāng)前應(yīng)用客戶端關(guān)聯(lián)的緩沖區(qū)池,當(dāng)前應(yīng)用需要緩沖區(qū)進行渲染時就會在該緩沖區(qū)池中獲取一個新的緩存,通過輪詢該緩沖區(qū)池中的每一個緩存,找到一個空閑的緩沖區(qū)。

        動態(tài)多緩沖區(qū)機制的實現(xiàn)由原來一個緩沖增加到現(xiàn)在的一個緩沖池。一個渲染客戶端可以擁有一個或多個緩沖區(qū),這些緩沖區(qū)的生命周期就是當(dāng)前渲染上下文的生命周期。一旦當(dāng)前渲染上下文銷毀后,該緩沖池中的每一個緩存將被釋放。

        合理分配緩沖區(qū)池中緩存的數(shù)量,盡量避免3D引擎主動向服務(wù)器端輪詢消息事件,有效控制往返等待消息事件的時間,使得渲染過程不會因為申請緩存的時間開銷而增大渲染周期,給圖形渲染帶來性能損失。經(jīng)過不同場景下對圖形性能的測試發(fā)現(xiàn),緩沖池中的緩存數(shù)量保持在2~3個為最佳。

        3.3 存儲設(shè)備適配

        存儲設(shè)備是指存儲控制器,為計算機提供訪問外存的控制設(shè)備。存儲包括許多不同的種類,SATA(Serial Advanced Technology Attachment)控制器用于擴展SATA磁盤,RAID(Redundant Array of Independent Disk)控制器用來搭建RAID,光纖控制器用來擴展ISCSI(Internet Small Computer System Interface)磁盤陣列等。存儲設(shè)備驅(qū)動位于IO棧的底層,其上層是通用塊設(shè)備層,下層就是具體的存儲設(shè)備。存儲設(shè)備驅(qū)動接收來自通用塊設(shè)備層的IO請求,根據(jù)IO請求的內(nèi)容和方向,發(fā)送數(shù)據(jù)給磁盤或從磁盤讀取數(shù)據(jù)傳遞給上層。

        SCSI實現(xiàn)了一種客戶機/服務(wù)器風(fēng)格的通信架構(gòu)。發(fā)起者向目標設(shè)備發(fā)送命令請求,該目標處理此請求并向發(fā)起者返回響應(yīng)。發(fā)起者可以是托管計算機中的一個SCSI設(shè)備,而SCSI目標則可以是一個磁盤、光盤和磁帶設(shè)備或特殊設(shè)備(比如箱體設(shè)備)。

        目前,國產(chǎn)平臺選用的SATA控制器對命令的支持程度是有局限性的,有一些SCSI命令無法被硬件所識別并響應(yīng),特別是針對光驅(qū)的一些命令,如讀取光盤信息等,這就導(dǎo)致了刻錄光盤時無法得到空光盤的信息,進而無法刻錄等一系列問題。因此,存儲設(shè)備適配重點解決SATA控制器對SCSI命令無法被硬件識別的問題。為此,首先找到無法被識別的SCSI命令,并根據(jù)SCSI命令手冊找到這些命令的作用。然后,把無法識別的命令在驅(qū)動命令服務(wù)層中進行截流改造,如圖4所示,讓硬件可以正常返回。

        圖4 系統(tǒng)命令服務(wù)邏輯框架

        3.4 RTC驅(qū)動模塊適配

        國產(chǎn)平臺主要采用DS1339型號的RTC芯片[16],掛載在I2C0總線下,其作用是為操作系統(tǒng)提供可靠的時間,當(dāng)系統(tǒng)處于關(guān)機的情況下,RTC記錄操作系統(tǒng)時間,并可在電池供電情況下繼續(xù)正常工作,當(dāng)系統(tǒng)正常啟動后,系統(tǒng)可從RTC讀取時間信息,來確保關(guān)機到開機后時間運行連續(xù)性。

        為了實現(xiàn)系統(tǒng)對RTC時間的讀寫操作,需要構(gòu)建基于DS1339芯片的RTC驅(qū)動模型,并且實現(xiàn)對RTC接口的封裝以及文件系統(tǒng)下設(shè)備節(jié)點的創(chuàng)建。用戶可以通過操作系統(tǒng)中的設(shè)備節(jié)點來實現(xiàn)讀寫RTC時間,具體驅(qū)動設(shè)計框架如圖5所示。

        圖5 RTC驅(qū)動設(shè)計框架

        主要工作針對圖5中的內(nèi)核空間部分展開。首先,進行設(shè)備驅(qū)動的注冊和初始化工作,包括根據(jù)數(shù)據(jù)手冊對DS1339芯片寄存器的初始化;其次,創(chuàng)建設(shè)備文件節(jié)點,通過class封裝函數(shù)分別在文件系統(tǒng)下創(chuàng)建sys文件節(jié)點,proc文件節(jié)點,dev設(shè)備節(jié)點;最后,針對設(shè)備文件節(jié)點的操作函數(shù)接口封裝,讓用戶通過操作相應(yīng)的設(shè)備文件節(jié)點就可以完成對RTC的讀寫。

        由于每次將時間寫入RTC芯片的過程中會產(chǎn)生一個時間延遲漂移,根據(jù)各芯片特性不同漂移系數(shù)會有差別,這是一個隱性問題,比較難以發(fā)現(xiàn)。在操作系統(tǒng)的關(guān)機過程中,會有一次將系統(tǒng)時間寫入RTC的操作,在系統(tǒng)開機加電時再將RTC時間讀出,寫入系統(tǒng)時間。故而在重啟一定次數(shù)后,系統(tǒng)時間將會產(chǎn)生比較大的誤差,原因是漂移延遲進行了累加。解決辦法是在寫入RTC過程中加上該芯片的漂移系數(shù)。

        適配完成的RTC驅(qū)動,可以通過date命令設(shè)置當(dāng)前系統(tǒng)時間,通過命令hwclock -w將系統(tǒng)時間寫入RTC芯片,通過命令hwclock -r讀取當(dāng)前RTC時間,通過命令hwclock -s將RTC時間覆蓋系統(tǒng)時間,觀察是否正確。

        4 測試驗證

        為了對上述適配方案進行驗證,采用銀河麒麟操作系統(tǒng)在鯤鵬服務(wù)器上進行,其測試驗證平臺的軟硬件配置如表1所示。

        表1 測試驗證環(huán)境配置

        測試驗證的內(nèi)容主要針對麒麟操作系統(tǒng)通過上面的適配方案在鯤鵬服務(wù)器上適配后,其固件、處理器、外設(shè)等是否適配成功,即相關(guān)的固件、處理器、外設(shè)是否能夠正常使用。

        測試方法主要是輸入與適配部件相關(guān)的命令,如果能夠正常查看并使用相關(guān)部件,可以認為適配成功并能正常使用,相關(guān)測試內(nèi)容及結(jié)果如表2所示。

        表2 適配測試及結(jié)果

        同時,通過表3所示的48小時穩(wěn)定性測試,來檢驗適配后的服務(wù)器是否能穩(wěn)定運行。

        表3 穩(wěn)定性測試結(jié)果

        測試驗證結(jié)果表明,銀河麒麟服務(wù)器操作系統(tǒng)V10在TaiShan200-2280v2服務(wù)器上適配成功,能滿足正常使用需求。

        5 結(jié)束語

        建設(shè)國產(chǎn)計算平臺是信創(chuàng)建設(shè)的基礎(chǔ),是實現(xiàn)國家關(guān)鍵領(lǐng)域國產(chǎn)化替代的關(guān)鍵環(huán)節(jié),它首先需要解決國產(chǎn)操作系統(tǒng)在國產(chǎn)服務(wù)器上的適配。針對銀河麒麟在國產(chǎn)ARM服務(wù)器上的適配問題,該文從固件、處理器、網(wǎng)卡、顯卡、外部存儲、時鐘等方面詳細闡述,測試驗證結(jié)果表明,該適配方案能夠很好地滿足國產(chǎn)操作系統(tǒng)對國產(chǎn)ARM服務(wù)器的適配。

        下一步將基于國產(chǎn)計算平臺建設(shè)基于AL平臺的國產(chǎn)計算生態(tài),重點在數(shù)據(jù)庫、中間件、關(guān)鍵行業(yè)應(yīng)用軟件等方面進行遷移適配。針對國產(chǎn)昇騰AI芯片,下一步也將做相應(yīng)的適配,滿足國內(nèi)日益增長的人工智能計算需求。通過一系列的數(shù)據(jù)庫、中間件、應(yīng)用軟件適配,希望豐富壯大國產(chǎn)計算生態(tài),有力解決當(dāng)前關(guān)鍵技術(shù)受制于人的被動局面。

        猜你喜歡
        外設(shè)固件網(wǎng)卡
        在DDS 中間件上實現(xiàn)雙冗余網(wǎng)卡切換的方法
        Server 2016網(wǎng)卡組合模式
        基于固件的遠程身份認證
        挑戰(zhàn)Killer網(wǎng)卡Realtek網(wǎng)游專用Dragon網(wǎng)卡
        提取ROM固件中的APP
        電腦愛好者(2015年7期)2015-04-09 08:54:02
        一種通過USB接口的可靠固件升級技術(shù)
        Microchip推出具備雙ADC外設(shè)的全新器件,擴展其低成本8位PIC?單片機產(chǎn)品線
        奧林巴斯XZ—2新固件升級
        中國攝影(2014年1期)2014-02-24 01:50:23
        貼身呵護 必不可少的PSP外設(shè)
        外設(shè)天地行情
        国产精品毛片无遮挡高清| 久久成人永久免费播放| 久久精品国产亚洲av成人擦边| 大陆少妇一区二区三区| 天天躁日日躁aaaaxxxx| 欧美午夜精品一区二区三区电影 | 白丝兔女郎m开腿sm调教室| 人妻去按摩店被黑人按中出| 亚洲AV手机专区久久精品| 激情五月天色婷婷久久| 亚洲精品动漫免费二区| 国产suv精品一区二区69| 无码久久精品蜜桃| 丝袜美足在线视频国产在线看| 国产精品久久久久久一区二区三区 | 国产成人亚洲综合小说区| 日本一区二区三区女优在线| 亚洲熟妇无码av在线播放| 免费xxx在线观看| 日本高清在线播放一区二区三区| 亚洲白嫩少妇在线喷水| 国产欧美成人一区二区a片| 天堂sv在线最新版在线| 黄片在线观看大全免费视频| 国产亚洲熟妇在线视频| 中文字幕人妻熟在线影院| 欧美成人一级视频| 日韩精品av在线一区二区| 婷婷久久精品国产色蜜蜜麻豆| 国产成人精品一区二区三区视频| 国产乱淫视频| 求网址日韩精品在线你懂的| 国产免费观看黄av片| 日日噜噜噜夜夜爽爽狠狠| 天堂av无码大芭蕉伊人av孕妇黑人| 亚洲精品中文字幕导航| 九九热线有精品视频86| 无码精品一区二区三区超碰| 操国产丝袜露脸在线播放| 在线亚洲高清揄拍自拍一品区| 亚洲男人第一av网站|