• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      操作系統(tǒng)課程核心實(shí)驗(yàn)演示平臺設(shè)計(jì)與實(shí)現(xiàn)

      2022-09-22 05:59:56高永強(qiáng)李振坤
      軟件導(dǎo)刊 2022年9期
      關(guān)鍵詞:進(jìn)程內(nèi)存調(diào)度

      高永強(qiáng),李振坤

      (內(nèi)蒙古大學(xué)計(jì)算機(jī)學(xué)院,內(nèi)蒙古自治區(qū)呼和浩特 010010)

      0 引言

      操作系統(tǒng)是計(jì)算機(jī)類專業(yè)的核心課程,在課程體系中占有重要地位。由于課程內(nèi)容涉及計(jì)算機(jī)軟件、硬件等方面知識,理論性強(qiáng)、內(nèi)容抽象,僅采用課堂講授理論知識的方式,難以使學(xué)生深入理解課程內(nèi)容,容易造成教學(xué)效果不佳,學(xué)生學(xué)習(xí)效果不理想的狀況[1]。

      為此,國內(nèi)外學(xué)者在教學(xué)過程中加入實(shí)踐環(huán)節(jié),使學(xué)生能夠更加直觀地了解所學(xué)知識的應(yīng)用場景,以提升學(xué)生的實(shí)踐動(dòng)手能力,進(jìn)而促使學(xué)生深入掌握操作系統(tǒng)的課程內(nèi)容[2-4]。

      然而,現(xiàn)階段實(shí)踐教學(xué)課程設(shè)計(jì)仍然較為陳舊、缺乏創(chuàng)新,無法達(dá)到教學(xué)相長的教學(xué)效果。因此,本文設(shè)計(jì)一款核心實(shí)驗(yàn)演示平臺,支持可視化展示多種調(diào)度算法的詳細(xì)運(yùn)行過程,并能演示銀行家算法及判斷系統(tǒng)安全狀態(tài)。

      1 教學(xué)現(xiàn)狀及相關(guān)研究

      1.1 課程特點(diǎn)

      操作系統(tǒng)是計(jì)算機(jī)類專業(yè)本科階段的核心課程,主要內(nèi)容包括操作系統(tǒng)的基本原理和實(shí)現(xiàn)技術(shù),課程特點(diǎn)具體如下:

      (1)內(nèi)容多、難度大。課程涉及的基礎(chǔ)概念多,內(nèi)容涉及面廣[5],涵蓋進(jìn)程與線程管理、處理機(jī)調(diào)度、同步互斥、操作系統(tǒng)的接口、內(nèi)存管理、I/O 管理、文件系統(tǒng)等方面。學(xué)生需要學(xué)習(xí)多門先導(dǎo)課程,課程難度大。

      (2)內(nèi)容抽象。課程知識涉及的理論、概念較多,例如微內(nèi)核、同步互斥等,學(xué)生通常難以深入理解所學(xué)知識,導(dǎo)致學(xué)習(xí)效果較差。

      (3)實(shí)踐性強(qiáng)。課程中的知識點(diǎn)通常與實(shí)踐相互關(guān)聯(lián),但現(xiàn)階段所學(xué)的課程內(nèi)容在一定程度上與實(shí)際需求相互脫離,導(dǎo)致學(xué)生無法利用所學(xué)知識解決實(shí)際問題,實(shí)踐動(dòng)手能力較差。

      1.2 教學(xué)現(xiàn)狀

      傳統(tǒng)教學(xué)方法缺乏除課堂教學(xué)及驗(yàn)證性實(shí)驗(yàn)外的教學(xué)嘗試,教師僅通過幻燈片進(jìn)行知識講解,缺乏相關(guān)知識點(diǎn)尤其是核心算法的動(dòng)態(tài)演示,學(xué)生只能在紙上進(jìn)行手動(dòng)演算,效果較差。

      為此,國內(nèi)許多學(xué)者對操作系統(tǒng)課程的教學(xué)研究工作進(jìn)行探索。例如,朱小軍等[6]和譚舜泉等[7]提出將開源教學(xué)操作系統(tǒng)xv6 引入課程實(shí)踐教學(xué)。李濤等[8]提出利用時(shí)序圖比較順序拷貝文件與并發(fā)拷貝文件的區(qū)別。張銳敏等[9]以培養(yǎng)學(xué)生能力為目標(biāo),對課程進(jìn)行混合式教學(xué)改革。文艷軍等[10]提出一種基于內(nèi)核調(diào)試和抽象精化思想的實(shí)驗(yàn)。雖然,上述研究均在實(shí)踐教學(xué)中引入新的方法及輔助軟件,但在降低學(xué)生學(xué)習(xí)課程核心算法的難度方面,效果仍然較差。

      針對上述問題,本文設(shè)計(jì)一款操作系統(tǒng)核心實(shí)驗(yàn)演示平臺,創(chuàng)新性地將操作系統(tǒng)的核心算法進(jìn)行可視化展示,使學(xué)生能夠直觀了解所學(xué)算法的整個(gè)運(yùn)行過程,在一定程度上降低了學(xué)生的學(xué)習(xí)難度,使學(xué)生更容易掌握算法的內(nèi)在思想。

      2 平臺設(shè)計(jì)與實(shí)現(xiàn)

      2.1 功能設(shè)計(jì)

      平臺在Windows 環(huán)境下,采用Java JDK、Swing、Eclipse進(jìn)行開發(fā),主要包含進(jìn)程參數(shù)設(shè)置、調(diào)度算法參數(shù)設(shè)置、調(diào)度算法演示及銀行家算法4 個(gè)部分。其中,進(jìn)程參數(shù)設(shè)置模塊功能為添加或刪除進(jìn)程,設(shè)置進(jìn)程的到達(dá)時(shí)間等參數(shù);調(diào)度算法參數(shù)設(shè)置模塊功能為設(shè)置作業(yè)調(diào)度與進(jìn)程調(diào)度分別使用的算法,設(shè)置內(nèi)存最大作業(yè)數(shù)、時(shí)間片大小等參數(shù);調(diào)度算法演示模塊為整個(gè)軟件的核心模塊,該模塊功能包括控制運(yùn)行過程、運(yùn)行信息展示及進(jìn)程信息展示[11-12];銀行家算法模塊的功能包括數(shù)據(jù)輸入、安全性檢測、資源請求及執(zhí)行結(jié)果展示。具體功能結(jié)構(gòu)圖如圖1所示。

      Fig.1 Platform function structure圖1 平臺功能結(jié)構(gòu)

      2.2 進(jìn)程參數(shù)設(shè)置模塊

      通過該模塊對序號、到達(dá)時(shí)間、服務(wù)時(shí)間及優(yōu)先級進(jìn)行初始化設(shè)置。其中,進(jìn)程序號由平臺自動(dòng)生成,其它參數(shù)則需要用戶手動(dòng)輸入。此外,用戶可手動(dòng)刪除多余進(jìn)程。具體參數(shù)設(shè)置如圖2所示。

      Fig.2 Process parameter setting圖2 進(jìn)程參數(shù)設(shè)置

      2.3 調(diào)度算法設(shè)置模塊

      通過該模塊初始化調(diào)度算法的設(shè)置。調(diào)度算法主要分為作業(yè)調(diào)度與進(jìn)程調(diào)度。

      2.3.1 作業(yè)調(diào)度算法

      作業(yè)調(diào)度又稱為高級調(diào)度,相較于進(jìn)程調(diào)度的頻率更低,主要將位于外存后備隊(duì)列中的某些作業(yè)調(diào)入內(nèi)存。

      平臺現(xiàn)階段共支持5 種作業(yè)調(diào)度算法,分別為先來先服務(wù)(FCFS)、短作業(yè)優(yōu)先(SJF)、靜態(tài)優(yōu)先級(HPF)、動(dòng)態(tài)優(yōu)先級算法(DPF)及高響應(yīng)比優(yōu)先算法(HRN)。其中,F(xiàn)CFS 按照作業(yè)到達(dá)的先后次序進(jìn)入內(nèi)存隊(duì)列,由于該算法僅考慮作業(yè)到達(dá)的次序,忽視作業(yè)要求服務(wù)時(shí)間的長短,會(huì)導(dǎo)致系統(tǒng)平均周轉(zhuǎn)時(shí)間較長;SJF 按照要求服務(wù)時(shí)間更短的作業(yè)優(yōu)先進(jìn)入內(nèi)存的原則進(jìn)行內(nèi)存分配,優(yōu)點(diǎn)為短作業(yè)能夠更早完成,但會(huì)導(dǎo)致服務(wù)時(shí)間較長的進(jìn)程長時(shí)間得不到調(diào)度,從而產(chǎn)生“饑餓”現(xiàn)象;HPF 算法在初始狀態(tài)為每個(gè)作業(yè)預(yù)先設(shè)置優(yōu)先級,且優(yōu)先級將不會(huì)發(fā)生變化,平臺將優(yōu)先調(diào)度優(yōu)先級更高的作業(yè);DPF 算法同樣在初始狀態(tài)為每個(gè)作業(yè)預(yù)先設(shè)置優(yōu)先級,但優(yōu)先級會(huì)隨著進(jìn)入就緒序列的時(shí)間增加而上升,從而有效避免HPF 中優(yōu)先級較低的作業(yè)發(fā)生“饑餓”現(xiàn)象,兼顧了作業(yè)的等待時(shí)間與運(yùn)行時(shí)間,既能保證短作業(yè)優(yōu)先運(yùn)行,又能控制長作業(yè)的等待時(shí)間,有效提高系統(tǒng)調(diào)度性能。此外,用戶需要手動(dòng)設(shè)置內(nèi)存最大作業(yè)數(shù),以確定內(nèi)存中的最大進(jìn)程隊(duì)列數(shù)量。

      2.3.2 進(jìn)程調(diào)度算法

      進(jìn)程調(diào)度又稱為低級調(diào)度,調(diào)度頻率較高,主要用于選取位于內(nèi)存就緒隊(duì)列中的某些進(jìn)程,并為其分配處理機(jī)。

      平臺現(xiàn)階段支持6 種進(jìn)程調(diào)度算法,分別為先來先服務(wù)(FCFS)、短進(jìn)程優(yōu)先(SPF)、靜態(tài)優(yōu)先級(HPF)、動(dòng)態(tài)優(yōu)先級算法(DPF)、高響應(yīng)比優(yōu)先算法(HRN)及時(shí)間片輪轉(zhuǎn)調(diào)度算法(RR)。其中,前3 種算法與作業(yè)調(diào)度算法相似;DPF 算法在初始狀態(tài)為每個(gè)進(jìn)程預(yù)先設(shè)置優(yōu)先級,若進(jìn)程處于就緒隊(duì)列中,優(yōu)先級會(huì)隨等待時(shí)間增加而提升,該算法兼顧進(jìn)程的優(yōu)先級與等待時(shí)間,既避免靜態(tài)優(yōu)先級中優(yōu)先級較低的作業(yè)發(fā)生“饑餓”現(xiàn)象,又能防止進(jìn)程長時(shí)間占用處理機(jī);HRN 算法則兼顧進(jìn)程長短及等待時(shí)間,避免進(jìn)程長時(shí)間得不到調(diào)度的情況;RR 調(diào)度算法屬于搶占式調(diào)度算法,該算法通過設(shè)置時(shí)間片,既考慮進(jìn)程的先后順序,又避免進(jìn)程長時(shí)間占用處理機(jī)。在平臺中,用戶可手動(dòng)設(shè)置時(shí)間片大小。

      上述5 種算法中,F(xiàn)CFS 和RR 無需用戶設(shè)置是否為搶占模式,SPF、DPF 及HRN 可設(shè)置為搶占模式。此外,若僅演示進(jìn)程調(diào)度的過程,用戶只需將內(nèi)存最大作業(yè)數(shù)設(shè)置為大于所有進(jìn)程數(shù)量[13-14]。調(diào)度算法設(shè)置如圖3所示。

      Fig.3 Scheduling algorithm settings圖3 調(diào)度算法設(shè)置

      2.4 調(diào)度算法演示模塊

      該模塊展示調(diào)度算法的運(yùn)行過程,界面中所有數(shù)據(jù)都會(huì)實(shí)時(shí)更新,以秒為計(jì)時(shí)單位,調(diào)度算法演示如圖4 所示。其中,界面主要分為以下6個(gè)模塊:

      (1)界面左上部分為初始進(jìn)程隊(duì)列展示,用戶可通過表格查看所有進(jìn)程的初始參數(shù)。

      (2)界面中部上側(cè)為用戶設(shè)置的調(diào)度算法及預(yù)設(shè)參數(shù)。

      (3)界面右上部分為運(yùn)行控制單元,用戶通過選擇不同的運(yùn)行模式控制該單元調(diào)度算法的運(yùn)行。運(yùn)行模式包括單步運(yùn)行和連續(xù)運(yùn)行,單步運(yùn)行的單位為秒。此外,在連續(xù)運(yùn)行過程中用戶可隨時(shí)暫停與重置系統(tǒng)。

      (4)界面左下部分為外存及內(nèi)存隊(duì)列,分別展示當(dāng)前時(shí)刻外存和內(nèi)存中的進(jìn)程。

      (5)界面中部下側(cè)為進(jìn)程狀態(tài)展示,具體包括每個(gè)進(jìn)程的運(yùn)行進(jìn)度、等待時(shí)間、剩余時(shí)間、周轉(zhuǎn)時(shí)間及響應(yīng)比等數(shù)據(jù)[15]。

      (6)界面右下部分顯示當(dāng)前運(yùn)行時(shí)刻及運(yùn)行狀態(tài)的具體信息描述。

      2.5 銀行家算法演示模塊

      模塊主要參數(shù)設(shè)置、數(shù)據(jù)輸入及操作執(zhí)行3 部分構(gòu)成。其中,參數(shù)設(shè)置部分用戶自主設(shè)置資源種類、每種資源的數(shù)量及進(jìn)程數(shù)量;數(shù)據(jù)輸入部分用戶進(jìn)行Max、Allocation、Need 矩陣數(shù)據(jù)初始化;操作執(zhí)行部分則進(jìn)行系統(tǒng)的安全性檢測或通過輸入相關(guān)數(shù)據(jù)進(jìn)行資源請求[16]。界面右側(cè)的文本框中會(huì)反饋執(zhí)行結(jié)果的具體信息描述。平臺演示銀行家算法如圖5所示。

      Fig.5 Banker algorithm圖5 平臺演示銀行家算法

      3 平臺評估

      為了評估核心實(shí)驗(yàn)演示平臺的有效性,將平臺應(yīng)用于內(nèi)蒙古大學(xué)計(jì)算機(jī)學(xué)院的本科操作系統(tǒng)課程。

      通過比較學(xué)生在兩個(gè)學(xué)年中的考試和實(shí)驗(yàn)表現(xiàn)以評估平臺的有效性[17]。其中,第一學(xué)年使用傳統(tǒng)教學(xué)方法進(jìn)行教學(xué);在第二學(xué)年使用平臺在課堂上演示進(jìn)程調(diào)度及銀行家算法,并讓學(xué)生自行使用平臺學(xué)習(xí)相關(guān)課程知識。實(shí)驗(yàn)數(shù)據(jù)來源于內(nèi)蒙古大學(xué)計(jì)算機(jī)學(xué)院兩個(gè)班級共106 名學(xué)生[18-19],考試成績見圖6(彩圖掃OSID 可見,下同)。

      Fig.6 Distribution of examination scores圖6 考試成績分布

      由圖6 可見,使用核心實(shí)驗(yàn)演示平臺后得分在60 分以下及60-70 分區(qū)間的人數(shù)有所降低,而70-80 分和80-90分區(qū)間的人數(shù)明顯上升,90-100 分區(qū)間的人數(shù)未發(fā)生變化。學(xué)生平均得分由71.3 分提高到了80.2 分,證實(shí)平臺教學(xué)能夠在一定程度上提升學(xué)生對核心算法的掌握能力。70 分及以下的學(xué)生數(shù)量顯著降低,證明平臺教學(xué)對低分段學(xué)生的提升更大。接下來,比較兩個(gè)班學(xué)生在兩個(gè)學(xué)年中的實(shí)驗(yàn)完成情況,如圖7所示。

      Fig.7 Experiment completion圖7 實(shí)驗(yàn)完成情況

      由圖7 可見,“未完成任務(wù)”“基本完成任務(wù)”“完成任務(wù)”這3 種完成情況的人數(shù)都有所降低,而“完成額外任務(wù)”的人數(shù)顯著增加[20],學(xué)生的實(shí)驗(yàn)完成情況具有顯著改善,證明現(xiàn)階段學(xué)生對算法的理解提升較大。此外,為了進(jìn)一步完善平臺的功能,向第二學(xué)年的學(xué)生收集了對平臺的改進(jìn)意見,如圖8所示。

      Fig.8 Improvement suggestions圖8 改進(jìn)意見

      由圖8 可見,被提及最多的是希望平臺能夠?qū)崿F(xiàn)更多種類的算法,存在17%的學(xué)生提出應(yīng)該美化平臺界面,25%的學(xué)生認(rèn)為增加算法的回溯功能十分必要。

      4 結(jié)論

      本文展示核心實(shí)驗(yàn)演示平臺的詳細(xì)信息,該平臺以可視化和交互式方式展示作業(yè)調(diào)度、進(jìn)程調(diào)度和銀行家算法的實(shí)驗(yàn)過程,使學(xué)生能夠直觀、深入了解所學(xué)算法的相關(guān)概念。

      實(shí)驗(yàn)結(jié)果證明,平臺能夠有效提高操作系統(tǒng)課程的教學(xué)效果,適合作業(yè)調(diào)度、進(jìn)程調(diào)度及銀行家算法的輔助教學(xué)。比較兩學(xué)年中學(xué)生的考試分?jǐn)?shù)及核心實(shí)驗(yàn)的完成情況,結(jié)果顯示學(xué)生在考試中算法部分的平均得分由71.3 分提高到80.2 分,得分為0-70 分的學(xué)生人數(shù)降低50%,完成實(shí)驗(yàn)及額外實(shí)驗(yàn)的學(xué)生人數(shù)顯著提升。

      此外,為進(jìn)一步完善平臺功能,計(jì)劃根據(jù)學(xué)生反饋美化平臺頁面、增加算法回溯功能、開發(fā)移動(dòng)端版本、涵蓋同步互斥、頁面置換等內(nèi)容。

      猜你喜歡
      進(jìn)程內(nèi)存調(diào)度
      《調(diào)度集中系統(tǒng)(CTC)/列車調(diào)度指揮系統(tǒng)(TDCS)維護(hù)手冊》正式出版
      債券市場對外開放的進(jìn)程與展望
      中國外匯(2019年20期)2019-11-25 09:54:58
      一種基于負(fù)載均衡的Kubernetes調(diào)度改進(jìn)算法
      “春夏秋冬”的內(nèi)存
      虛擬機(jī)實(shí)時(shí)遷移調(diào)度算法
      社會(huì)進(jìn)程中的新聞學(xué)探尋
      基于內(nèi)存的地理信息訪問技術(shù)
      我國高等教育改革進(jìn)程與反思
      SVC的RTP封裝及其在NS2包調(diào)度中的應(yīng)用研究
      Linux僵死進(jìn)程的產(chǎn)生與避免
      宾阳县| 历史| 齐齐哈尔市| 西华县| 灵台县| 隆回县| 烟台市| 望江县| 金川县| 额尔古纳市| 定兴县| 永登县| 夏河县| 工布江达县| 镇江市| 册亨县| 常山县| 永吉县| 莱阳市| 陆河县| 沙洋县| 红桥区| 讷河市| 肥东县| 合肥市| 禹州市| 织金县| 鄂托克前旗| 和硕县| 濉溪县| 余姚市| 环江| 绵阳市| 邵阳市| 秀山| 青川县| 夏邑县| 太谷县| 遵化市| 来安县| 蕲春县|