最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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

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

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

軟件環(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個(gè)進(jìn)程采用動(dòng)態(tài)高優(yōu)先權(quán)優(yōu)先進(jìn)程調(diào)度算法。該算法就是按照優(yōu)先權(quán)的大小運(yùn)行進(jìn)程,如果一個(gè)時(shí)間片內(nèi)未運(yùn)行完,則將優(yōu)先權(quán)數(shù)減3后再插入到鏈表中按priority的順序進(jìn)行排序找到最大的priority作為下一個(gè)運(yùn)行進(jìn)程且在就緒隊(duì)列里面的進(jìn)程priority會(huì)加1。

主模塊:

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

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

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

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

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

輸入的信息

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

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

A 0 3

B 2 6

C 4 4

D 6 5

E 8 2

以A為例:

最后結(jié)束時(shí):

部分代碼展示?

//創(chuàng)建結(jié)構(gòu)
class PCB{
    String ID;
    int priority=-1;
    int cputime;//服務(wù)的時(shí)間
    int needtime;//進(jìn)程還需的時(shí)間
    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)入時(shí)間
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){//如果這個(gè)結(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 動(dòng)態(tài)模擬操作系統(tǒng)進(jìn)程調(diào)度算法的文章就介紹到這了,更多相關(guān)Java? 操作系統(tǒng)進(jìn)程調(diào)度算法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot?自定義注解實(shí)現(xiàn)涉密字段脫敏

    SpringBoot?自定義注解實(shí)現(xiàn)涉密字段脫敏

    關(guān)于數(shù)據(jù)脫敏,網(wǎng)上的文章都是硬編碼規(guī)則,比如對(duì)身份證,手機(jī)號(hào),郵件地址等固定寫法脫敏。本文在此基礎(chǔ)上,拓展動(dòng)態(tài)從數(shù)據(jù)庫查出涉密關(guān)鍵字執(zhí)行脫敏操作。感興趣的同學(xué)可以參考閱讀
    2023-03-03
  • java并發(fā)請(qǐng)求下數(shù)據(jù)插入重復(fù)問題的解決方法

    java并發(fā)請(qǐng)求下數(shù)據(jù)插入重復(fù)問題的解決方法

    現(xiàn)在遇到一個(gè)項(xiàng)目,移動(dòng)設(shè)備存儲(chǔ)數(shù)據(jù),然后一起上傳,那就出現(xiàn)了許多重復(fù)數(shù)據(jù),這篇文章主要給大家介紹了關(guān)于java并發(fā)請(qǐng)求下數(shù)據(jù)插入重復(fù)問題的解決方法,需要的朋友可以參考下
    2021-11-11
  • Java實(shí)現(xiàn)2048小游戲(可直接運(yùn)行)

    Java實(shí)現(xiàn)2048小游戲(可直接運(yùn)行)

    這篇文章主要給大家介紹了關(guān)于Java實(shí)現(xiàn)2048小游戲的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • 關(guān)于spring中單例Bean引用原型Bean產(chǎn)生的問題及解決

    關(guān)于spring中單例Bean引用原型Bean產(chǎn)生的問題及解決

    這篇文章主要介紹了關(guān)于spring中單例Bean引用原型Bean產(chǎn)生的問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • SpringMVC Interceptor攔截器使用教程

    SpringMVC Interceptor攔截器使用教程

    SpringMVC中攔截器(Interceptor)用于對(duì)URL請(qǐng)求進(jìn)行前置/后置過濾,Interceptor與Filter用途相似,但實(shí)現(xiàn)方式不同。Interceptor底層就是基于Spring AOP 面向切面編程實(shí)現(xiàn)
    2023-01-01
  • java無限遞歸遍歷json對(duì)象問題

    java無限遞歸遍歷json對(duì)象問題

    這篇文章主要介紹了java無限遞歸遍歷json對(duì)象問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Java Integer.valueOf()和Integer.parseInt()的區(qū)別說明

    Java Integer.valueOf()和Integer.parseInt()的區(qū)別說明

    這篇文章主要介紹了Java Integer.valueOf()和Integer.parseInt()的區(qū)別說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • spring security自定義決策管理器

    spring security自定義決策管理器

    這篇文章主要介紹了spring security自定義決策管理器的實(shí)現(xiàn)代碼,需要的朋友參考下吧
    2017-09-09
  • SpringMVC使用RESTful接口案例

    SpringMVC使用RESTful接口案例

    RESTful是一種web軟件風(fēng)格,它不是標(biāo)準(zhǔn)也不是協(xié)議,它不一定要采用,只是一種風(fēng)格,它倡導(dǎo)的是一個(gè)資源定位(url)及資源操作的風(fēng)格,這篇文章主要介紹了SpringBoot使用RESTful接口
    2022-12-12
  • java日期時(shí)間格式化@JsonFormat與@DateTimeFormat的使用

    java日期時(shí)間格式化@JsonFormat與@DateTimeFormat的使用

    本文主要介紹了java日期時(shí)間格式化@JsonFormat與@DateTimeFormat的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08

最新評(píng)論

策勒县| 屯昌县| 轮台县| 会东县| 永兴县| 宜城市| 米易县| 灌阳县| 繁峙县| 钦州市| 德州市| 临泉县| 东丰县| 松江区| 曲阳县| 扎赉特旗| 平安县| 嘉黎县| 焉耆| 甘肃省| 安陆市| 泾川县| 莲花县| 新和县| 四川省| 商南县| 喜德县| 呈贡县| 全椒县| 平塘县| 通化县| 温泉县| 西和县| 乌兰察布市| 无为县| 光泽县| 大冶市| 册亨县| 苗栗县| 南汇区| 长宁县|