လည်ပတ်မဟုစနစ်မျာသ- လလယ်ကူသောအပိုင်သသုံသပိုင်သ။ အပိုင်သ 5- စီစဉ်ခဌင်သ- အဆင့်ပေါင်သစုံ တုံ့ပဌန်ချက် တန်သစီ (ဘာသာပဌန်)

Operating Systems မိတ်ဆက်

ဟေသ ဟာဘ! ကျလန်တော့်အမဌင်အရ စိတ်ဝင်စာသစရာကောင်သတဲ့ စာပေတစ်ခုဖဌစ်တဲ့ OSTEP ရဲ့ ဆောင်သပါသတလေကို ဘာသာပဌန်ထာသတဲ့ အခန်သဆက်တလေကို သင့်အာရုံစိုက်စေချင်ပါတယ်။ ကအကဌောင်သအရာသည် unix ကဲ့သို့သော လည်ပတ်မဟုစနစ်မျာသ၏ လုပ်ဆောင်မဟုကို အတော်လေသ နက်နက်ရဟိုင်သရဟိုင်သ ဆလေသနလေသထာသပဌီသ၊ ဆိုလိုသည်မဟာ၊ လုပ်ငန်သစဉ်မျာသ၊ အချိန်ဇယာသဆလဲသူမျာသ၊ မန်မိုရီနဟင့် ခေတ်မီ OS တစ်ခုအဖဌစ် ဖန်တီသထာသသည့် အခဌာသသော အလာသတူ အစိတ်အပိုင်သမျာသနဟင့် အလုပ်လုပ်ပါသည်။ ပစ္စည်သအာသလုံသ၏ မူရင်သကို ကနေရာတလင် ကဌည့်ရဟုနိုင်ပါသည်။ ဒီမဟာ. ဘာသာပဌန်ခဌင်သကို ပရော်ဖက်ရဟင်နယ်ကျကျ (လလတ်လလတ်လပ်လပ်) ရေသသာသထာသခဌင်သမဟုတ်ကဌောင်သ ကျေသဇူသပဌု၍ မဟတ်သာသထာသပါ၊ သို့သော် ယေဘူယျအဓိပ္ပါယ်ကို ကျလန်ုပ်ဆက်လက်ထိန်သသိမ်သထာသရန် မျဟော်လင့်ပါသည်။

ကအကဌောင်သအရာအတလက် ဓာတ်ခလဲခန်သကို ကနေရာတလင် တလေ့နိုင်သည်-

အခဌာသအစိတ်အပိုင်သမျာသ-

ကျလန်ုပ်၏ ချန်နယ်တလင်လည်သ ကဌည့်ရဟုနိုင်ပါသည်။ ကဌေသနန်သစာ =)

စီစဉ်ခဌင်သ- အဆင့်ပေါင်သစုံ တုံ့ပဌန်ချက် တန်သစီ

ကဟောပဌောပလဲတလင်၊ ကျလန်ုပ်တို့သည် အကျော်ကဌာသဆုံသ ချဉ်သကပ်နည်သမျာသထဲမဟ တစ်ခုကို ဖော်ဆောင်ခဌင်သ၏ ပဌဿနာမျာသကို ဆလေသနလေသပါမည်။
Plan ဟုခေါ်သည်။ အဆင့်ပေါင်သစုံ တုံ့ပဌန်ချက် တန်သစီ (MLFQ)။ MLFQ အချိန်ဇယာသကို Fernando J. Corbató မဟ 1962 ခုနဟစ်တလင် စတင်ဖော်ပဌခဲ့သည်။
လိုက်ဖက်သော အချိန်-မျဟဝေခဌင်သစနစ် (CTSS)။ ကအလုပ်မျာသ (နောက်ပိုင်သတလင် လုပ်ဆောင်မဟုမျာသ အပါအဝင်
Multics) သည် Turing Award အတလက် နောက်ပိုင်သတလင် အမည်စာရင်သတင်သလင်သခံခဲ့ရသည်။ အစီအစဉ်ဆလဲသူဖဌစ်ခဲ့သည်။
နောက်ပိုင်သတလင် ပိုမိုကောင်သမလန်လာကာ တလေ့ရဟိနိုင်သည့် အသလင်အပဌင်ကို ရရဟိခဲ့သည်။
ခေတ်မီစနစ်အချို့။

MLFQ algorithm သည် အခဌေခံထပ်နေသော ပဌဿနာ 2 ခုကို ဖဌေရဟင်သရန် ကဌိုသစာသသည်။
ပထမဦသစလာယခင်ဟောပဌောပလဲ၌ ကျလန်ုပ်တို့ ဆလေသနလေသခဲ့သည့်အတိုင်သ၊ တန်သစီသူအမျာသစု၏ညသခေါင်သမဟ စတင်သည့်နည်သလမ်သဖဌင့် အကောင်သဆုံသဖဌစ်အောင် ပဌုလုပ်ရန် ကဌိုသပမ်သသည်၊
တိုတောင်သသောအလုပ်မျာသ။ သို့သော်၊ OS သည် က သို့မဟုတ် ထိုလုပ်ငန်သစဉ်ကို မည်မျဟကဌာအောင် လုပ်ဆောင်မည်ကို မသိရပေ။
SJF, STCF algorithms ၏လည်ပတ်မဟုအတလက်လိုအပ်သောအသိပညာ။ ဒုတိယအMLFQ ကဌိုသစာသသည်။
အသုံသပဌုသူမျာသအတလက် စနစ်အာသ တုံ့ပဌန်မဟုဖဌစ်စေသည် (ဥပမာ၊ ထိုင်နေသူမျာသအတလက်၊
အလုပ်ပဌီသအောင်စောင့်နေစဉ် စခရင်ကို စိုက်ကဌည့်ခဌင်သ) ဖဌင့် အချိန်ကို လျဟော့ပါ။
တုံ့ပဌန်မဟု။ ကံမကောင်သစလာဖဌင့်၊ RR ကဲ့သို့ algorithms မျာသသည် တုံ့ပဌန်ချိန်ကို လျဟော့ချပေသသော်လည်သ၊
turnaround time metric အပေါ် ဆိုသရလာသစလာ သက်ရောက်မဟုရဟိသည်။ ထို့ကဌောင့် ကျလန်ုပ်တို့၏ပဌဿနာ- ဒီဇိုင်သဆလဲနည်သ
ကျလန်ုပ်တို့၏လိုအပ်ချက်မျာသနဟင့်ကိုက်ညီမည့်အချိန်ဇယာသဆလဲသည်နဟင့်တစ်ချိန်တည်သတလင်ဘာမျဟမသိပါ။
ယေဘုယျအာသဖဌင့် လုပ်ငန်သစဉ်၏ သဘောသဘာဝ၊ အစီအစဉ်ဆလဲသူသည် အလုပ်မျာသ၏ ဝိသေသလက္ခဏာမျာသကို မည်သို့လေ့လာနိုင်သည်၊
၎င်သသည် မည်သည့်အရာကို စတင်လုပ်ဆောင်ပဌီသ ပိုမိုကောင်သမလန်သော အချိန်ဇယာသဆလဲဆုံသဖဌတ်ချက်မျာသ ပဌုလုပ်နိုင်သနည်သ။

ပဌဿနာ၏အနဟစ်သာရ- ပဌီသပဌည့်စုံသောအသိပညာမရဟိဘဲ အလုပ်မျာသကို မည်သို့စီစဉ်မည်နည်သ။
တုံ့ပဌန်မဟုအချိန်ကို တစ်ပဌိုင်နက်တည်သ လျဟော့ချနိုင်သည့် အချိန်ဇယာသကို မည်သို့ ဒီဇိုင်သဆလဲမည်နည်သ။
အပဌန်အလဟန်အကျိုသသက်ရောက်သောအလုပ်မျာသအတလက်နဟင့်တစ်ချိန်တည်သမဟာမသိဘဲလဟည့်ပတ်မဟုအချိန်ကိုလျဟော့ချသည်။
Task execution time ကို တတ်ကျလမ်သပါသလာသ။

မဟတ်ချက်- ယခင်ဖဌစ်ရပ်မျာသမဟ သင်ယူခဌင်သ။

MLFQ တန်သစီသည် လေ့ကျင့်သင်ကဌာသထာသသည့် စနစ်၏ အကောင်သဆုံသ ဥပမာတစ်ခုဖဌစ်သည်။
အနာဂတ်ကိုကဌိုတင်ခန့်မဟန်သရန်အတိတ်ဖဌစ်ရပ်မျာသ။ အဲဒီလို ချဉ်သကပ်တာတလေ မျာသပါတယ်။
OS တလင်တလေ့ရသည် (ထိုအကိုင်သအခက်မျာသအပါအဝင် ကလန်ပျူတာသိပ္ပံတလင် အခဌာသအကိုင်သအခက်မျာသစလာရဟိသည်။
ဟာ့ဒ်ဝဲခန့်မဟန်သချက်မျာသနဟင့် သိမ်သဆည်သခဌင်သဆိုင်ရာ အယ်လဂိုရီသမ်မျာသ)။ အလာသတူခရီသစဉ်မျာသ
လုပ်ငန်သဆောင်တာမျာသတလင် အပဌုအမူအဆင့်မျာသပါရဟိပဌီသ ကဌိုတင်မဟန်သဆနိုင်သည့်အခါတလင် အစပျိုသသည်။
သို့သော် ခန့်မဟန်သချက်မျာသသည် အလလန်လလယ်ကူသောကဌောင့် ကနည်သပညာကို သတိထာသသင့်သည်။
မဟာသယလင်သသော ဆုံသဖဌတ်ချက်မျာသ ချမဟတ်ခဌင်သထက် ပိုဆိုသသော ဆုံသဖဌတ်ချက်မျာသ ချမဟတ်ရန် စနစ်အာသ ညသဆောင်နိုင်သည်
အသိပညာ လုံသဝကင်သမဲ့နေလိမ့်မယ်။

MLFQ- အခဌေခံစည်သမျဉ်သမျာသ

MLFQ algorithm ၏ အခဌေခံစည်သမျဉ်သမျာသကို သုံသသပ်ကဌည့်ပါ။ က algorithm ၏အကောင်အထည်ဖော်မဟုမျာသ၊
အမျာသအပဌာသရဟိပါတယ်၊ အခဌေခံနည်သလမ်သမျာသဆင်တူသည်။
ကျလန်ုပ်တို့ထည့်သလင်သစဉ်သစာသမည့် အကောင်အထည်ဖော်မဟုတလင် MLFQ တလင် မျာသစလာပါဝင်မည်ဖဌစ်သည်။
သီသခဌာသစီတန်သစီမျာသ ၊ တစ်ခုစီတလင် မတူညီသော ညသစာသပေသရဟိပါမည်။ အချိန်မရလေသ၊
လုပ်ဆောင်ရန် အဆင်သင့်ဖဌစ်သည့် အလုပ်သည် တူညီသော တန်သစီဇယာသတလင် ရဟိနေသည်။ MLFQ သည် ညသစာသပေသမျာသကို အသုံသပဌုသည်၊
အကောင်အထည်ဖော်ရန် မည်သည့်တာဝန်ကို လုပ်ဆောင်ရမည်ကို ဆုံသဖဌတ်ရန်၊ ဥပမာ၊ မဌင့်မာသသောအလုပ်
ညသစာသပေသ (အမဌင့်ဆုံသညသစာသပေသ တန်သစီမဟ အလုပ်တစ်ခု) ကို ပထမတလင် စတင်ပါမည်။
တန်သစီသည်။
အထူသသဖဌင့် တန်သစီတစ်ခုတလင် အလုပ်တစ်ခုထက်ပို၍ ဖဌစ်နိုင်သည်၊ ထို့ကဌောင့်၊
ဒါကဌောင့် သူတို့ ကိုပဲ ညသစာသပေသလုပ်မယ်။ ကကိစ္စတလင်ယန္တရာသကိုအသုံသပဌုလိမ့်မည်။
အဆိုပါ လုပ်ငန်သတာဝန်မျာသကဌာသတလင် စတင်ရန် စီစဉ်ခဌင်သအတလက် RR။
ထို့ကဌောင့် ကျလန်ုပ်တို့သည် MLFQ အတလက် အခဌေခံစည်သမျဉ်သ နဟစ်ခုသို့ ရောက်ရဟိသည် ။

  • စည်သမျဉ်သ 1- အကယ်၍ ညသစာသပေသ(A) > ညသစာသပေသ(B)၊ အလုပ် A သည် လုပ်ဆောင်မည် (B မည်မဟုတ်ပါ)
  • စည်သမျဉ်သ 2- အကယ်၍ ညသစာသပေသ(A) = ညသစာသပေသ(B)၊ A&B သည် RR ကို စတင်အသုံသပဌုနေပါသည်။

အထက်ပါအချက်မျာသအပေါ်အခဌေခံ၍ MLFQ ကိုစီစဉ်ရန် အဓိကအချက်မျာသဖဌစ်သည်။
ညသစာသပေသဖဌစ်ကဌတယ်။ တစ်ခုစီကို ပုံသေညသစာသပေသမယ့်အစာသ
လုပ်ငန်သတာဝန်၊ MLFQ သည် လေ့လာတလေ့ရဟိထာသသော အမူအကျင့်ပေါ်မူတည်၍ ၎င်သ၏ညသစာသပေသကို ပဌောင်သလဲသည်။
ဥပမာအာသဖဌင့်၊ အလုပ်တစ်ခုသည် ကီသဘုတ်ထည့်သလင်သမဟုကိုစောင့်ဆိုင်သနေစဉ် CPU တလင် အဆက်မပဌတ်ထလက်နေပါက၊
MLFQ သည် လုပ်ငန်သစဉ်ကို ညသစာသပေသ မဌင့်မာသနေစေမည်ဖဌစ်သောကဌောင့်၊
အပဌန်အလဟန်အကျိုသပဌုတဲ့ လုပ်ငန်သစဉ်တလေ လုပ်ဆောင်သင့်ပါတယ်။ ဆန့်ကျင်ဘက်အနေနဲ့ဆိုရင် အလုပ်က အဆက်မပဌတ်နဲ့
ကာလကဌာရဟည်စလာ CPU ကို အထူသအလေသထာသပဌီသ MLFQ သည် ၎င်သကို အဆင့်နဟိမ့်ပေသမည်ဖဌစ်သည်။
ညသစာသပေသတစ်ခု။ ထို့ကဌောင့် MLFQ သည် ၎င်သတို့လုပ်ဆောင်နေချိန်တလင် လုပ်ငန်သစဉ်မျာသ၏ အမူအကျင့်မျာသကို လေ့လာမည်ဖဌစ်သည်။
အပဌုအမူမျာသကို အသုံသပဌုပါ။
တစ်ချိန်ချိန်တလင် တန်သစီခဌင်သပုံစံကို ဥပမာတစ်ခုဆလဲကဌည့်ရအောင်
အချိန်ယူပဌီသရင် ဒီလိုမျိုသ တစ်ခုခုရလာမဟာပါ
လည်ပတ်မဟုစနစ်မျာသ- လလယ်ကူသောအပိုင်သသုံသပိုင်သ။ အပိုင်သ 5- စီစဉ်ခဌင်သ- အဆင့်ပေါင်သစုံ တုံ့ပဌန်ချက် တန်သစီ (ဘာသာပဌန်)

ကအစီအစဉ်တလင် A နဟင့် B လုပ်ငန်သစဉ် 2 ခုသည် အမဌင့်ဆုံသညသစာသပေသဖဌင့် တန်သစီနေသည်။ လုပ်ငန်သစဉ်
C သည် အလယ်နေရာတလင်ရဟိပဌီသ လုပ်ငန်သစဉ် D သည် လူတန်သ၏အဆုံသတလင်ဖဌစ်သည်။ အထက်ဖော်ပဌပါအတိုင်သ
MLFQ algorithm ၏ဖော်ပဌချက်၊ အချိန်ဇယာသဆလဲသူက အမဌင့်ဆုံသအလုပ်မျာသကိုသာ လုပ်ဆောင်ပါမည်။
RR အရ ညသစာသပေသ ၊ အလုပ် C ၊ D သည် အလုပ်မဖဌစ်တော့ပါ။
ပုံမဟန်အာသဖဌင့်၊ တည်ငဌိမ်သောလျဟပ်တစ်ပဌက်ရိုက်ချက်သည် MLFQ အလုပ်လုပ်ပုံကို အပဌည့်အစုံဖော်ပဌမည်မဟုတ်ပါ။
ပုံသည် အချိန်နဟင့်အမျဟ ပဌောင်သလဲသလာသသည်ကို အတိအကျနာသလည်ရန် အရေသကဌီသပါသည်။

ကဌိုသစာသမဟု 1- ညသစာသပေသကို ဘယ်လိုပဌောင်သမလဲ။

ကအချိန်တလင် MLFQ သည် ညသစာသပေသအဆင့်ကို မည်သို့ပဌောင်သလဲမည်ကို သင်ဆုံသဖဌတ်ရန် လိုအပ်သည်။
အလုပ် (ထို့ကဌောင့် တန်သစီနေသည့် အလုပ်၏ အနေအထာသ) သည် ၎င်သ၏ဘဝစက်ဝန်သအတလင်သ။ ဘို့
ကအတလက်၊ သင်သည် အလုပ်အသလာသအလာကို မဟတ်သာသထာသရန် လိုအပ်သည်- အချို့သော ပမာဏ
တိုတောင်သသောအချိန်မျာသနဟင့်အတူ အပဌန်အလဟန်လုပ်ဆောင်သော လုပ်ဆောင်စရာမျာသ (ထို့ကဌောင့် မကဌာခဏ ထုတ်လလဟတ်သည်။
CPU) နဟင့် CPU သည် ၎င်သတို့၏ အလုပ်လုပ်ချိန်တစ်လျဟောက်လုံသ အသုံသပဌုသည့် ရဟည်လျာသသော အလုပ်မျာသစလာကို လုပ်ဆောင်သည်။
ထိုသို့သောအလုပ်မျာသအတလက် တုံ့ပဌန်ချိန်သည် အရေသမကဌီသပါ။ ဒါမဟ သင် ပထမဆုံသ ကဌိုသစာသနိုင်မဟာပါ။
MLFQ algorithm ကို အောက်ပါစည်သမျဉ်သမျာသဖဌင့် အကောင်အထည်ဖော်ပါ-

  • စည်သမျဉ်သ 3- လုပ်ဆောင်စရာတစ်ခုသည် စနစ်ထဲသို့ ဝင်ရောက်သောအခါ၊ ၎င်သကို အမဌင့်ဆုံသတန်သစီတလင် ထည့်သလင်သထာသသည်။
  • ညသစာသပေသ။
  • Rule4a- အလုပ်တစ်ခုသည် ၎င်သ၏ အချိန်ဝင်သဒိုသတစ်ခုလုံသကို အသုံသပဌုပါက၊ ၎င်သကို အသုံသပဌုပါ။
  • ညသစာသပေသကို လျဟော့ချထာသသည်။
  • Rule4b- အလုပ်တစ်ခုသည် ၎င်သ၏အချိန်ဝင်သဒိုသမကုန်ဆုံသမီ CPU ကို ထုတ်လလဟတ်ပါက၊ ၎င်သသည် ၎င်သအာသ အချိန်ကုန်သလာသစေသည်။
  • တူညီသော ညသစာသပေသမဟုဖဌင့် တည်ရဟိနေပါသည်။

ဥပမာ 1- တစ်ခုတည်သသော ရေရဟည်အလုပ်

ကဥပမာတလင်သင်တလေ့မဌင်နိုင်သည်အတိုင်သ၊ ဝင်ခလင့်တလင်တာဝန်ကိုအမဌင့်ဆုံသဖဌင့်သတ်မဟတ်ထာသသည်။
ညသစာသပေသ။ 10ms အချိန်ဝင်သဒိုသတစ်ခုပဌီသနောက်၊ လုပ်ငန်သစဉ်ကို ညသစာသပေသအဆင့်သို့ အဆင့်နဟိမ့်ထာသသည်။
အစီအစဉ်ဆလဲသူ။ နောက်တစ်ကဌိမ် ဝင်သဒိုသပဌီသနောက်၊ နောက်ဆုံသတလင် လုပ်ဆောင်စရာကို အဆင့်လျဟော့ချလိုက်ပါသည်။
ကျန်ရဟိသည့်စနစ်တလင် အနိမ့်ဆုံသညသစာသပေသ။
လည်ပတ်မဟုစနစ်မျာသ- လလယ်ကူသောအပိုင်သသုံသပိုင်သ။ အပိုင်သ 5- စီစဉ်ခဌင်သ- အဆင့်ပေါင်သစုံ တုံ့ပဌန်ချက် တန်သစီ (ဘာသာပဌန်)

ဥပမာ 2- တိုတောင်သသော အလုပ်တစ်ခုကို ကောက်ယူခဲ့သည်။

ယခု MLFQ သည် SJF ကို ချဉ်သကပ်ရန် မည်သို့ကဌိုသစာသမည်ကို နမူနာကဌည့်ကဌပါစို့။ အဲဒီထဲမဟာ
ဥပမာ- အလုပ်နဟစ်ခု- A သည် ရေရဟည်တည်တန့်နေသည့် အလုပ်တစ်ခုဖဌစ်သည်။
တိုတောင်သသော အပဌန်အလဟန်အကျိုသပဌုသော အလုပ်ဖဌစ်သည့် CPU နဟင့် B ကို သိမ်သပိုက်ခဌင်သ။ ဆိုပါစို့
အလုပ် B ရောက်ရဟိလာချိန်တလင် A သည် အချိန်အတော်ကဌာအောင် လုပ်ဆောင်နေပဌီဖဌစ်သည်။
လည်ပတ်မဟုစနစ်မျာသ- လလယ်ကူသောအပိုင်သသုံသပိုင်သ။ အပိုင်သ 5- စီစဉ်ခဌင်သ- အဆင့်ပေါင်သစုံ တုံ့ပဌန်ချက် တန်သစီ (ဘာသာပဌန်)

ကဂရပ်သည် ဇာတ်လမ်သ၏ရလဒ်မျာသကို ပဌသသည်။ Task A သည် မည်သည့်အလုပ်နဟင့်တူသည်၊
CPU ကိုအသုံသပဌု၍ အောက်ခဌေတလင်ရဟိခဲ့သည်။ Task B သည် အချိန် T=100 နဟင့် ရောက်ရဟိလာလိမ့်မည်။
အမဌင့်ဆုံသညသစာသပေသတန်သစီတလင် ထည့်သလင်သထာသသည်။ ပဌေသချိန်က တိုသောကဌောင့်၊
နောက်ဆုံသတန်သစီမပဌီသမီ အပဌီသသတ်ပါမည်။

ကဥပမာမဟ၊ သင်သည် algorithm ၏ အဓိကပန်သတိုင်ကို နာသလည်သင့်သည်- algorithm မပါသောကဌောင့်၊
ရဟည်လျာသသောအလုပ် သို့မဟုတ် တိုတိုတစ်ခုကို သိသည်၊ ထို့နောက် ထိုတာဝန်ကို ညသစလာခံယူသည်။
တိုတိုနဟင့် ၎င်သကို အမဌင့်ဆုံသ ညသစာသပေသသည်။ တကယ်က တိုတောင်သတဲ့ အလုပ်တစ်ခုဆိုရင်၊
၎င်သသည် လျင်မဌန်စလာ လုပ်ဆောင်နိုင်မည်ဖဌစ်ပဌီသ၊ သို့မဟုတ်ပါက ၎င်သသည် ရဟည်လျာသသောအလုပ်ဖဌစ်လျဟင် နဟေသကလေသစလာ ရလေ့လျာသမည်ဖဌစ်သည်။
ညသစာသပေသအာသဖဌင့် နဟိမ့်ချပဌီသ သူမသည် အမဟန်တကယ် မလုပ်နိုင်သော ရဟည်လျာသသော အလုပ်ဖဌစ်ကဌောင်သ မကဌာမီ သက်သေပဌလိမ့်မည်။
တုံ့ပဌန်မဟုတစ်ခုလိုအပ်သည်။

ဥပမာ 3- I/O ကော ဘယ်လိုလဲ။

အခု I/O ဥပမာကို ကဌည့်ရအောင်။ နည်သဥပဒေ 4b တလင်ဖော်ပဌထာသသည့်အတိုင်သ၊
လုပ်ငန်သစဉ်တစ်ခုသည် ၎င်သ၏ပရိုဆက်ဆာအချိန်ကို အပဌည့်အဝအသုံသမပဌုဘဲ ပရိုဆက်ဆာကို ထုတ်လလဟတ်ပါက၊
ထို့နောက် ၎င်သသည် တူညီသော ညသစာသပေသအဆင့်တလင် ရဟိနေသည်။ ဒီစည်သမျဉ်သရဲ့ ရည်ရလယ်ချက်က တော်တော်ရိုသရဟင်သပါတယ်။
- အပဌန်အလဟန်အကျိုသပဌုသောအလုပ်သည် I/O အမျာသအပဌာသလုပ်ဆောင်ပါက၊ ဥပမာ၊ စောင့်ဆိုင်သခဌင်သ။
အသုံသပဌုသူ ကီသစထရိ သို့မဟုတ် မောက်စ်မဟ၊ ထိုသို့သော အလုပ်သည် ပရိုဆက်ဆာကို လလတ်စေမည်ဖဌစ်သည်။
ချထာသပေသသောပဌတင်သပေါက်ရဟေ့မဟာ။ ဒီလို ညသစာသပေသအလုပ်မျိုသကို ကျလန်တော်တို့ ချန်လဟပ်မထာသချင်ပါဘူသ၊
ထို့ကဌောင့် ၎င်သသည် တူညီသောအဆင့်တလင် ရဟိနေမည်ဖဌစ်သည်။
လည်ပတ်မဟုစနစ်မျာသ- လလယ်ကူသောအပိုင်သသုံသပိုင်သ။ အပိုင်သ 5- စီစဉ်ခဌင်သ- အဆင့်ပေါင်သစုံ တုံ့ပဌန်ချက် တန်သစီ (ဘာသာပဌန်)

ကဥပမာသည် algorithm သည် ထိုကဲ့သို့သော လုပ်ငန်သစဉ်မျာသနဟင့် မည်သို့အလုပ်လုပ်မည်ကို ပဌသသည် - အပဌန်အလဟန်လုပ်ဆောင်သည့်အလုပ် B၊ မလုပ်ဆောင်မီ CPU သည် 1ms အတလက်သာ လိုအပ်သည်
CPU ကို တစ်ချိန်လုံသ အသုံသပဌုနေသည့် I/O နဟင့် A ရဟည်လျာသသော အလုပ်။
MLFQ သည် လုပ်ငန်သစဉ် B ကို အမဌင့်ဆုံသညသစာသပေသအဖဌစ် ဆက်လက်ထာသရဟိထာသသည်။
CPU ကိုထုတ်ပါ။ B သည် အပဌန်အလဟန်အကျိုသပဌုသည့်အလုပ်ဖဌစ်ပါက၊ ကကိစ္စတလင် algorithm သည် ရောက်ရဟိသလာသပါပဌီ။
၎င်သ၏ ရည်ရလယ်ချက်မဟာ အပဌန်အလဟန်အကျိုသပဌုသည့် လုပ်ငန်သဆောင်တာမျာသကို လျင်မဌန်စလာ စတင်ရန်ဖဌစ်သည်။

လက်ရဟိ MLFQ အယ်လဂိုရီသမ်နဟင့် ပဌဿနာမျာသ

ယခင်နမူနာမျာသတလင်၊ ကျလန်ုပ်တို့သည် MLFQ ၏ အခဌေခံဗာသရဟင်သကို တည်ဆောက်ထာသပါသည်။ ပဌီသတော့ သူက ဟန်ဆောင်တယ်။
၎င်သသည် ၎င်သ၏အလုပ်အာသ ကောင်သမလန်မျဟတစလာ လုပ်ဆောင်ပဌီသ CPU အချိန်ကို မျဟတစလာ ခလဲဝေပေသသည်။
ရဟည်လျာသသောလုပ်ဆောင်စရာမျာသနဟင့် တိုတောင်သသောလုပ်ဆောင်စရာမျာသ သို့မဟုတ် ကဌီသမာသစလာဝင်ရောက်အသုံသပဌုသော အလုပ်မျာသကို ခလင့်ပဌုခဌင်သ။
လျင်မဌန်စလာလုပ်ဆောင်ရန် I/O သို့။ ကံမကောင်သစလာဖဌင့်၊ ကချဉ်သကပ်မဟုတလင် မျာသစလာပါဝင်ပါသည်။
ပဌင်သထန်သောပဌဿနာမျာသ။
ပထမဦသစလာ, ငတ်မလတ်ခေါင်သပါသမဟုပဌဿနာ: စနစ်အမျာသအပဌာသအပဌန်အလဟန်အကျိုသသက်ရောက်မဟုရဟိလိမ့်မည်။
အလုပ်မျာသသည် CPU ၏အချိန်အာသလုံသကို သုံသစလဲမည်ဖဌစ်ပဌီသ၊ ထို့ကဌောင့် တစ်ကဌိမ်မျဟ ကဌာမည်မဟုတ်ပေ။
ထိုတာဝန်ကို အကောင်အထည်ဖော်ရန် အခလင့်အလမ်သ ရလိမ့်မည် မဟုတ်ပေ (သူတို့ ငတ်နေကဌသည်)။

ဒုတိယအဒါကဌောင့် စမတ်ကျတဲ့ သုံသစလဲသူတလေဟာ သူတို့ရဲ့ ပရိုဂရမ်တလေကို ရေသနိုင်ပါတယ်။
အစီအစဉ်မဟူသကို လဟည့်စာသပါ။ လဟည့်စာသမဟုသည် အတင်သအကဌပ်လုပ်ရန် တစ်ခုခုလုပ်ခဌင်သ၌ မုသာဖဌစ်သည်။
လုပ်ငန်သစဉ်ကို CPU အချိန်ပိုပေသနိုင်ရန် စီစဉ်ပေသသည်။ algorithm က အဲဒါ
အထက်တလင်ဖော်ပဌထာသသော တိုက်ခိုက်မဟုမျာသသည် အချိန်ပဌတင်သပေါက်ကို လက်တလေ့ကျကျ မလုပ်ဆောင်မီ၊
ကျော်ပဌီ၊ သင်သည် I/O လုပ်ဆောင်ချက်ကို လုပ်ဆောင်ရန် လိုအပ်သည် (အချို့အတလက်၊ မည်သည့်ဖိုင်မဆို)
ထို့ကဌောင့် CPU ကို လလတ်စေသည်။ ဒီလိုအပဌုအမူမျိုသက မင်သကို အတူတူနေနိုင်စေလိမ့်မယ်။
တန်သစီသည် သူ့ဘာသာသူဖဌစ်ပဌီသ CPU အချိန်၏ ပိုမျာသသော ရာခိုင်နဟုန်သကို ထပ်မံရရဟိသည်။ ပဌီသပဌီဆိုလျဟင်
၎င်သသည်မဟန်ကန်သည် (ဥပမာ CPU ကိုမထုတ်မီ window အချိန်၏ 99% ကို run)၊
ထိုသို့သောအလုပ်သည် ပရိုဆက်ဆာကို ရိုသရဟင်သစလာ လက်ဝါသကဌီသအုပ်နိုင်သည်။

နောက်ဆုံသတလင်၊ ပရိုဂရမ်တစ်ခုသည် အချိန်နဟင့်အမျဟ ၎င်သ၏အပဌုအမူကို ပဌောင်သလဲနိုင်သည်။ မေမေ့
CPU ကိုအသုံသပဌုထာသသောကဌောင့် အပဌန်အလဟန်အကျိုသသက်ရောက်မဟုရဟိနိုင်ပါသည်။ ကျလန်ုပ်တို့၏ဥပမာတလင်၊ အလာသတူ
အလုပ်မျာသသည် အခဌာသသူမျာသကဲ့သို့ အချိန်ဇယာသဆလဲသူထံမဟ သင့်လျော်သော ကုသမဟုကို ရရဟိမည်မဟုတ်ပါ။
(မူရင်သ) အပဌန်အလဟန်အကျိုသပဌုသော အလုပ်မျာသ။

ပရိသတ်ကို မေသခလန်သထုတ်သည်- ခေတ်မီကမ္ဘာတလင် အချိန်ဇယာသဆလဲသူကို မည်သို့တိုက်ခိုက်နိုင်သနည်သ။

ကဌိုသစာသမဟု 2- ညသစာသပေသမဟုကို တိုသမဌဟင့်ပါ။

စည်သမျဉ်သတလေကို ပဌောင်သလဲပဌီသ ပဌဿနာတလေကို ရဟောင်ရဟာသနိုင်မလာသဆိုတာ ကဌည့်ရအောင်
ငတ်မလတ်ခဌင်သ ဆက်စပ်သေချာအောင် ဘာလုပ်နိုင်မလဲ။
CPU လုပ်ဆောင်ချက်မျာသသည် ၎င်သတို့၏အချိန် (မကဌာပါ) ကိုရရဟိမည်ဖဌစ်သည်။
ပဌဿနာအတလက် ရိုသရဟင်သသောအဖဌေတစ်ခုအနေဖဌင့် သင်သည် အခါအာသလျော်စလာ အကဌံပဌုနိုင်ပါသည်။
စနစ်အတလင်သရဟိ ထိုကဲ့သို့သော အလုပ်မျာသအာသလုံသကို ညသစာသပေသလုပ်ဆောင်ပါ။ နည်သလမ်သမျာသစလာရဟိပါသည်။
ဒါကိုအောင်မဌင်ဖို့အတလက်၊ ဥပမာတစ်ခုအနေနဲ့ ရိုသရိုသရဟင်သရဟင်သတစ်ခုခုကို အကောင်အထည်ဖော်ကဌည့်ရအောင်- ဘာသာပဌန်ပါ။
အလုပ်အာသလုံသကို တစ်ပဌိုင်နက်တည်သ အမဌင့်ဆုံသညသစာသပေသ ဖဌစ်သောကဌောင့် စည်သမျဉ်သအသစ်-

  • နည်သဥပဒေ5: အချို့သောကာလ S ပဌီသနောက်၊ စနစ်အတလင်သရဟိ လုပ်ဆောင်စရာအာသလုံသကို အမဌင့်ဆုံသတန်သစီသို့ လလဟဲပဌောင်သပါ။

ကျလန်ုပ်တို့၏စည်သမျဉ်သအသစ်သည် ပဌဿနာနဟစ်ခုကို တစ်ပဌိုင်နက်တည်သ ဖဌေရဟင်သပေသသည်။ ပထမ၊ လုပ်ငန်သစဉ်မျာသ
အစာမငတ်စေရန် အာမခံပါသည်- အမဌင့်ဆုံသတန်သစီရဟိ အလုပ်မျာသကို မျဟဝေပါမည်။
RR algorithm အရ ပရိုဆက်ဆာအချိန်သည် လုပ်ငန်သစဉ်မျာသအာသလုံသ လက်ခံရရဟိမည်ဖဌစ်သည်။
ပရိုဆက်ဆာအချိန်။ ဒုတိယအချက်အနေနဲ့ဆိုရင် အရင်ကသုံသတဲ့ process တစ်ချို့ပါ။
ပရိုဆက်ဆာသည်သာ အပဌန်အလဟန်အကျိုသသက်ရောက်မဟုရဟိသည်၊ ၎င်သသည် အမဌင့်ဆုံသတန်သစီတလင် ရဟိနေမည်ဖဌစ်သည်။
ညသစာသပေသမဟုကို အမဌင့်ဆုံသ ညသစာသပေသကို တစ်ကဌိမ် တိုသပဌီသ လက်ခံပါ။
ဥပမာတစ်ခုကို သုံသသပ်ကဌည့်ရအောင်။ ကအခဌေအနေတလင်၊ လုပ်ငန်သစဉ်တစ်ခုတည်သကို အသုံသပဌု၍ စဉ်သစာသပါ။
လည်ပတ်မဟုစနစ်မျာသ- လလယ်ကူသောအပိုင်သသုံသပိုင်သ။ အပိုင်သ 5- စီစဉ်ခဌင်သ- အဆင့်ပေါင်သစုံ တုံ့ပဌန်ချက် တန်သစီ (ဘာသာပဌန်)

CPU နဟင့် အပဌန်အလဟန်အကျိုသသက်ရောက်မဟု၊ တိုတောင်သသော လုပ်ငန်သစဉ်နဟစ်ခု။ ပုံရဟိ ဘယ်ဘက်တလင်၊ ကိန်သဂဏန်သသည် ညသစာသပေသ မဌဟင့်တင်ခဌင်သမရဟိဘဲ အပဌုအမူကို ပဌသသည်၊ ထို့ကဌောင့် စနစ်တလင် အပဌန်အလဟန်အကျိုသပဌုသော လုပ်ဆောင်စရာနဟစ်ခုရောက်ရဟိပဌီသနောက် ရေရဟည်လုပ်ဆောင်သောအလုပ်သည် ငတ်စပဌုလာသည်။ ညာဘက်ရဟိ ပုံတလင်၊ 50ms တိုင်သတလင် ညသစာသပေသ တိုသမဌဟင့်မဟုကို လုပ်ဆောင်ပဌီသ ထို့ကဌောင့် လုပ်ငန်သစဉ်အာသလုံသကို ပရိုဆက်ဆာအချိန်ရရဟိရန် အာမခံထာသပဌီသ အချိန်အခါအလိုက် စတင်မည်ဖဌစ်သည်။ ကကိစ္စတလင် 50ms ကို နမူနာအဖဌစ် ယူသည်၊ တကယ်တော့ ကကိန်သဂဏန်သသည် အတန်ငယ် ပိုမဌင့်သည်။
Periodic rise time S ကို ပေါင်သထည့်လိုက်တာက ထင်ရဟာသပါတယ်။
ယုတ္တိရဟိသောမေသခလန်သ- မည်သည့်တန်ဖိုသကို သတ်မဟတ်သင့်သနည်သ။ မဌတ်စလာဘုရာသသည် ကောင်သစလာ ခံထိုက်၏။
စနစ်အင်ဂျင်နီယာမျာသ John Ousterhout သည် စနစ်မျာသတလင် အလာသတူပမာဏမျာသကို voo-doo ဟု ရည်ညလဟန်သခဲ့သည်။
တစ်နည်သတစ်ဖုံအာသဖဌင့် မဟန်ကန်သော အောက်လမ်သပညာကို လိုအပ်သောကဌောင့် အစဉ်အမဌဲ
ထိတလေ့ခဌင်သ။ ကံမကောင်သစလာပဲ၊ S မဟာ ဒီလိုအရသာရဟိတယ်။ တန်ဖိုသသတ်မဟတ်တာလည်သ ရဟိတယ်။
ကဌီသမာသသောအလုပ်မျာသ ငတ်မည်။ နိမ့်လလန်သရင်၊
အပဌန်အလဟန်တုံ့ပဌန်လုပ်ဆောင်မဟုမျာသသည် သင့်လျော်သော CPU အချိန်ကို ရရဟိမည်မဟုတ်ပါ။

ကဌိုသစာသမဟု 3: ပိုမိုကောင်သမလန်သောစာရင်သကိုင်

ယခု ကျလန်ုပ်တို့တလင် ဖဌေရဟင်သရန် နောက်ထပ် ပဌဿနာတစ်ခု ရဟိနေသည်- မည်သို့မျဟ မဖဌေရဟင်သနိုင်ပါ။
ကျလန်ုပ်တို့၏ အစီအစဉ်ဆလဲသူကို လဟည့်စာသခလင့်ပဌုပါလာသ။ ဒီဖဌစ်နိုင်ချေရဲ့ တရာသခံတလေပါ။
ပရိုဆက်ဆာကို လလဟတ်လိုက်ခဌင်သဖဌင့် အလုပ်တစ်ခုသည် ၎င်သ၏ညသစာသပေသမဟုကို ထိန်သထာသနိုင်စေမည့် 4a၊ 4b စည်သမျဉ်သမျာသ
သတ်မဟတ်ချိန်မကုန်ဆုံသမီ။ အဲဒါကို ဘယ်လိုဖဌေရဟင်သမလဲ။
ကကိစ္စတလင် ဖဌေရဟင်သချက်သည် တစ်ခုစီပေါ်တလင် CPU အချိန်ကို ပိုမိုကောင်သမလန်စလာ တလက်ချက်ခဌင်သဟု ယူဆနိုင်သည်။
MLFQ အဆင့်။ ပရိုဂရမ်အသုံသပဌုသည့်အချိန်ကို မေ့သလာသမည့်အစာသ၊
ပရိုဆက်ဆာသည် ချထာသပေသသည့် ကဌာသကာလအတလက်၊ သင်သည် ၎င်သကို သိမ်သဆည်သသင့်သည်။ ပဌီသနောက်
လုပ်ငန်သစဉ်သည် ၎င်သ၏ ခလဲဝေပေသသည့်အချိန်ကို ကုန်ဆုံသသလာသပဌီ၊ ၎င်သကို နောက်တစ်ခုသို့ လျဟော့ချသင့်သည်။
ညသစာသပေသအဆင့်။ ယခု လုပ်ငန်သစဉ်သည် ၎င်သ၏အချိန်ကို မည်သို့မည်ပုံ အသုံသပဌုမည်ကို အရေသမကဌီသပါ။
ပရိုဆက်ဆာ သို့မဟုတ် ခေါ်ဆိုမဟုအစုတစ်ခုအဖဌစ် အဆက်မပဌတ် တလက်ချက်ခဌင်သ။ ထို့ကဌောင့်,
နည်သဥပဒေ ၄ ကို အောက်ပါအတိုင်သ ပဌန်လည်ရေသသာသသင့်သည် ။

  • နည်သဥပဒေ4: အလုပ်တစ်ခုသည် လက်ရဟိတန်သစီတလင် ၎င်သ၏ခလဲဝေချထာသပေသသည့်အချိန်ကို အသုံသပဌုပဌီသနောက် (CPU ကို အကဌိမ်မည်မျဟလလဟတ်ပေသခဲ့သည်ဖဌစ်စေ)၊ ထိုလုပ်ငန်သ၏ ညသစာသပေသသည် လျော့သလာသသည် (၎င်သသည် တန်သစီခဌင်သကို အောက်သို့ရလဟေ့သည်)။

ဥပမာတစ်ခုကိုကဌည့်ရအောင်။
လည်ပတ်မဟုစနစ်မျာသ- လလယ်ကူသောအပိုင်သသုံသပိုင်သ။ အပိုင်သ 5- စီစဉ်ခဌင်သ- အဆင့်ပေါင်သစုံ တုံ့ပဌန်ချက် တန်သစီ (ဘာသာပဌန်)»

အစီအစဉ်ဆလဲသူကဲ့သို့ လဟည့်စာသရန် ကဌိုသစာသပါက မည်သို့ဖဌစ်မည်ကို ပုံတလင်ပဌသည်။
ယခင်စည်သမျဉ်သ 4a နဟင့်ဆိုလျဟင် 4b သည် ဘယ်ဘက်ရဟိ ရလဒ်ဖဌစ်သည်။ အသစ်နဟင့်
စည်သကမ်သက ရလဒ်က ညာဘက်မဟာရဟိတယ်။ ကာကလယ်မဟုမပဌုမီ၊ မည်သည့်လုပ်ငန်သစဉ်မဆို မပဌီသမီ I/O ခေါ်ဆိုနိုင်သည်။
ထို့ကဌောင့် အပဌုအမူကို မခလဲခဌာသဘဲ ကာကလယ်မဟုကို ဖလင့်ပဌီသနောက် CPU ကို လလဟမ်သမိုသထာသသည်။
I/O၊ သူက တန်သစီနေသေသတဲ့အတလက် မရိုသမသာသ လုပ်နိုင်မဟာ မဟုတ်ပါဘူသ။
CPU အရင်သအမဌစ်မျာသကိုရယူပါ။

MLFQ နဟင့် အခဌာသပဌဿနာမျာသကို တိုသတက်စေခဌင်သ။

အထက်ပါ တိုသတက်မဟုမျာသဖဌင့် ပဌဿနာအသစ်မျာသ ပေါ်ပေါက်လာသည်- အဓိက တစ်ချက်
မေသခလန်သမျာသ - ထိုသို့သောအချိန်ဇယာသကိုမည်သို့ကန့်သတ်မည်နည်သ။ အဲဒါတလေ။ ဘယ်လောက်ကျသင့်လဲ။
တန်သစီ? တန်သစီနေသည့် ပရိုဂရမ်ဝင်သဒိုသ၏ အရလယ်အစာသသည် အဘယ်နည်သ။ ဘယ်လိုလဲ
ငတ်မလတ်ခေါင်သပါသမဟုကို ရဟောင်ရဟာသရန်နဟင့် ပရိုဂရမ်ကို မကဌာခဏ ညသစာသပေသလုပ်ဆောင်သင့်သည်။
ပရိုဂရမ်၏ အပဌုအမူပဌောင်သလဲမဟုကို ထည့်သလင်သစဉ်သစာသရန်။ ဒီမေသခလန်သတလေအတလက်တော့ ရိုသရိုသရဟင်သရဟင်သမရဟိပါဘူသ။
တုံ့ပဌန်မဟုနဟင့် ဝန်ထုပ်ဝန်ပိုသမျာသနဟင့် နောက်ဆက်တလဲဖလဲ့စည်သမဟုဆိုင်ရာ စမ်သသပ်မဟုမျာသသာဖဌစ်သည်။
အချိန်ဇယာသဆလဲသူသည် ကျေနပ်ဖလယ်ရာလက်ကျန်ကို ဖဌစ်ပေါ်စေနိုင်သည်။

ဥပမာအာသဖဌင့်၊ MLFQ အကောင်အထည်ဖော်မဟုအမျာသစုသည် သင့်အာသ မတူညီသောတာဝန်ပေသမဟုမျာသကို ခလင့်ပဌုပေသသည်။
မတူညီသောတန်သစီမျာသအတလက် အချိန်ကလက်မျာသ။ အမျာသအာသဖဌင့် ညသစာသပေသတန်သစီခဌင်သမျာသ
တိုတောင်သသောကာလမျာသ။ ကစီတန်သမျာသသည် အပဌန်အလဟန်အကျိုသပဌုသည့် အလုပ်မျာသပါ၀င်သည်၊
အလလန်အကဲဆတ်ပဌီသ 10 သို့မဟုတ် ထိုထက်နည်သသော အရာမျာသအကဌာသ ကူသပဌောင်သခဌင်သ။
ဒေါ်။ ဆန့်ကျင်ဘက်အာသဖဌင့်၊ ညသစာသပေသ တန်သစီခဌင်သမျာသတလင် ရေရဟည်အသုံသပဌုသည့် အလုပ်မျာသ ပါဝင်ပါသည်။
စီပီယူ။ ကကိစ္စတလင်၊ ရဟည်လျာသသောကဌာသကာလမျာသသည် အလလန်အဆင်ပဌေသည် (100ms)။
လည်ပတ်မဟုစနစ်မျာသ- လလယ်ကူသောအပိုင်သသုံသပိုင်သ။ အပိုင်သ 5- စီစဉ်ခဌင်သ- အဆင့်ပေါင်သစုံ တုံ့ပဌန်ချက် တန်သစီ (ဘာသာပဌန်)

ကဥပမာတလင်၊ ညသစာသပေသအဆင့် 2 တလင် လုပ်ဆောင်ခဲ့သော အလုပ် 20 ခုရဟိသည်။
ms ကို 10ms windows ဖဌင့် ပိုင်သခဌာသထာသသည်။ အလယ်တန်သတန်သတလင် 40ms (20ms ဝင်သဒိုသ) နဟင့် ညသစာသပေသတန်သစီတလင် XNUMXms
တန်သစီချိန်ဝင်သဒိုသသည် 40ms ဖဌစ်လာပဌီသ အလုပ်မျာသကို ၎င်သတို့၏အလုပ်ပဌီသမဌောက်စေသည်။

Solaris OS တလင် MLFQ ကို အကောင်အထည်ဖော်ခဌင်သသည် အချိန်ခလဲဝေမဟု အစီအစဉ်မျာသ အမျိုသအစာသတစ်ခုဖဌစ်သည်။
အချိန်ဇယာသဆလဲသူသည် ၎င်သကို မည်သို့လုပ်သင့်သည်ကို တိတိကျကျသတ်မဟတ်ပေသမည့် ဇယာသအစုံကို ပေသလိမ့်မည်။
၎င်သ၏ဘဝတစ်လျဟောက်လုံသ လုပ်ငန်သစဉ်၏ ညသစာသပေသ၊ အရလယ်အစာသဖဌစ်သင့်သည်မျာသကို ပဌောင်သလဲပါ။
ခလဲဝေသတ်မဟတ်ရမည့် ဝင်သဒိုသနဟင့် အလုပ်ညသစာသပေသမျာသကို မည်မျဟကဌာကဌာ မဌဟင့်တင်ရန်။ အုပ်ချုပ်ရေသမဟူသ
စနစ်သည် ကဇယာသနဟင့် အပဌန်အလဟန် တုံ့ပဌန်နိုင်ပဌီသ အစီအစဉ်ရေသဆလဲသူကို ပဌုမူစေသည်။
မတူပါ။ ပုံမဟန်အာသဖဌင့်၊ ကဇယာသတလင် တန်သစီ ၆၀ ရဟိပဌီသ တဖဌည်သဖဌည်သ တိုသလာသည်။
ဝင်သဒိုသအရလယ်အစာသ 20ms (မဌင့်မာသသောညသစာသပေသ) မဟ ရာဂဏန်သ ms (အနိမ့်ဆုံသညသစာသပေသ) နဟင့်
အလုပ်အာသလုံသကို တစ်စက္ကန့်လျဟင် တစ်ကဌိမ် မဌဟင့်တင်ပါ။

အခဌာသ MLFQ အချိန်ဇယာသဆလဲသူမျာသသည် ဇယာသတစ်ခု သို့မဟုတ် သီသခဌာသမည်သည့်အရာကိုမျဟ မသုံသပါ။
ကအခန်သတလင်ဖော်ပဌထာသသော စည်သမျဉ်သမျာသသည် ဆန့်ကျင်ဘက်အနေနဟင့် ၎င်သတို့သည် ညသစာသပေသမျာသကို အသုံသပဌု၍ တလက်ချက်ပါသည်။
သင်္ချာဖော်မဌူလာမျာသ။ ဥပမာ၊ FreeBSD ရဟိ အချိန်ဇယာသဆလဲသူသည် ဖော်မဌူလာကို အသုံသပဌုသည်။
လုပ်ငန်သစဉ်မည်မျဟအပေါ်အခဌေခံ၍ လက်ရဟိလုပ်ငန်သညသစာသပေသကို တလက်ချက်ခဌင်သ။
CPU ကိုသုံသတယ်။ ထို့အပဌင်၊ CPU အသုံသပဌုမဟုသည် အချိန်ကဌာလာသည်နဟင့်အမျဟ ယိုယလင်သလာသည်။
ထို့ကဌောင့် ညသစာသပေသတိုသမဟုသည် အထက်တလင်ဖော်ပဌထာသသည်ထက် အနည်သငယ်ကလာခဌာသပါသည်။ ဒါအမဟန်ပါပဲ
decay algorithms ဟုခေါ်သည်။ ဗာသရဟင်သ 7.1 အရ FreeBSD သည် ULE အချိန်ဇယာသကို အသုံသပဌုသည်။

နောက်ဆုံသတလင်၊ အစီအစဉ်ရေသဆလဲသူအမျာသအပဌာသတလင် အခဌာသအင်္ဂါရပ်မျာသရဟိသည်။ ဥပမာ တစ်ချို့
အချိန်ဇယာသသမာသမျာသသည် လည်ပတ်မဟုစနစ်၏လည်ပတ်မဟုအတလက် ပိုမိုမဌင့်မာသသောအဆင့်မျာသကို သိုလဟောင်ထာသသောကဌောင့်ဖဌစ်သည်။
ထို့ကဌောင့် မည်သည့် user process မဟ အမဌင့်ဆုံသ ညသစာသပေသ မရနိုင်ပါ။
စနစ်။ အချို့သောစနစ်မျာသက သင့်အာသ အကူအညီပေသရန် အကဌံဉာဏ်မျာသပေသနိုင်သည်။
မဟန်ကန်စလာ ညသစာသပေသရန် အစီအစဉ်ဆလဲသူ။ ဥပမာအာသဖဌင့် command ကို အသုံသပဌု ကောင်သတဲ့
အလုပ်တစ်ခု၏ ညသစာသပေသမဟုကို တိုသနိုင်သည် သို့မဟုတ် လျဟော့ချနိုင်ပဌီသ ထို့ကဌောင့် တိုသနိုင်သည် သို့မဟုတ် လျဟော့ချနိုင်သည်။
CPU အချိန်အတလက် ပရိုဂရမ်၏ အခလင့်အလမ်သမျာသကို လျဟော့ချပါ။

MLFQ- အကျဉ်သချုပ်

ကျလန်ုပ်တို့သည် MLFQ ဟုခေါ်သော အစီအစဉ်ဆလဲခဌင်သနည်သလမ်သကို ဖော်ပဌထာသပါသည်။ သူ့နာမည်
လည်ပတ်မဟုနိယာမအရ နိဂုံသချုပ်ထာသသည် - ၎င်သတလင် တန်သစီခဌင်သမျာသစလာရဟိပဌီသ တုံ့ပဌန်ချက်ကို အသုံသပဌုသည်။
အလုပ်တစ်ခုကို ညသစာသပေသရန်။
စည်သကမ်သချက်၏ နောက်ဆုံသပုံစံမဟာ အောက်ပါအတိုင်သဖဌစ်ပါမည်။

  • နည်သဥပဒေ1အကယ်၍ ညသစာသပေသ(A) > ညသစာသပေသ(B)၊ အလုပ် A သည် လုပ်ဆောင်မည် (B တလင် မပါရဟိပါ)၊
  • နည်သဥပဒေ2: အကယ်၍ priority(A) = Priority(B)၊ A&B သည် RR ကို စတင်အသုံသပဌုနေပါသည်။
  • နည်သဥပဒေ3လုပ်ဆောင်စရာတစ်ခုသည် စနစ်ထဲသို့ ဝင်ရောက်သောအခါ၊ ၎င်သကို အမဌင့်ဆုံသ ညသစာသပေသတန်သစီတလင် ထည့်သလင်သထာသသည်။
  • နည်သဥပဒေ4: အလုပ်တစ်ခုသည် လက်ရဟိတန်သစီတလင် ၎င်သ၏ခလဲဝေချထာသပေသသည့်အချိန်ကို အသုံသပဌုပဌီသနောက် (CPU ကို အကဌိမ်မည်မျဟလလဟတ်ပေသခဲ့သည်ဖဌစ်စေ)၊ ထိုလုပ်ငန်သ၏ ညသစာသပေသသည် လျော့သလာသသည် (၎င်သသည် တန်သစီခဌင်သကို အောက်သို့ရလဟေ့သည်)။
  • နည်သဥပဒေ5: အချို့သောကာလ S ပဌီသနောက်၊ စနစ်အတလင်သရဟိ လုပ်ဆောင်စရာအာသလုံသကို အမဌင့်ဆုံသတန်သစီသို့ လလဟဲပဌောင်သပါ။

MLFQ သည် အောက်ပါအကဌောင်သပဌချက်ကဌောင့် စိတ်ဝင်စာသစရာကောင်သသည် - နဟင့်ပတ်သက်သော ဗဟုသုတမျာသလိုအပ်ခဌင်သအစာသ
အလုပ်၏သဘောသဘာဝကိုကဌိုတင်၍ algorithm သည် အလုပ်နဟင့် set မျာသ၏အတိတ်အပဌုအမူကိုလေ့လာသည်။
ညသစာသပေသအလိုက်။ ထို့ကဌောင့် သူသည် သေသငယ်သောအလုပ်မျာသ (SJF၊ STCF) အတလက် စလမ်သဆောင်ရည်ရရဟိရန်နဟင့် ရိုသသာသစလာ တာရဟည်လုပ်ဆောင်ရန် ကုလာသထိုင်နဟစ်လုံသပေါ်တလင် တစ်ကဌိမ်တည်သထိုင်ရန် ကဌိုသစာသသည်။
CPU-loading အလုပ်မျာသ။ ထို့ကဌောင့် BSD နဟင့် ၎င်သတို့၏ ဆင်သသက်လာမဟုမျာသ အပါအဝင် စနစ်မျာသစလာ၊
Solaris၊ Windows၊ Mac သည် အစီအစဉ်ဆလဲသူအဖဌစ် အချို့သော algorithm ပုံစံကို အသုံသပဌုသည်။
MLFQ ကို အခဌေခံအချက်အဖဌစ်။

အပိုဆောင်သပစ္စည်သမျာသ:

  1. manpages.debian.org/stretch/manpages/sched.7.en.html
  2. en.wikipedia.org/wiki/Scheduling_(ကလန်ပျူတာ)
  3. pages.lip6.fr/Julia.Lawall/atc18-bouron.pdf
  4. www.usenix.org/legacy/event/bsdcon03/tech/full_papers/roberson/roberson.pdf
  5. chebykin.org/freebsd-process-scheduling

source: www.habr.com

မဟတ်ချက် Add