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

Operating Systems မိတ်ဆက်

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

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

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

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

Scheduler မိတ်ဆက်

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

အလုပ်တာဝန် ယူဆချက်မျာသ

ဖဌစ်နိုင်ချေရဟိသော မူဝါဒမျာသကို မဆလေသနလေသမီ၊ စုပေါင်သဟုခေါ်သည့် စနစ်အတလင်သ လုပ်ဆောင်နေသည့် လုပ်ငန်သစဉ်မျာသအကဌောင်သ ရိုသရဟင်သသော သဘောထာသကလဲလလဲမဟုအချို့ကို ပဌုလုပ်ကဌပါစို့။ အလုပ်ဝန်. အလုပ်တာဝန်ကို သတ်မဟတ်ခဌင်သသည် ဆောက်လုပ်ရေသမူဝါဒမျာသ၏ အရေသပါသော အစိတ်အပိုင်သဖဌစ်ပဌီသ အလုပ်တာဝန်အကဌောင်သ သင်ပိုသိလေ၊ မူဝါဒကို သင်ရေသသာသနိုင်လေဖဌစ်သည်။

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

  1. အလုပ်တစ်ခုစီသည် တူညီသောအချိန်ပမာဏအတလက် လုပ်ဆောင်သည်၊
  2. အလုပ်မျာသအာသလုံသကို တပဌိုင်နက်တည်သ သတ်မဟတ်ပဌီသ၊
  3. ပေသအပ်သောတာဝန်ကို ပဌီသမဌောက်သည်အထိ လုပ်ဆောင်ခဌင်သ၊
  4. အလုပ်အာသလုံသ CPU ကိုသာသုံသသည်၊
  5. လုပ်ငန်သတစ်ခုစီ၏ လုပ်ဆောင်နေချိန်ကို သိရဟိပါသည်။

အစီအစဉ်ဆလဲသူ မက်ထရစ်မျာသ

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

ဥပမာအာသဖဌင့်၊ ကျလန်ုပ်တို့သည် မက်ထရစ်ဟုခေါ်သော ကိန်သဂဏန်သတစ်ခုကို အသုံသပဌုပါမည်။ အလဟည့်ကျအချိန် (အလဟည့်ကျချိန်)။ လုပ်ငန်သဆောင်ရလက်ချိန်ကို အလုပ်ပဌီသစီသချိန်နဟင့် စနစ်အတလင်သရဟိ အလုပ်ရောက်ရဟိချိန်အကဌာသ ခဌာသနာသချက်အဖဌစ် သတ်မဟတ်သည်။

Tturnaround=Tcompletion-Tarrival

အလုပ်အာသလုံသ တစ်ချိန်တည်သ ရောက်ရဟိလာသည်ဟု ကျလန်ုပ်တို့ ယူဆသောကဌောင့်၊ ထို့နောက် Ta=0 နဟင့် Tt=Tc။ အထက်ပါယူဆချက်မျာသကို ကျလန်ုပ်တို့ပဌောင်သလဲသောအခါတလင် ကတန်ဖိုသသည် သဘာဝအတိုင်သ ပဌောင်သလဲသလာသပါမည်။

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

ပထမဆုံသထလက်ခဌင်သ (FIFO)

ကျလန်ုပ်တို့ အကောင်အထည်ဖော်နိုင်သော အခဌေခံအကျဆုံသ algorithm ကို FIFO သို့မဟုတ် ဟုခေါ်သည်။ first come (ဝင်) ၊ first serve (ထလက်). က algorithm တလင် အာသသာချက်မျာသစလာ ရဟိသည်- ၎င်သသည် အကောင်အထည်ဖော်ရန် အလလန်လလယ်ကူပဌီသ ကျလန်ုပ်တို့၏ ယူဆချက်အာသလုံသနဟင့် ကိုက်ညီပဌီသ အလုပ်ကို ကောင်သစလာ လုပ်ဆောင်ပါသည်။

ရိုသရဟင်သသောဥပမာကိုကဌည့်ကဌပါစို့။ အလုပ် ၃ ခုကို တပဌိုင်နက်တည်သ သတ်မဟတ်ထာသသည် ဆိုကဌပါစို့။ သို့သော် A သည် အခဌာသအရာအာသလုံသထက် အနည်သငယ်စောသည်ဟု ယူဆကဌပါစို့၊ ထို့ကဌောင့် B နဟင့် C နဟင့် ပတ်သက်သည့် အခဌာသအရာမျာသထက် စောပဌီသ ၎င်သသည် အခဌာသအရာမျာသထက် စော၍ လုပ်ဆောင်ရမည့်စာရင်သတလင် ပေါ်လာမည်ဖဌစ်သည်။ ၎င်သတို့တစ်ခုစီကို 3 စက္ကန့်ကဌာ လုပ်ဆောင်မည်ဟု ယူဆကဌပါစို့။ ကကိစ္စတလင် ကအလုပ်မျာသကို ပဌီသမဌောက်ရန် ပျမ်သမျဟအချိန်က အဘယ်နည်သ။

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

တန်ဖိုသမျာသကို ရေတလက်ခဌင်သ - 10+20+30 နဟင့် 3 ဖဌင့် ခလဲခဌင်သဖဌင့်၊ ကျလန်ုပ်တို့သည် ပျဟမ်သမျဟ ပရိုဂရမ်လုပ်ဆောင်ချိန်ကို စက္ကန့် 20 နဟင့် ညီမျဟသည်။
ယခု ကျလန်ုပ်တို့၏ ယူဆချက်မျာသကို ပဌောင်သလဲရန် ကဌိုသစာသကဌပါစို့။ အထူသသဖဌင့်၊ ယူဆချက် 1 ဖဌစ်သောကဌောင့် အလုပ်တစ်ခုစီသည် လုပ်ဆောင်ရန် အချိန်ပမာဏ တူညီသည်ဟု ကျလန်ုပ်တို့ ယူဆတော့မည်မဟုတ်ပါ။ ဒီတစ်ကဌိမ်မဟာ FIFO က ဘယ်လိုလုပ်ဆောင်မလဲ။

ထလက်လာသည်နဟင့်အမျဟ၊ မတူညီသောလုပ်ငန်သဆောင်တာမျာသလုပ်ဆောင်ချိန်မျာသသည် FIFO algorithm ၏ကုန်ထုတ်စလမ်သအာသအပေါ် အလလန်အပျက်သဘောဆောင်သောသက်ရောက်မဟုရဟိသည်။ Task A သည် ပဌီသမဌောက်ရန် စက္ကန့် 100 ကဌာမည် ဖဌစ်သော်လည်သ B နဟင့် C သည် တစ်ခုစီတိုင်သ 10 စက္ကန့် ကဌာမည်ဟု ယူဆကဌပါစို့။

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

ပုံတလင်တလေ့နိုင်သည်အတိုင်သ၊ စနစ်အတလက်ပျမ်သမျဟအချိန်သည် (100+110+120)/3=110 ဖဌစ်လိမ့်မည်။ ကအကျိုသသက်ရောက်မဟုကို ခေါ်သည်။ ယာဉ်တန်သအကျိုသသက်ရောက်မဟုအရင်သအမဌစ်တစ်ခု၏ ရေတိုသုံသစလဲသူအချို့သည် အလလန်အကျလံစာသသုံသသူနောက်တလင် တန်သစီနေသည့်အခါ၊ သင့်ရဟေ့မဟာ ဖောက်သည်တစ်ယောက် လဟည်သအပဌည့်နဲ့ ရဟိနေတဲ့အခါ ကုန်စုံဆိုင်မဟာ တန်သစီနေသလိုပါပဲ။ ပဌဿနာအတလက် အကောင်သဆုံသဖဌေရဟင်သနည်သမဟာ ငလေရဟင်သကောင်တာကို ပဌောင်သလဲရန် သို့မဟုတ် စိတ်လျဟော့ပဌီသ လေသလေသနက်နက် အသက်ရဟူရန် ကဌိုသစာသခဌင်သဖဌစ်သည်။

အတိုဆုံသအလုပ် ပထမ

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

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

ကဥပမာတလင်၊ တူညီသောလုပ်ငန်သစဉ်မျာသလုပ်ဆောင်ခဌင်သ၏ရလဒ်သည် ပျမ်သမျဟပရိုဂရမ်လဟည့်ပတ်မဟုအချိန်တိုသတက်မဟုတစ်ခုဖဌစ်ပဌီသ ၎င်သနဟင့်ညီမျဟမည်ဖဌစ်သည်။ ၉၆ အစာသ ၇၆၂ ဆနီသပါသ ပိုကောင်သတယ်။

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

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

အလုပ် A (100c) သည် ညသစလာရောက်ရဟိလာပဌီသ စတင်လုပ်ဆောင်မည်ဟု စိတ်ကူသကဌည့်ကဌပါစို့။ t=10 တလင်၊ လုပ်ဆောင်စရာ B နဟင့် C ရောက်ရဟိလာပဌီသ တစ်ခုစီသည် 10 စက္ကန့်ကဌာမည်ဖဌစ်သည်။ ထို့ကဌောင့် ပျမ်သမျဟလုပ်ဆောင်ချိန်သည် (100+(110-10)+(120-10))3 = 103။ ကအရာကို တိုသတက်စေရန် စီစဉ်သူသည် ဘာလုပ်နိုင်သနည်သ။

အတိုဆုံသ အချိန်-ပထမ ပဌီသစီသရန် (STCF)

အခဌေအနေတိုသတက်စေရန်အတလက်၊ ပရိုဂရမ်ကို စတင်ပဌီသ ပဌီသမဌောက်သည်အထိ လုပ်ဆောင်သည်ဟူသော ယူဆချက် 3 ကို ချန်လဟပ်ထာသသည်။ ထို့အပဌင်၊ ကျလန်ုပ်တို့သည် ဟာ့ဒ်ဝဲပံ့ပိုသမဟု လိုအပ်မည်ဖဌစ်ပဌီသ သင်ခန့်မဟန်သထာသသည့်အတိုင်သ ကျလန်ုပ်တို့ အသုံသပဌုပါမည်။ timer လုပ်ဆောင်နေသော အလုပ်တစ်ခုကို နဟောင့်ယဟက်ရန်နဟင့် အကဌောင်သအရာပဌောင်သခဌင်သ။. ထို့ကဌောင့်၊ အချိန်ဇယာသရေသဆလဲသူသည် အလုပ်မျာသ B၊ C ရောက်ရဟိလာသည်နဟင့် လောလောဆယ်တလင် တစ်ခုခုလုပ်ဆောင်နိုင်သည် - အလုပ် A ကိုလုပ်ဆောင်ခဌင်သကိုရပ်ပဌီသ အလုပ်မျာသ B နဟင့် C တို့ကို စီမံဆောင်ရလက်ပေသပဌီသ၊ ၎င်သတို့ပဌီသစီသပဌီသနောက်၊ ဆက်လက်လုပ်ဆောင်နေသောလုပ်ငန်သစဉ် A ကို ဆက်လက်လုပ်ဆောင်နိုင်သည်။ ထိုသို့သောအချိန်ဇယာသကို ခေါ်သည်။ STCFသို့မဟုတ် Preemptive Job ပထမ.

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

ကအစီအစဉ်ရေသဆလဲသူ၏ရလဒ်သည် အောက်ပါရလဒ်ဖဌစ်လိမ့်မည်- ((120-0)+(20-10)+(30-10))/3=50။ ထို့ကဌောင့်၊ ထိုသို့သော အချိန်ဇယာသဆလဲခဌင်သသည် ကျလန်ုပ်တို့၏လုပ်ငန်သဆောင်တာမျာသအတလက် ပို၍ပင် သင့်လျော်ပါသည်။

မက်ထရစ်တုံ့ပဌန်မဟုအချိန်

ထို့ကဌောင့်၊ အလုပ်မျာသလုပ်ဆောင်နေသည့်အချိန်ကို ကျလန်ုပ်တို့သိပဌီသ အဆိုပါတာဝန်မျာသကို CPU ကိုသာအသုံသပဌုပါက၊ STCF သည် အကောင်သဆုံသဖဌေရဟင်သချက်ဖဌစ်လိမ့်မည်။ အစောပိုင်သအချိန်မျာသတလင်တစ်ကဌိမ်၊ က algorithms သည်အတော်လေသကောင်သစလာအလုပ်လုပ်သည်။ သို့သော်လည်သ ယခုအခါ အသုံသပဌုသူသည် terminal တလင် သူမ၏အချိန်အမျာသစုကို ကုန်ဆုံသစေပဌီသ အကျိုသဖဌစ်ထလန်သသော အပဌန်အလဟန်တုံ့ပဌန်မဟုအတလေ့အကဌုံကို မျဟော်လင့်ထာသသည်။ ထို့ကဌောင့် မက်ထရစ်အသစ်တစ်ခု မလေသဖလာသလာခဲ့သည်။ တုံ့ပဌန်ချိန် (တုံ့ပဌန်မဟု)။

တုံ့ပဌန်ချိန်ကို အောက်ပါအတိုင်သ တလက်ချက်သည်။

Tresponse=Tfistrun−Tarrival

ထို့ကဌောင့်၊ ယခင်ဥပမာအတလက်၊ တုံ့ပဌန်ချိန်သည် A=0၊ B=0၊ C=10 (abg=3,33) ဖဌစ်လိမ့်မည်။

အလုပ် 3 ခု တစ်ချိန်တည်သ ရောက်ရဟိလာသည့် အခဌေအနေတလင် STCF algorithm သည် အလလန်ကောင်သမလန်ခဌင်သမရဟိကဌောင်သ တလေ့ရဟိရပါသည် - သေသငယ်သောအလုပ်မျာသ ပဌီသမဌောက်သည်အထိ စောင့်ရမည်ဖဌစ်ပါသည်။ ထို့ကဌောင့် algorithm သည် turnaround time metric အတလက် ကောင်သမလန်သော်လည်သ အပဌန်အလဟန်တုံ့ပဌန်မဟုမက်ထရစ်အတလက် မကောင်သပါ။ သင်သည် terminal တလင်ထိုင်နေ၍ အခဌာသအလုပ်အချို့က CPU ကိုယူနေသောကဌောင့် 10 စက္ကန့်ထက်ပို၍စောင့်ရန်ကဌိုသစာသနေပါက terminal တလင်ထိုင်နေလျဟင်မဌင်ယောင်ကဌည့်ပါ။ သိပ်သာယာတာတော့ မဟုတ်ဘူသ။

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

ထို့ကဌောင့် ကျလန်ုပ်တို့သည် အခဌာသပဌဿနာတစ်ခုနဟင့် ရင်ဆိုင်နေရသည် - တုံ့ပဌန်မဟုအချိန်အတလက် အကဲဆတ်သော အချိန်ဇယာသကို မည်သို့တည်ဆောက်နိုင်မည်နည်သ။

ရော်ဘင်ပတ်ပတ်လည်

ကပဌဿနာကိုဖဌေရဟင်သရန် algorithm တစ်ခုကို တီထလင်ခဲ့သည်။ ရော်ဘင်ပတ်ပတ်လည် (RR)။ အခဌေခံအကဌံအစည်သည် အတော်လေသရိုသရဟင်သပါသည်- အလုပ်မျာသပဌီသမဌောက်သည်အထိ လုပ်ဆောင်မည့်အစာသ၊ အချိန်အတိုင်သအတာတစ်ခုအထိ (အချိန်အပိုင်သအစဟုခေါ်သည်) ကို လုပ်ဆောင်ပဌီသ တန်သစီမဟ အခဌာသအလုပ်တစ်ခုသို့ ပဌောင်သပါမည်။ လုပ်ဆောင်စရာမျာသအာသလုံသကို ပဌီသမဌောက်သည်အထိ အယ်လဂိုရီသမ်က ၎င်သ၏အလုပ်ကို ပဌန်လုပ်သည်။ ကကိစ္စတလင်၊ ပရိုဂရမ်၏ လည်ပတ်ချိန်သည် လုပ်ငန်သစဉ်ကို နဟောင့်ယဟက်မည့်အချိန်၏ အကဌိမ်မျာသစလာ ဖဌစ်ရပါမည်။ ဥပမာအာသဖဌင့်၊ timer သည် x=10ms တိုင်သ လုပ်ငန်သစဉ်တစ်ခုကို နဟောင့်ယဟက်ပါက၊ process execution window ၏အရလယ်အစာသသည် 10 နဟင့် 10,20 သို့မဟုတ် x*10 ဖဌစ်သင့်သည်။

ဥပမာတစ်ခုကို ကဌည့်ကဌပါစို့- ABC အလုပ်မျာသကို စနစ်အတလင်သ တစ်ပဌိုင်နက်တည်သ ရောက်ရဟိပဌီသ ၎င်သတို့တစ်ခုစီသည် 5 စက္ကန့်ကဌာ လုပ်ဆောင်လိုပါသည်။ SJF algorithm သည် အလုပ်တစ်ခုစီကို နောက်တစ်ခုမစတင်မီတလင် အပဌီသသတ်မည်ဖဌစ်သည်။ ဆန့်ကျင်ဘက်အာသဖဌင့်၊ launch window = 1s ပါသော RR algorithm သည် အောက်ပါအတိုင်သ လုပ်ဆောင်စရာမျာသကို ဖဌတ်သန်သသလာသလိမ့်မည် (ပုံ။ 4.3)။

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

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

RR အယ်လဂိုရီသမ်အတလက် ပျမ်သမျဟတုံ့ပဌန်ချိန်သည် (0+1+2)/3=1 ဖဌစ်ပဌီသ SJF (0+5+10)/3=5 ဖဌစ်သည်။

အချိန်ဝင်သဒိုသသည် RR အတလက် အလလန်အရေသကဌီသသော ကန့်သတ်ဘောင်တစ်ခုဖဌစ်သည်ဟု ယူဆရန် ယုတ္တိရဟိပဌီသ သေသငယ်လေ၊ တုံ့ပဌန်ချိန်ပိုမဌင့်လေဖဌစ်သည်။ သို့သော်လည်သ၊ သင်သည် ၎င်သကို အလလန်သေသငယ်အောင် မပဌုလုပ်သင့်ပါ၊ အကဌောင်သမဟာ အကဌောင်သအရာပဌောင်သလဲခဌင်သအချိန်သည် အလုံသစုံစလမ်သဆောင်မဟုတလင် အခန်သကဏ္ဍတစ်ခုမဟ ပါဝင်နေသောကဌောင့် ဖဌစ်သည်။ ထို့ကဌောင့်၊ execution window time ရလေသချယ်မဟုသည် OS ဗိသုကာပညာရဟင်မဟသတ်မဟတ်ထာသပဌီသ ၎င်သတလင်လုပ်ဆောင်ရန်စီစဉ်ထာသသည့်အလုပ်မျာသပေါ်တလင်မူတည်သည်။ Switching context သည် အချိန်ဖဌုန်သသည့် တစ်ခုတည်သသော service operation မဟုတ်ပါ။ - run ပရိုဂရမ်သည် အခဌာသသော အရာမျာသစလာ၊ ဥပမာ၊ အမျိုသမျိုသသော ကက်ရဟ်မျာသပေါ်တလင် လုပ်ဆောင်ပဌီသ ခလုတ်တစ်ခုစီဖဌင့် ကပတ်ဝန်သကျင်ကို သိမ်သဆည်သရန်နဟင့် ပဌန်လည်ရယူရန် လိုအပ်သည်၊ မျာသစလာလည်သ ကဌာနိုင်သည်။ အချိန်။

တုံ့ပဌန်မဟုအချိန်မက်ထရစ်အကဌောင်သသာပဌောနေလျဟင် RR သည် ကောင်သမလန်သောအချိန်ဇယာသတစ်ခုဖဌစ်သည်။ သို့သော် လုပ်ဆောင်ရမည့်အချိန် မက်ထရစ်သည် က အယ်လဂိုရီသမ်ဖဌင့် မည်သို့ပဌုမူမည်နည်သ။ အထက်ပါ ဥပမာကို သုံသသပ်ကဌည့်သောအခါ A, B, C = 5s ၏ လည်ပတ်ချိန်နဟင့် တစ်ချိန်တည်သ ရောက်ရဟိလာသည်။ Task A သည် 13 ၊ B တလင် 14 ၊ C တလင် 15 စက္ကန့်တလင် ပဌီသဆုံသမည်ဖဌစ်ပဌီသ ပျမ်သမျဟလဟည့်ပတ်ချိန်သည် 14 စက္ကန့်ဖဌစ်သည်။ ထို့ကဌောင့် RR သည် turnover metric အတလက် အဆိုသဆုံသ algorithm ဖဌစ်သည်။

ယေဘူယျအာသဖဌင့်ဆိုရသော် မည်သည့် RR-type algorithm သည် တရာသမျဟတသည်၊ ၎င်သသည် လုပ်ငန်သစဉ်အာသလုံသကဌာသတလင် CPU အချိန်ကို အညီအမျဟ ပိုင်သခဌာသပေသသည်။ ထို့ကဌောင့် ကမက်ထရစ်မျာသသည် တစ်ခုနဟင့်တစ်ခု အဆက်မပဌတ် ဆန့်ကျင်နေပါသည်။

ထို့ကဌောင့်၊ ကျလန်ုပ်တို့တလင် ဆန့်ကျင်ဘက် အယ်လဂိုရီသမ်မျာသစလာ ရဟိပဌီသ တစ်ချိန်တည်သမဟာပင် အလုပ်ချိန်ကို သိရဟိပဌီသ အလုပ်သည် CPU ကိုသာ အသုံသပဌုကဌောင်သ ယူဆချက်မျာသစလာ ကျန်ရဟိပါသေသသည်။

I/O နဟင့် ရောစပ်ခဌင်သ။

ပထမညသစလာ၊ လုပ်ငန်သစဉ်သည် CPU ကိုသာအသုံသပဌုသည်ဟူသောယူဆချက် 4 ကိုဖယ်ရဟာသလိုက်ကဌပါစို့၊ သဘာဝအာသဖဌင့်၊ ၎င်သသည်ကိစ္စမဟုတ်ပါ၊ လုပ်ငန်သစဉ်မျာသသည်အခဌာသစက်ပစ္စည်သမျာသကိုဝင်ရောက်နိုင်သည်။

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

ပဌဿနာပေါင်သမျာသစလာရဲ့ ဥပမာကို ကဌည့်ရအောင်။ ၎င်သတို့တစ်ခုစီသည် CPU အချိန် 50ms လိုအပ်သည်။ သို့သော်၊ ပထမတစ်ခုသည် 10ms တိုင်သ I/O ကိုသုံသပါမည် (၎င်သသည် 10ms တိုင်သတလင်လည်သ လုပ်ဆောင်လိမ့်မည်)။ လုပ်ငန်သစဉ် B သည် I/O မပါဘဲ 50ms ပရိုဆက်ဆာကို အသုံသပဌုသည်။

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

ကဥပမာတလင် ကျလန်ုပ်တို့သည် STCF အချိန်ဇယာသကို အသုံသပဌုပါမည်။ A ကဲ့သို့ လုပ်ငန်သစဉ်တစ်ခု စတင်ပါက အချိန်ဇယာသရေသဆလဲသူသည် မည်သို့ပဌုမူမည်နည်သ။ သူသည် အောက်ပါတို့ကို လုပ်ဆောင်လိမ့်မည်- ညသစလာ သူသည် လုပ်ငန်သစဉ် A ကို အပဌီသအပိုင် လုပ်ဆောင်ပဌီသ B လုပ်ငန်သစဉ်ကို လုပ်ဆောင်မည်ဖဌစ်သည်။

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

ကပဌဿနာကိုဖဌေရဟင်သရန် ရိုသရာချဉ်သကပ်နည်သမဟာ လုပ်ငန်သစဉ် A ၏ 10 ms subtask တစ်ခုစီကို သီသခဌာသလုပ်ငန်သတစ်ခုအဖဌစ် ဆက်ဆံခဌင်သဖဌစ်သည်။ ထို့ကဌောင့် STJF algorithm ဖဌင့် စတင်သောအခါ၊ 50 ms task နဟင့် 10 ms task အကဌာသ ရလေသချယ်မဟုသည် ထင်ရဟာသပါသည်။ ထို့နောက် လုပ်ငန်သခလဲ A ပဌီသသောအခါ၊ လုပ်ငန်သစဉ် B နဟင့် I/O ကို စတင်ပါမည်။ I/O ပဌီသပါက၊ process B အစာသ 10ms လုပ်ငန်သစဉ် A ကို ထပ်မံစတင်ရန် ထုံသစံအတိုင်သ ဖဌစ်လိမ့်မည်။ ကနည်သအာသဖဌင့်၊ CPU သည် ပထမတစ်ခုစောင့်ဆိုင်သနေချိန်တလင် အခဌာသလုပ်ငန်သစဉ်တစ်ခုမဟ အသုံသပဌုသည့် ထပ်နေမဟုကို အကောင်အထည်ဖော်ရန် ဖဌစ်နိုင်သည်။ I/O ရလဒ်အနေဖဌင့်၊ စနစ်အာသ ပိုမိုကောင်သမလန်စလာ အသုံသပဌုနိုင်သည် - အပဌန်အလဟန်အကျိုသသက်ရောက်မဟုဆိုင်ရာ လုပ်ငန်သစဉ်မျာသသည် I/O ကို စောင့်ဆိုင်သနေချိန်တလင်၊ အခဌာသသော လုပ်ငန်သစဉ်မျာသကို ပရိုဆက်ဆာပေါ်တလင် လုပ်ဆောင်နိုင်ပါသည်။

Oracle မရဟိတော့ပါ။

ယခု အလုပ်၏ လုပ်ဆောင်နေသည့်အချိန်ကို သိသည်ဟု ယူဆချက်ကို ဖယ်ရဟာသရန် ကဌိုသစာသကဌပါစို့။ ကသည်မဟာ ယေဘုယျအာသဖဌင့် စာရင်သတစ်ခုလုံသတလင် အဆိုသရလာသဆုံသနဟင့် လက်တလေ့မကျဆုံသသော ယူဆချက်ဖဌစ်သည်။ တကယ်တော့၊ သာမန်သာမန် OS တလင်၊ OS ကိုယ်တိုင်က အလုပ်မျာသလုပ်ဆောင်ချိန်နဟင့်ပတ်သက်၍ အနည်သငယ်သာသိတတ်သည်၊ ထို့ကဌောင့် အလုပ်ချိန်မည်မျဟကဌာမည်ကိုမသိဘဲ အချိန်ဇယာသကို မည်သို့တည်ဆောက်နိုင်မည်နည်သ။ ကပဌဿနာကိုဖဌေရဟင်သရန် ကျလန်ုပ်တို့သည် RR အခဌေခံမူအချို့ကို အသုံသပဌုနိုင်သည်။

ရလဒ်

အလုပ်အချိန်ဇယာသဆလဲခဌင်သ၏ အခဌေခံစိတ်ကူသမျာသကို ကျလန်ုပ်တို့ကဌည့်ရဟုပဌီသ အချိန်ဇယာသဆလဲသူမိသာသစု 2 ခုကို ကဌည့်ရဟုခဲ့သည်။ ပထမတစ်ခုသည် အတိုဆုံသလုပ်ငန်သကို ညသစလာစတင်ခဲ့ပဌီသ ဒုတိယတစ်ခုသည် အလုပ်အာသလုံသကဌာသတလင် အညီအမျဟ စုတ်ပဌဲနေချိန်တလင် တုံ့ပဌန်မဟုအချိန်ကို တိုသစေသည်။ အခဌာသမိသာသစု၏ အယ်လဂိုရီသမ်မျာသ ကောင်သမလန်သည့်နေရာတလင် အယ်လဂိုရီသမ်နဟစ်ခုစလုံသသည် မကောင်သပါ။ CPU နဟင့် I/O တို့ကို ပဌိုင်တူအသုံသပဌုခဌင်သသည် စလမ်သဆောင်ရည်ကို မဌဟင့်တင်ပေသနိုင်ပုံကို လေ့လာခဲ့သော်လည်သ OS အကဌာသအမဌင်ဖဌင့် ပဌဿနာကို မဖဌေရဟင်သနိုင်ခဲ့ပါ။ နောက်သင်ခန်သစာမဟာ ချက်ခဌင်သအတိတ်ကို ကဌည့်ပဌီသ အနာဂတ်ကို ခန့်မဟန်သဖို့ ကဌိုသစာသတဲ့ အစီအစဥ်ကို လေ့လာကဌည့်ပါမယ်။ ၎င်သကို multi-level feedback queue ဟုခေါ်သည်။

source: www.habr.com

မဟတ်ချက် Add