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

        ?

        基于ARM架構(gòu)鯤鵬系統(tǒng)的操作系統(tǒng)實(shí)驗(yàn)教學(xué)設(shè)計(jì)

        2020-11-25 05:50:14孫微微劉漢興王金鳳
        現(xiàn)代計(jì)算機(jī) 2020年17期
        關(guān)鍵詞:實(shí)驗(yàn)

        孫微微,劉漢興,王金鳳

        (華南農(nóng)業(yè)大學(xué)數(shù)學(xué)與信息學(xué)院,廣州510642)

        0 引言

        長期以來,我國計(jì)算機(jī)處理器芯片和操作系統(tǒng)嚴(yán)重依賴于國外,為防止技術(shù)升級(jí)和國家安全受制于人,硬件和軟件的自主可控研發(fā)和創(chuàng)新日益重要[1]。華為作為我國的科技先行者和踐行者,自主研制了鯤鵬處理器芯片和歐拉操作系統(tǒng),為突破國外的技術(shù)壟斷和扼制提供了核心硬件和軟件工具。

        操作系統(tǒng)實(shí)驗(yàn)是操作系統(tǒng)課程的重要實(shí)踐環(huán)節(jié),對提升學(xué)生動(dòng)手實(shí)踐能力和加深理論知識(shí)理解有重要作用。然而傳統(tǒng)的操作系統(tǒng)實(shí)驗(yàn)?zāi)J狡诶碚撝R(shí)和原理的復(fù)現(xiàn),實(shí)用價(jià)值欠缺。有必要設(shè)計(jì)基于鯤鵬平臺(tái)的新型操作系統(tǒng)實(shí)驗(yàn)項(xiàng)目,使學(xué)生提高實(shí)踐能力并及時(shí)跟蹤新技術(shù)的發(fā)展。

        1 鯤鵬計(jì)算生態(tài)組成

        鯤鵬計(jì)算生態(tài)是指基于鯤鵬處理器構(gòu)建的全棧IT基礎(chǔ)設(shè)施、行業(yè)應(yīng)用及服務(wù),包括個(gè)人計(jì)算機(jī)、服務(wù)器、企業(yè)存儲(chǔ)、操作系統(tǒng)、中間件、虛擬化、數(shù)據(jù)庫及云服務(wù)等,其目標(biāo)是建立完善的開發(fā)者和產(chǎn)業(yè)人才體系,使鯤鵬生態(tài)成為開發(fā)者和用戶的首選,實(shí)現(xiàn)IT技術(shù)自主安全可控[2]。

        在硬件方面,不同于復(fù)雜指令集CISC的x86系列CPU,華為公司2019年推出的鯤鵬(Kunpeng)920處理器采用精簡指令集RISC的ARM架構(gòu),并基于鯤鵬處理器構(gòu)建全自研的泰山(Taishan)服務(wù)器。

        在軟件方面,華為推出Linux兼容的歐拉(openEuler)操作系統(tǒng),并將云服務(wù)全面鯤鵬化,支持事務(wù)處理、大數(shù)據(jù)分析、科學(xué)計(jì)算、數(shù)據(jù)庫、分布式存儲(chǔ)及移動(dòng)終端ARM應(yīng)用等多種場景。

        在企業(yè)和開發(fā)者支持方面,通過鯤鵬彈性云服務(wù)器提供超高性價(jià)比和穩(wěn)定可靠的計(jì)算和存儲(chǔ)資源,通過從x86平臺(tái)到鯤鵬ARM平臺(tái)的多種應(yīng)用移植、性能優(yōu)化以及應(yīng)用部署軟件工具方便企業(yè)數(shù)字化轉(zhuǎn)型,通過云容器引擎提供多平臺(tái)自適應(yīng)混合部署以及快速地將原有的x86應(yīng)用遷移到鯤鵬平臺(tái)。

        2 傳統(tǒng)操作系統(tǒng)課程實(shí)驗(yàn)?zāi)J?/h2>

        操作系統(tǒng)課程教學(xué)在計(jì)算機(jī)學(xué)科中一直占據(jù)非常重要的基礎(chǔ)位置,雖然操作系統(tǒng)課程主要是理論課,但實(shí)驗(yàn)部分也是不可或缺的。然而傳統(tǒng)的操作系統(tǒng)課程實(shí)驗(yàn)主要有以下兩種模式[3]:

        (1)編程對操作系統(tǒng)的重要原理算法進(jìn)行模擬實(shí)現(xiàn),例如實(shí)現(xiàn)CPU調(diào)度算法、內(nèi)存分區(qū)分配算法、虛擬內(nèi)存置換算法等。學(xué)生對此感覺是“一個(gè)數(shù)據(jù)結(jié)構(gòu)大作業(yè)”,除了練習(xí)了編程水平和深入了解了各算法細(xì)節(jié),對實(shí)踐能力培養(yǎng)并無多少幫助。

        (2)實(shí)現(xiàn)一個(gè)迷你操作系統(tǒng)。不同水平的大學(xué)實(shí)現(xiàn)的層次不一樣,有些學(xué)校從啟動(dòng)的匯編代碼開始實(shí)現(xiàn),逐步(甚至逐屆學(xué)生接力)添加進(jìn)程管理、內(nèi)存管理、文件管理和設(shè)備管理等模塊;有些學(xué)校對一個(gè)已有的教學(xué)操作系統(tǒng)改編,例如添加系統(tǒng)調(diào)用、修改算法等。這種模式可以讓學(xué)生熟悉操作系統(tǒng)底層的內(nèi)核細(xì)節(jié),但實(shí)際是讓學(xué)生重復(fù)學(xué)習(xí)“造輪子”。

        誠然,操作系統(tǒng)的源碼和內(nèi)核開發(fā)是需要研究型人才甚至天才的,然而有必要讓所有學(xué)生都從零開始去學(xué)習(xí)打磨輪子和制造發(fā)動(dòng)機(jī)嗎?既然已經(jīng)有了鯤鵬這樣的完善且先進(jìn)的平臺(tái),為什么不引導(dǎo)部分應(yīng)用型的學(xué)生學(xué)習(xí)怎么直接利用鯤鵬和相關(guān)工具去解決未來工作中的潛在實(shí)際問題呢?所以,重新設(shè)計(jì)鯤鵬平臺(tái)下的新型操作系統(tǒng)實(shí)驗(yàn)項(xiàng)目是有實(shí)際意義的。

        3 鯤鵬平臺(tái)下操作系統(tǒng)實(shí)驗(yàn)項(xiàng)目設(shè)計(jì)

        在進(jìn)行鯤鵬平臺(tái)下的操作系統(tǒng)實(shí)驗(yàn)項(xiàng)目之前,學(xué)生要熟悉支持鯤鵬和泰山服務(wù)器的JDK、編譯器gcc、虛擬機(jī)和docker、華為彈性云服務(wù)器等,特別是Linux、CentOS或歐拉操作系統(tǒng)的vi編輯器和shell命令操作[2]。

        3.1 應(yīng)用移植

        x86處理器是復(fù)雜指令集結(jié)構(gòu),鯤鵬處理器是精簡指令集結(jié)構(gòu),二者的機(jī)器指令差異很大,由于x86處理器長期的主流地位,絕大多數(shù)的企業(yè)應(yīng)用軟件是基于x86平臺(tái)開發(fā)的,不能直接移植到鯤鵬平臺(tái)運(yùn)行,因此進(jìn)行應(yīng)用移植是首先要解決的問題。

        解釋型語言(如Java、Python等)的源代碼由編譯器生成字節(jié)碼,再由虛擬機(jī)解釋執(zhí)行,虛擬機(jī)屏蔽了不同CPU指令集的差異,所以解釋型語言開發(fā)的程序在遷移到鯤鵬處理器時(shí),一般不需要特殊處理。但編譯型語言(如C、C++等)開發(fā)的程序在從x86平臺(tái)遷移到鯤鵬平臺(tái)時(shí),必須重新編譯才能運(yùn)行。

        以CentOS操作系統(tǒng)和C/C++源碼為例,應(yīng)用移植的實(shí)驗(yàn)項(xiàng)目主要有以下步驟:

        (1)從鯤鵬社區(qū)中獲取代碼遷移工具Porting Advisor,并安裝到服務(wù)器的/opt/portadv目錄;

        (2)用遠(yuǎn)程傳輸工具WinSCP把源碼文件(如C/C++源代碼文件、匯編源代碼文件、Makefile文件)傳輸?shù)?opt/portadv/portadmin目錄,設(shè)置源碼分析相關(guān)參數(shù)。Porting Advisor根據(jù)依賴庫白名單、匯編代碼字典、編譯器字典等開始源碼分析;

        (3)源碼分析完畢后,Porting Advisor生成移植建議報(bào)告。例如原始Makefile文件中存在編譯選項(xiàng)-m32,工具建議移植到鯤鵬平臺(tái)時(shí)刪除該選項(xiàng);x86的內(nèi)存操作匯編指令mov需要替換成ldr x0,[x1]&str x0,[x2]指令等。

        (4)根據(jù)移植建議,安裝或編譯依賴庫SO文件,修改源代碼。重新上傳修改后的源代碼,再次進(jìn)行移植分析和測試驗(yàn)證。

        3.2 容器遷移

        虛擬機(jī)技術(shù)已經(jīng)廣泛應(yīng)用,通過VMware等虛擬機(jī)軟件,在宿主機(jī)操作系統(tǒng)(例如Windows)上安裝若干個(gè)相互隔離的GuestOS(例如Redhat、CentOS等),然后在各GuestOS中可以運(yùn)行相互隔離的多個(gè)應(yīng)用程序??梢姡摂M機(jī)會(huì)消耗很大的磁盤、CPU和內(nèi)存資源。

        容器是一種輕量級(jí)自包含的軟件打包技術(shù)。容器引擎與宿主機(jī)操作系統(tǒng)通信,管理多個(gè)相互隔離的docker容器實(shí)例。類似于面向?qū)ο蟮念惡蛯ο蟮年P(guān)系,首先要生成一個(gè)將應(yīng)用程序的源代碼和依賴庫都打包在內(nèi)的docker鏡像,然后通過docker鏡像來創(chuàng)建docker容器,最后在docker容器中啟動(dòng)一個(gè)應(yīng)用程序?qū)嵗?。不同的?yīng)用程序需要生成不同的docker鏡像,運(yùn)行在不同的docker容器。與應(yīng)用程序類似,跨平臺(tái)的容器是互不適用的,例如x86平臺(tái)的docker鏡像直接應(yīng)用于ARM平臺(tái)會(huì)出現(xiàn)格式錯(cuò)誤。

        (1)docker啟動(dòng)及相關(guān)命令:

        ①執(zhí)行yum-y install docker命令安裝docker;

        ②執(zhí)行systemctl start docker命令啟動(dòng)docker服務(wù);

        ③熟悉使用如下命令:

        ●docker search查找Docker Hub上的鏡像;

        ●docker pull拉取鏡像;

        ●docker images查看鏡像;

        ●docker run啟動(dòng)一個(gè)容器并在容器內(nèi)執(zhí)行用戶命令;

        愛羅漠有多苦,她比誰都更清楚。她是不能和楚西爭的,連對手都沒有,這場仗注定打得艱難。可這沒有關(guān)系。她可以沒有愛情,但是當(dāng)愛情降臨的時(shí)候,她必須對它忠誠。

        ●docker ps查看運(yùn)行中和未運(yùn)行的容器;

        ●docker commit創(chuàng)建一個(gè)新鏡像。

        (2)根據(jù)docker ID創(chuàng)建一個(gè)新鏡像,作為目標(biāo)應(yīng)用(如Redis)的基礎(chǔ)鏡像;

        (3)創(chuàng)建dockerfile文件,指明源鏡像ID、Redis的來源地址、容器運(yùn)行時(shí)要監(jiān)聽的端口、掛載點(diǎn)、容器啟動(dòng)時(shí)的服務(wù)等配置參數(shù)。執(zhí)行docker built命令,根據(jù)dockerfile創(chuàng)建Redis的應(yīng)用鏡像;

        (4)根據(jù)Redis的應(yīng)用鏡像,啟動(dòng)一個(gè)容器,連接到Redis服務(wù)端,之后即可使用Redis服務(wù)。

        3.3 應(yīng)用部署與發(fā)布

        可以在鯤鵬云服務(wù)器或者泰山物理服務(wù)器上搭建鯤鵬開發(fā)環(huán)境,通過打包編譯源碼或者制作主機(jī)鏡像方式實(shí)現(xiàn)應(yīng)用的快速部署。

        在采用打包并編譯源碼成為RPM文件的方式時(shí),首先需要安裝Linaro交叉編譯工具。之所以需要交叉編譯,是因?yàn)樵S多基于ARM平臺(tái)的嵌入式硬件的性能不高或沒有足夠的內(nèi)存/磁盤空間[4],而整個(gè)編譯過程非常消耗資源,所以需要在x86平臺(tái)上編寫程序并交叉編譯成可以在ARM平臺(tái)上運(yùn)行的程序,所生成的RPM包可以直接安裝到ARM平臺(tái)。

        以將Redis源碼包制作成RPM包為例,實(shí)驗(yàn)項(xiàng)目主要有以下步驟:

        (1)安裝rpm-build工具,用wget工具下載Redis的開源源碼,準(zhǔn)備編譯前環(huán)境;

        (2)編輯SPEC配置文件,設(shè)置軟件發(fā)行版本、解壓源碼、編譯和安裝軟件包時(shí)要執(zhí)行的命令等信息;

        (3)執(zhí)行rpmbuild命令構(gòu)建二進(jìn)制的RPM包;

        (4)執(zhí)行rpm命令安裝Redis的客戶端版本。

        4 結(jié)語

        鯤鵬作為我國自主研制的處理器芯片,在實(shí)現(xiàn)硬件自主安全可控中具有重要作用?;邛H鵬平臺(tái)設(shè)計(jì)新型操作系統(tǒng)實(shí)驗(yàn)項(xiàng)目,涉及較多工具、命令和技術(shù),實(shí)施過程中經(jīng)常遇到配置或運(yùn)行的意外情況,不僅可以讓學(xué)生提高遇到問題解決問題的實(shí)戰(zhàn)實(shí)踐能力,而且可以在實(shí)施過程中了解新技術(shù)概念。與傳統(tǒng)的操作系統(tǒng)實(shí)驗(yàn)項(xiàng)目相比,更容易引起學(xué)生的學(xué)習(xí)興趣,同時(shí)有助于對理論知識(shí)的理解和更新。對于校企產(chǎn)學(xué)合作協(xié)同育人以及操作系統(tǒng)理論課程教學(xué)改革也是一種有益的探索。

        猜你喜歡
        實(shí)驗(yàn)
        我做了一項(xiàng)小實(shí)驗(yàn)
        記住“三個(gè)字”,寫好小實(shí)驗(yàn)
        我做了一項(xiàng)小實(shí)驗(yàn)
        我做了一項(xiàng)小實(shí)驗(yàn)
        記一次有趣的實(shí)驗(yàn)
        有趣的實(shí)驗(yàn)
        微型實(shí)驗(yàn)里看“燃燒”
        做個(gè)怪怪長實(shí)驗(yàn)
        NO與NO2相互轉(zhuǎn)化實(shí)驗(yàn)的改進(jìn)
        實(shí)踐十號(hào)上的19項(xiàng)實(shí)驗(yàn)
        太空探索(2016年5期)2016-07-12 15:17:55
        人妻色中文字幕免费视频| 久久精品国产亚洲一区二区| 国产成人午夜精品免费视频| 日本熟妇色xxxxx欧美老妇| 精品国产群3p在线观看| 久久一二三四区中文字幕| 有坂深雪中文字幕亚洲中文| 色爱无码av综合区| 亚洲av无码一区二区三区四区| 欧美成人精品三级在线观看| 成在线人免费无码高潮喷水| 手机免费在线观看日韩av| 国产高潮流白浆视频在线观看| 免费毛儿一区二区十八岁| 国产台湾无码av片在线观看| 麻豆AV免费网站| 国产午夜在线观看视频| 一本色道无码不卡在线观看| 99久久国产福利自产拍 | 欧美激情精品久久999| 亚洲av网站首页在线观看| 中文字幕午夜精品一区二区三区| 久久久国产精品va麻豆| 99久久久无码国产精品6| 久久精品国产亚洲AV成人公司| 国产三级三级精品久久| 极品少妇被黑人白浆直流| 青青久在线视频免费观看| 国产成人久久精品激情91| 国产丝袜美腿中文字幕| 高h纯肉无码视频在线观看| 亚洲成a人片在线| 在线视频日韩精品三区| 99久久精品人妻少妇一| 免费无码毛片一区二区app| 大学生被内谢粉嫩无套| 挑战亚洲美女视频网站| 亚洲av毛片在线免费观看| 高清偷自拍第1页| 国产自产av一区二区三区性色| 国产一区二区三区免费av|