亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java 動態(tài)模擬操作系統(tǒng)進(jìn)程調(diào)度算法

 更新時間:2021年12月01日 10:54:36   作者:肥學(xué)  
這篇文章主要介紹了采用java語言編程模擬N個進(jìn)程采用動態(tài)高優(yōu)先權(quán)優(yōu)先進(jìn)程調(diào)度算法。文中代碼具有一定的學(xué)習(xí)價值,感興趣的小伙伴可以了解一下

實(shí)驗(yàn)?zāi)康?/h2>

通過對進(jìn)程調(diào)度算法的模擬,進(jìn)一步理解進(jìn)程的基本概念,加深對進(jìn)程運(yùn)行狀態(tài)和進(jìn)程調(diào)度過程、調(diào)度算法的理解。

設(shè)備與環(huán)境

硬件設(shè)備:PC機(jī)一臺

軟件環(huán)境:安裝Windows操作系統(tǒng),并安裝相關(guān)的程序開發(fā)環(huán)境,如C \C++\Java 等編程語言環(huán)境。

實(shí)驗(yàn)內(nèi)容

實(shí)驗(yàn)采用了java語言編程模擬N個進(jìn)程采用動態(tài)高優(yōu)先權(quán)優(yōu)先進(jìn)程調(diào)度算法。該算法就是按照優(yōu)先權(quán)的大小運(yùn)行進(jìn)程,如果一個時間片內(nèi)未運(yùn)行完,則將優(yōu)先權(quán)數(shù)減3后再插入到鏈表中按priority的順序進(jìn)行排序找到最大的priority作為下一個運(yùn)行進(jìn)程且在就緒隊(duì)列里面的進(jìn)程priority會加1。

主模塊:

動態(tài)priority排序模塊:

用來保證頭部永遠(yuǎn)最大

到達(dá)時間進(jìn)入就緒狀態(tài)模塊:

計算周轉(zhuǎn)時間和帶權(quán)周轉(zhuǎn)時間:

實(shí)驗(yàn)結(jié)果及分析

輸入的信息

初始權(quán)值都為100,needtime為還需要的時間

進(jìn)程 到達(dá)時刻 服務(wù)時間

A 0 3

B 2 6

C 4 4

D 6 5

E 8 2

以A為例:

最后結(jié)束時:

部分代碼展示?

//創(chuàng)建結(jié)構(gòu)
class PCB{
    String ID;
    int priority=-1;
    int cputime;//服務(wù)的時間
    int needtime;//進(jìn)程還需的時間
    String state="wait";
    int arrivetime;
    PCB next;
    public PCB(String ID,int priority,int cputime,int arrivetime){
        this.ID=ID;
        this.priority=priority;
        this.cputime=cputime;
        this.arrivetime=arrivetime;
    }
}
 
判斷是否到達(dá),進(jìn)程進(jìn)入時間
for(int i=0;i<arr.size();i++){
                if(h==arr.get(i).arrivetime){
                    Dynamic_priority.sort(arr.get(i));
                    arr.remove(i);}}
//將進(jìn)程轉(zhuǎn)為就緒態(tài)并排序
public static void sort(PCB pcb){
PCB tmp=null;
        if(ready==null){//當(dāng)頭結(jié)點(diǎn)為空
            ready=pcb;
            tail=pcb;}
       else {if(pcb.priority>ready.priority){//如果這個結(jié)點(diǎn)priority大于頭priority
               pcb.next=ready;
               ready=pcb;}
           else {
               boolean m=false;
               tmp=ready;//q
               while (m==false){
                   if(tail.priority>=pcb.priority){//插入尾端
                       tail.next=pcb;
                       tail=pcb;
                       pcb.next=null;
                       m=true; }
                   else {
                       if(tmp.priority>=pcb.priority&&pcb.priority>tail.priority){//逐漸遍歷插到tmp前
                           pcb.next=tmp.next;
                           tmp.next=pcb;
                           m=true;
                       } else { tmp=tmp.next;

到此這篇關(guān)于Java 動態(tài)模擬操作系統(tǒng)進(jìn)程調(diào)度算法的文章就介紹到這了,更多相關(guān)Java? 操作系統(tǒng)進(jìn)程調(diào)度算法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot底層注解詳解

    SpringBoot底層注解詳解

    這篇文章主要介紹了SpringBoot底層注解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2023-05-05
  • Java Mybatis一級緩存和二級緩存

    Java Mybatis一級緩存和二級緩存

    緩存是內(nèi)存當(dāng)中一塊存儲數(shù)據(jù)的區(qū)域,目的是提高查詢效率,降低服務(wù)器和數(shù)據(jù)庫的壓力,這篇文章主要介紹了Mybatis一級緩存和二級緩存,感興趣的同學(xué)可以參考閱讀本文
    2023-04-04
  • mybatis Example Criteria like 模糊查詢問題

    mybatis Example Criteria like 模糊查詢問題

    這篇文章主要介紹了mybatis Example Criteria like 模糊查詢問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • 使用maven war包打包去除jar包瘦身

    使用maven war包打包去除jar包瘦身

    這篇文章主要介紹了使用maven war包打包去除jar包瘦身操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • 淺談一下SpringBoot中的異步任務(wù)

    淺談一下SpringBoot中的異步任務(wù)

    這篇文章主要介紹了淺談一下SpringBoot中的異步任務(wù),SpringBoot 中的異步任務(wù)主要是指在 SpringBoot 中使用異步線程完成處理任務(wù),在 SpringBoot 中使用異步線程非常簡單,只需要兩個注解就可以搞定,需要的朋友可以參考下
    2023-10-10
  • Java字符編碼簡介_動力節(jié)點(diǎn)Java學(xué)院整理

    Java字符編碼簡介_動力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要介紹了Java字符編碼簡介,本文主要包括以下幾個方面:編碼基本知識,Java,系統(tǒng)軟件,url,工具軟件等,感興趣的朋友一起看看吧
    2017-08-08
  • 淺談JVM核心之JVM運(yùn)行和類加載

    淺談JVM核心之JVM運(yùn)行和類加載

    本篇文章主要介紹了JVM核心之JVM運(yùn)行和類加載,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • java springmvc亂碼解決歸納整理詳解

    java springmvc亂碼解決歸納整理詳解

    本篇文章介紹了java 中spring mvc 解決亂碼的問題方法實(shí)例,需要的朋友可以參考下
    2017-04-04
  • Java中的接口知識匯總

    Java中的接口知識匯總

    本文給大家匯總介紹了在java中的接口知識,包括為什么要使用接口、什么是接口、抽象類和接口的區(qū)別、如何定義接口以及定義接口注意點(diǎn),希望大家能夠喜歡
    2016-04-04
  • window版 IntelliJ IDEA 快捷鍵圖文教程

    window版 IntelliJ IDEA 快捷鍵圖文教程

    本文通過圖文并茂的形式給大家介紹了window版 IntelliJ IDEA 快捷鍵的操作方法,需要的朋友參考下吧
    2018-02-02

最新評論