操作系統(tǒng)課程設(shè)計(jì)_第1頁
操作系統(tǒng)課程設(shè)計(jì)_第2頁
操作系統(tǒng)課程設(shè)計(jì)_第3頁
操作系統(tǒng)課程設(shè)計(jì)_第4頁
操作系統(tǒng)課程設(shè)計(jì)_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第頁中南大學(xué)操作系統(tǒng)課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告題目:多用戶多任務(wù)的類操作系統(tǒng)學(xué)院:信息科學(xué)及工程學(xué)院姓名:班級:日期:2019/07目錄概述課程設(shè)計(jì)要求設(shè)計(jì)的基本原理和概念總體設(shè)計(jì):實(shí)現(xiàn)的方法和主要技術(shù)路線1.總體功能模塊圖2.總體功能流圖詳細(xì)設(shè)計(jì):模塊內(nèi)部的流程實(shí)現(xiàn)算法運(yùn)行結(jié)果完成的情況使用說明實(shí)驗(yàn)總結(jié)參考文獻(xiàn)附件:源程序代碼概述操作系統(tǒng)課程主要講述的內(nèi)容是多道操作系統(tǒng)的原理及技術(shù),及其它計(jì)算機(jī)原理、編譯原理、匯編語言、計(jì)算機(jī)網(wǎng)絡(luò)、程序設(shè)計(jì)等專業(yè)課程關(guān)系十分密切。本課程設(shè)計(jì)的目的綜合應(yīng)用學(xué)生所學(xué)知識,建立系統(tǒng)和完整的計(jì)算機(jī)系統(tǒng)概念,理解和鞏固操作系統(tǒng)基本理論、原理和方法,掌握操作系統(tǒng)開發(fā)的基本技能。課程設(shè)計(jì)要求采用VC、VB、java或C等編程語言,模擬開發(fā)一個(gè)多用戶多任務(wù)的類操作系統(tǒng)軟件。要求如下:模擬進(jìn)程調(diào)度算法,模擬各種進(jìn)程調(diào)度算法,并能管理各種進(jìn)程調(diào)度算法的演示過程。模擬各種內(nèi)存分配算法及回收過程,并能動態(tài)演示。結(jié)合進(jìn)程調(diào)度算法,能為進(jìn)程模擬分配內(nèi)存,并設(shè)計(jì)一個(gè)跟蹤該內(nèi)存模擬分配的進(jìn)程或線程,記錄內(nèi)存分配的結(jié)果;模擬多用戶登錄管理過程,能允許多個(gè)用戶登錄,為每個(gè)用戶建立進(jìn)程或線程,并進(jìn)行進(jìn)程管理;能模擬文件系統(tǒng)管理,進(jìn)程可以對文件系統(tǒng)(包括文件和目錄)進(jìn)行讀、寫、創(chuàng)建、刪除、打開、關(guān)閉等操作;模擬磁盤管理過程,結(jié)合文件系統(tǒng)管理,顯示磁盤管理的結(jié)構(gòu)和文件在磁盤上的分布情況。能模擬進(jìn)程通信管理,用戶之間可以相互通信交流;最好能采用類似于Windows的窗口界面。設(shè)計(jì)的基本原理和概念本系統(tǒng)軟件是模擬操作系統(tǒng)的整個(gè)工作過程,主要功能包括多用戶登錄管理,文件及用戶管理,進(jìn)程及存儲管理,以及系統(tǒng)進(jìn)程管理。多用戶操作系統(tǒng)允許多個(gè)不同用戶同時(shí)使用計(jì)算機(jī)的資源。操作系統(tǒng)必須確保均衡地滿足各個(gè)用戶的要求,他們使用的各個(gè)程序都具有足夠且獨(dú)立的資源,從而使一個(gè)用戶的問題不會影響到整個(gè)用戶群。在本系統(tǒng)中,將用戶分為管理員用戶和普通用戶。登陸時(shí)可選擇,若選擇管理員用戶登陸,則對各用戶有管理權(quán)限(添加或刪除),對文件系統(tǒng)不僅有讀寫權(quán)限,還能新建、刪除、修改文件或目錄等;若選擇普通用戶登陸,則只能查看用戶,且只能讀文件。多用戶多級目錄的文件系統(tǒng):通過具體的文件存儲空間的管理、文件的物理結(jié)構(gòu)、目錄結(jié)構(gòu)和文件操作的實(shí)現(xiàn),加深對文件系統(tǒng)內(nèi)部功能和實(shí)現(xiàn)過程的理解。在本系統(tǒng)中,文件及用戶管理相結(jié)合,實(shí)現(xiàn)了以下幾項(xiàng)功能:查看文件目錄結(jié)構(gòu)、文件屬性、磁盤屬性、磁盤塊分配位示圖、索引節(jié)點(diǎn)分配位示圖、用戶管理(管理員有該權(quán)限),查看用戶、新建文件/目錄(管理員權(quán)限)、刪除文件/目錄(管理員權(quán)限),讀寫文件(普通用戶只讀)。進(jìn)程及存儲管理系統(tǒng):即模擬cpu調(diào)度和內(nèi)存分配。作業(yè)進(jìn)入內(nèi)存中,由CPU分配產(chǎn)生PCB屬性,并通過PCB記錄進(jìn)程狀態(tài),實(shí)驗(yàn)即以PCB代表進(jìn)程模擬調(diào)度過程;在多道系統(tǒng)中,多道系統(tǒng)中,當(dāng)就緒進(jìn)程數(shù)大于處理機(jī)數(shù)時(shí),須按照某種策略決定哪些進(jìn)程優(yōu)先占用處理機(jī),本實(shí)驗(yàn)采用優(yōu)先級;進(jìn)程調(diào)度時(shí),規(guī)定若就緒隊(duì)列進(jìn)程數(shù)少于6個(gè),則自動從后備隊(duì)列調(diào)入一個(gè)作業(yè);系統(tǒng)會將占有較多資源、預(yù)期結(jié)果不符合要求的進(jìn)程自動掛起,并回收所占資源,而本實(shí)驗(yàn)設(shè)置為手動掛起;在適宜條件下,系統(tǒng)會將掛起的進(jìn)程自動解掛,而且只解掛到就緒隊(duì)列;本實(shí)驗(yàn)為簡化操作,設(shè)置為手動解掛,若解掛條件合適(即CPU各種資源可用),則解掛到就緒隊(duì)列,并分配內(nèi)存;若解掛條件不適宜,則解掛至后備隊(duì)列,但不分配內(nèi)存。系統(tǒng)進(jìn)程管理器:即任務(wù)管理器。操作系統(tǒng)是一個(gè)介于軟件和硬件之間的特殊硬件,一方面分配硬件資源另一方面支持軟件在它上面的實(shí)現(xiàn),如何實(shí)時(shí)地監(jiān)控和掌握系統(tǒng)軟硬件工作的狀態(tài)、資源分配和使用的情況,對計(jì)算機(jī)用戶而言十分重要,于是就有了任務(wù)管理器這樣的實(shí)時(shí)監(jiān)控窗口。通過這個(gè)窗口我們可以了解到電腦所有進(jìn)程運(yùn)行狀況,并對運(yùn)行的進(jìn)程加于管理和控制,正如在本系統(tǒng)中,啟動進(jìn)程管理器后,可以通過”獲取進(jìn)程”功能來獲得本計(jì)算機(jī)啟動的進(jìn)程,以及及該進(jìn)程相關(guān)的信息,其中包括的信息有:進(jìn)程映像名稱,進(jìn)程的PID、會話名稱、會話次數(shù)以及內(nèi)存使用,我們可以通過這些信息來了解計(jì)算機(jī)中每個(gè)進(jìn)程的使用狀況。同時(shí)我們可以在進(jìn)程管理器上選中一個(gè)要終止的的進(jìn)程,右擊選擇關(guān)閉方式,如“根據(jù)名稱關(guān)閉進(jìn)程”或“根據(jù)PID關(guān)閉進(jìn)程”功能按鈕,該進(jìn)程被終止執(zhí)行并退出進(jìn)程列表,此按鈕實(shí)現(xiàn)的功能正如我們電腦任務(wù)管理器的“進(jìn)程”功能,當(dāng)電腦執(zhí)行程序不能通過關(guān)閉窗口進(jìn)行正常的關(guān)閉時(shí),可以借助此辦法來關(guān)閉進(jìn)程。其中還包括了關(guān)閉進(jìn)程樹和刷新進(jìn)程列表的功能。磁盤管理:磁盤格式化時(shí),系統(tǒng)把磁盤存儲空間分成許多磁道。每個(gè)磁道又分成若干個(gè)扇區(qū)(又叫做磁盤塊)。之后用fdisk命令對硬盤進(jìn)行分區(qū),即使只有一個(gè)分區(qū),也必須用fdisk命令進(jìn)行分區(qū)。分區(qū)的目的,就是制作文件卷,形成文件系統(tǒng)。一個(gè)文件卷一般都被劃分成引導(dǎo)扇區(qū)、文件系統(tǒng)管理區(qū)和文件數(shù)據(jù)區(qū)。其中,文件數(shù)據(jù)區(qū)用來存放系統(tǒng)文件和用戶文件。用戶可以通過文件系統(tǒng)提供的API,創(chuàng)建、打開、關(guān)閉和對文件進(jìn)行讀寫。當(dāng)用戶的文件不再需要時(shí),就應(yīng)該刪除。把一個(gè)文件放到磁盤上時(shí),可以組織成連續(xù)文件、鏈接文件或索引文件等。因此,磁盤空間的分配方法也有兩種,一種是連續(xù)空間的分配,一種是不連續(xù)空間的分配(又叫動態(tài)分配)。四、總體設(shè)計(jì)1.總體功能模塊及關(guān)系圖系統(tǒng)進(jìn)程管理文件及用戶管理多用戶多任務(wù)類操作系統(tǒng)系統(tǒng)進(jìn)程管理文件及用戶管理多用戶多任務(wù)類操作系統(tǒng)多用戶登陸界面磁盤管理磁盤管理進(jìn)程及存儲管理進(jìn)程及存儲管理2.總體功能流圖開始開始初始化登陸界面初始化登陸界面管理員用戶登陸?管理員用戶登陸?文件及用戶管理系統(tǒng)進(jìn)程管理進(jìn)程及存儲管理文件及用戶管理系統(tǒng)進(jìn)程管理進(jìn)程及存儲管理內(nèi)存分配算法進(jìn)程控制進(jìn)程調(diào)度算法任務(wù)管理器磁盤屬性及分配查看及管理用戶文件及目錄管理內(nèi)存分配算法進(jìn)程控制進(jìn)程調(diào)度算法任務(wù)管理器磁盤屬性及分配查看及管理用戶文件及目錄管理五、詳細(xì)設(shè)計(jì)(一)多用戶操作系統(tǒng)(1)數(shù)據(jù)結(jié)構(gòu)及主要函數(shù)publicclassLoginViewextendsJFrame{ JFramejframe=newJFrame("歡迎登陸系統(tǒng)"); privateFilesysServerfss1=null; intsw=(int)Toolkit.getDefaultToolkit().getScreenSize().getWidth();intsh=(int)Toolkit.getDefaultToolkit().getScreenSize().getHeight(); publicLoginView(FilesysServerfss){ this.fss1=fss; //初始化面板 JPanelloginPanel=newJPanel(); JLabeltitleJLable=newJLabel(); titleJLable.setText("歡迎登陸系統(tǒng)"); titleJLable.setSize(500,200); //用戶面板 JPaneluserPanel=newJPanel(); userPanel.setLayout(null); JButtonadminButton=newJButton(); adminButton.setText("管理員用戶登陸"); JButtonuserButton=newJButton(); userButton.setText("普通用戶登陸");(二)文件及用戶管理本系統(tǒng)分兩種用戶:管理員用戶和普通用戶,實(shí)現(xiàn)文件系統(tǒng)的模擬管理及查看過程。管理員用戶對文件系統(tǒng)可以進(jìn)行創(chuàng)建用戶、刪除用戶、創(chuàng)建文件、刪除文件、創(chuàng)建目錄、刪除目錄、讀文件、寫文件、打開文件、關(guān)閉文件、顯示目錄等操作;普通用戶只能讀文件和查看用戶。并且加入磁盤管理功能,在查看/創(chuàng)建/刪除文件等操作時(shí)時(shí),顯示文件屬性、磁盤屬性、磁盤分配情況。索引節(jié)點(diǎn)分配情況,動態(tài)實(shí)時(shí)的掌握內(nèi)存分配。(1)數(shù)據(jù)結(jié)構(gòu)及主要函數(shù)publicclassMyFile{ publicintfsize; publicStringfname; publicStringftime; publicStringfcont; publicintfownid; publicintfgrpid; publicintfmode;publicclassDir{ //文件名 36B //TOTAL 36B publicStringfname; //文件名 15B publicintfindex; //INODE號 3B publicStringpname; //父文件名 15B publicintpindex; //父INODE號 3BpublicclassDisk{ publicfinalstaticintDISKSIZE=100*512; //磁盤大小 publicfinalstaticintINUM=80; //inode數(shù)量 publicfinalstaticintBNUM=100; //塊數(shù)量 512B*100=51200B publicfinalstaticintBSIZE=512; //塊大小 publicfinalstaticintISIZE=64; //inode大小 64B*80=5120B publicfinalstaticintDSIZE=36; //dir大小 36B*14~~512B publicfinalstaticintBASEB=11; //不能使用的塊publicclassInode{//索引節(jié)點(diǎn)信息 64B //TOTALNOW 59B publicintfsize; //文件大小 6B publicintfblock; //文件塊數(shù) 6B publicintfaddr[]; //直接塊號 4*3B publicintfadd1; //一級塊號 3B publicintfownid; //所有者ID 6B publicintfgrpid; //所在組ID 6B publicintfmode; //文件類型權(quán)限 6B(d/-+二進(jìn)制) publicStringftime; //最近修改時(shí)間 14B(20XXXXXXXXXX) publicInode(){ faddr=newint[4];publicclassSuperBlock{ publicintbitindex[]; //空余塊位示圖 100B publicintbitblock[]; //空余節(jié)點(diǎn)位示圖 120B publicintfreindex; //剩余的節(jié)點(diǎn) 5B publicintfreblock; //剩余的塊 5B(2)流程圖文件瀏覽器文件瀏覽器管理員用戶?管理員用戶?NY磁盤管理查看文件及目錄查看及管理用戶磁盤管理查看文件及目錄查看及管理用戶索引節(jié)點(diǎn)分配磁盤塊分配磁盤屬性刪除用戶添加用戶查看用戶文件屬性讀/寫文件刪除目錄新建目錄刪除文件新建文件索引節(jié)點(diǎn)分配磁盤塊分配磁盤屬性刪除用戶添加用戶查看用戶文件屬性讀/寫文件刪除目錄新建目錄刪除文件新建文件查看文件及目錄查看及管理用戶磁盤管理查看文件及目錄查看及管理用戶磁盤管理索引節(jié)點(diǎn)使用情況磁盤塊使用情況磁盤屬性查看用戶讀文件文件屬性索引節(jié)點(diǎn)使用情況磁盤塊使用情況磁盤屬性查看用戶讀文件文件屬性(三)進(jìn)程及存儲管理3.1進(jìn)程控制:利用簡單的結(jié)構(gòu)和控制方法模擬進(jìn)程結(jié)構(gòu)、進(jìn)程狀態(tài)和進(jìn)程控制。用PCB表示整個(gè)進(jìn)程實(shí)體,利用隨機(jī)數(shù)方法或鍵盤控制方法模擬進(jìn)程執(zhí)行中產(chǎn)生的事件?;蛘呃檬髽?biāo)或者鍵盤中斷的基于圖形接口方式的進(jìn)程控制管理。數(shù)據(jù)結(jié)構(gòu):publicclassPCB{ privateintPID;//進(jìn)程id privateinttimeNeed;//運(yùn)行所需的時(shí)間 privateintpriority;//進(jìn)程的優(yōu)先級 privateintstate;//所處于的狀態(tài)5個(gè) privateintmemoryNeed;//所需內(nèi)存 privateintstartLocation;//開始的位置 privatePCBnext;//下一個(gè)進(jìn)程控制塊的句柄 privateColorcolor;//顏色 privateintpecent;//執(zhí)行的百分比 publicfinalstaticintstate_running=0; //狀態(tài)標(biāo)志位0表示運(yùn)行1表示就緒2表示掛起3表示后備4表示解掛 publicfinalstaticintstate_ready=1; //就緒 publicfinalstaticintstate_hang=2; //掛起 publicfinalstaticintstate_reserve=3; //后備 publicfinalstaticintstate_resume=3; //解掛 publicfinalstaticintstate_block=4; //阻塞 publicfinalstaticintstate_dead=5; //死亡 //默認(rèn)構(gòu)造 publicPCB(){(2)主要函數(shù):publicclassScheduling{}publicbooleanexecuteProcess(){}queue.sortQueue1(); //對就緒隊(duì)列按優(yōu)先級排序 publicvoidschedulingProcess(){}/*調(diào)度進(jìn)程進(jìn)入ReadyQueue*/ publicbooleanschedulingFromResume(){}/*從解掛隊(duì)列調(diào)度進(jìn)程進(jìn)入就緒隊(duì)列*/ publicbooleanschedulingFromReserve(){}/*從后備隊(duì)列調(diào)度進(jìn)程進(jìn)入就緒隊(duì)列*/ publicvoidresumeProcess(PCBpcb){}/*結(jié)束一條進(jìn)程*/ publicvoidaddProcess(inttimeNeed,intpriority,intmemoryNeed){}//添加進(jìn)程 publicbooleanblockProcess(){}/*阻塞進(jìn)程*/classresumeBlockextendsThread{}/*解除阻塞*/ publicbooleanhangProcess(){}/*掛起進(jìn)程*/ classresumeHangextendsThread{ PCBpcb; inttime; publicresumeHang(PCBpcb,inttime){ this.pcb=pcb; this.time=time; }}/*解掛*/ publicintproducePID(){}//隨機(jī)產(chǎn)生PID(3)算法設(shè)計(jì)創(chuàng)建進(jìn)程:輸入進(jìn)程的名稱,先判斷進(jìn)程名是否已存在,若已存在,則創(chuàng)建進(jìn)程失敗,需重新操作,創(chuàng)建進(jìn)程成功后,新進(jìn)程進(jìn)入就緒隊(duì)列。若執(zhí)行態(tài)為空,將進(jìn)程插入執(zhí)行態(tài)。阻塞進(jìn)程:若當(dāng)前有執(zhí)行進(jìn)程,則將其阻塞,并將進(jìn)程加入阻塞態(tài),若就緒隊(duì)列不為空,則就緒隊(duì)列第一個(gè)進(jìn)程插入執(zhí)行態(tài);若當(dāng)前無執(zhí)行進(jìn)程,則阻塞失敗。喚醒進(jìn)程:若當(dāng)前阻塞態(tài)不為空,則將阻塞隊(duì)列第一個(gè)進(jìn)程插入就緒態(tài);若當(dāng)前阻塞態(tài)為空,則喚醒失敗。時(shí)間片到:若當(dāng)前有執(zhí)行態(tài)進(jìn)程,則插入就緒隊(duì)?wèi)B(tài),并將就緒態(tài)第一個(gè)進(jìn)程進(jìn)入執(zhí)行態(tài);若當(dāng)前無執(zhí)行進(jìn)程,則無執(zhí)行進(jìn)程。結(jié)束進(jìn)程:若當(dāng)前有執(zhí)行進(jìn)程,則結(jié)束進(jìn)程,若當(dāng)前就緒態(tài)不為空,則就緒態(tài)第一個(gè)進(jìn)程進(jìn)入執(zhí)行態(tài);若當(dāng)前無執(zhí)行進(jìn)程,則結(jié)束進(jìn)程失敗。(4)流程圖:開始開始輸入執(zhí)行命令輸入執(zhí)行命令輸入t輸入C輸入b輸入t輸入C輸入bNNN輸入進(jìn)程名執(zhí)行態(tài)插入就緒態(tài)執(zhí)行態(tài)轉(zhuǎn)為阻塞態(tài)YYY輸入進(jìn)程名執(zhí)行態(tài)插入就緒態(tài)執(zhí)行態(tài)轉(zhuǎn)為阻塞態(tài)將進(jìn)程插入就緒態(tài)將進(jìn)程插入就緒態(tài)就緒態(tài)第一個(gè)結(jié)點(diǎn)插入執(zhí)行態(tài)就緒態(tài)第一個(gè)結(jié)點(diǎn)插入執(zhí)行態(tài)就緒態(tài)第一個(gè)結(jié)點(diǎn)插入執(zhí)行態(tài)就緒態(tài)第一個(gè)結(jié)點(diǎn)插入執(zhí)行態(tài)執(zhí)行態(tài)為空執(zhí)行態(tài)為空N顯示進(jìn)程信息顯示進(jìn)程信息將進(jìn)程插入執(zhí)行態(tài)顯示進(jìn)程信息Y將進(jìn)程插入執(zhí)行態(tài)顯示進(jìn)程信息顯示進(jìn)程信息顯示進(jìn)程信息輸入w輸入w執(zhí)行態(tài)為空YN執(zhí)行態(tài)為空阻塞態(tài)為空阻塞態(tài)為空NN結(jié)束進(jìn)程阻塞態(tài)插入就緒態(tài)YY結(jié)束進(jìn)程阻塞態(tài)插入就緒態(tài)就緒態(tài)第一個(gè)結(jié)點(diǎn)插入執(zhí)行態(tài)就緒態(tài)第一個(gè)結(jié)點(diǎn)插入執(zhí)行態(tài)顯示進(jìn)程信息顯示進(jìn)程信息結(jié)束顯示進(jìn)程信息結(jié)束顯示進(jìn)程信息3.2進(jìn)程調(diào)度:實(shí)現(xiàn)先來先服務(wù)FCFS、短作業(yè)優(yōu)先SJF以及動態(tài)優(yōu)先級調(diào)度算法。我們可以根據(jù)創(chuàng)建進(jìn)程的系統(tǒng)時(shí)鐘,取相對時(shí)鐘作為進(jìn)程的到達(dá)時(shí)間,利用隨機(jī)數(shù)產(chǎn)生每個(gè)進(jìn)程的估計(jì)運(yùn)行時(shí)間。利用模擬系統(tǒng)中提供的算法分別計(jì)算其相應(yīng)的周轉(zhuǎn)時(shí)間和帶權(quán)周轉(zhuǎn)時(shí)間。(1)數(shù)據(jù)結(jié)構(gòu)及主要函數(shù)publicclassNewPCBDialogextendsJDialogimplementsActionListener{ privateJLabeltips_priority; privateJLabeltips_timeNeed; privateJLabeltips_memoryNeed; privateJTextFieldtext_priority; privateJTextFieldtext_timeNeed; privateJTextFieldtext_memoryNeed; privateJButtoncreate; privateMainFrameparentFrame;publicNewPCBDialog(MainFrameframe){} publicvoidinit(){} publicvoidactionPerformed(ActionEvente){}(2)算法設(shè)計(jì):1、利用絕對時(shí)間和相對時(shí)鐘產(chǎn)生一組進(jìn)程的到達(dá)時(shí)刻和運(yùn)行時(shí)間。2、實(shí)現(xiàn)FCFS算法:根據(jù)進(jìn)程的到達(dá)時(shí)間的先后次序來完成對若干進(jìn)程的調(diào)度。3、實(shí)現(xiàn)SJF算法:根據(jù)當(dāng)前時(shí)間已經(jīng)到達(dá)進(jìn)程的需要運(yùn)行時(shí)間選取其中時(shí)間最小的進(jìn)程最先運(yùn)行。4、實(shí)現(xiàn)DPS算法:各進(jìn)程的優(yōu)先權(quán)隨運(yùn)行時(shí)間而改變,進(jìn)程在就緒隊(duì)列中等待一個(gè)時(shí)間片,優(yōu)先權(quán)值加1;進(jìn)程每運(yùn)行一個(gè)時(shí)間片,優(yōu)先權(quán)值減3。然后調(diào)用priority()函數(shù)按照個(gè)進(jìn)程的優(yōu)先級別的高低來決定進(jìn)程在每個(gè)時(shí)間片的狀態(tài),并通過輸出函數(shù)顯示。5、計(jì)算每種算法調(diào)度后,系統(tǒng)的平均周轉(zhuǎn)時(shí)間和平均帶權(quán)周轉(zhuǎn)時(shí)間。(3)流程圖:進(jìn)程調(diào)度過程FCFS算法開始FCFS算法開始創(chuàng)建數(shù)組,并初始化將數(shù)組中的進(jìn)程按到達(dá)時(shí)間的順序排序獲取某進(jìn)程執(zhí)行過程中到達(dá)的所有進(jìn)程對獲取的所有進(jìn)程按照短作業(yè)優(yōu)先進(jìn)行排序得到進(jìn)程的執(zhí)行序列依次執(zhí)行各個(gè)進(jìn)程所有進(jìn)程執(zhí)行完成結(jié)束SJF算法SJF算法DPS算法(四)系統(tǒng)進(jìn)程管理:任務(wù)管理器(1)數(shù)據(jù)結(jié)構(gòu)及主要函數(shù)publicTaskList(){ super("任務(wù)管理器"); this.addItem(); this.pack(); this.setVisible(true); this.setLocation(150,100);(2)任務(wù)管理器功能模塊六、完成的情況在課設(shè)期間,采用java編程語言,模擬開發(fā)一個(gè)多用戶多任務(wù)的類操作系統(tǒng)軟件,所實(shí)現(xiàn)的功能有:(1)模擬進(jìn)程調(diào)度算法,模擬各種進(jìn)程調(diào)度算法,并能管理各種進(jìn)程調(diào)度算法的演示過程。(2)模擬各種內(nèi)存分配算法及回收過程,并能動態(tài)演示。結(jié)合進(jìn)程調(diào)度算法,能為進(jìn)程模擬分配內(nèi)存,并設(shè)計(jì)一個(gè)跟蹤該內(nèi)存模擬分配的進(jìn)程或線程,記錄內(nèi)存分配的結(jié)果;(3)模擬多用戶登錄管理過程,能允許多個(gè)用戶登錄,為每個(gè)用戶建立進(jìn)程或線程,并進(jìn)行進(jìn)程管理;(4)能模擬文件系統(tǒng)管理,進(jìn)程可以對文件系統(tǒng)(包括文件和

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論