இயக்க முறைமைகள்: மூன்று எளிதான துண்டுகள். பகுதி 4: திட்டமிடுபவர் அறிமுகம் (மொழிபெயர்ப்பு)

இயக்க முறைமைகளுக்கான அறிமுகம்

ஹே ஹப்ர்! எனது கருத்தில் ஒரு சுவாரஸ்யமான இலக்கியத்தின் தொடர்ச்சியான கட்டுரைகள்-மொழிபெயர்ப்புகளை உங்கள் கவனத்திற்குக் கொண்டு வர விரும்புகிறேன் - OSTEP. இந்த பொருள் யுனிக்ஸ் போன்ற இயக்க முறைமைகளின் வேலையை மிகவும் ஆழமாக விவாதிக்கிறது, அதாவது, செயல்முறைகள், பல்வேறு திட்டமிடுபவர்கள், நினைவகம் மற்றும் நவீன OS ஐ உருவாக்கும் பிற ஒத்த கூறுகளுடன் வேலை செய்கிறது. அனைத்து பொருட்களின் அசல் தன்மையையும் இங்கே காணலாம் இங்கே. மொழிபெயர்ப்பானது தொழில்சார்ந்த முறையில் (மிகவும் சுதந்திரமாக) செய்யப்பட்டது என்பதைக் கவனத்தில் கொள்ளவும், ஆனால் நான் பொதுவான அர்த்தத்தைத் தக்க வைத்துக் கொண்டேன் என்று நம்புகிறேன்.

இந்த விஷயத்தில் ஆய்வக வேலைகளை இங்கே காணலாம்:

மற்ற பாகங்கள்:

எனது சேனலையும் நீங்கள் பார்க்கலாம் தந்தி =)

திட்டமிடுபவருக்கு அறிமுகம்

சிக்கலின் சாராம்சம்: திட்டமிடல் கொள்கையை எவ்வாறு உருவாக்குவது
அடிப்படை திட்டமிடல் கொள்கை கட்டமைப்புகள் எவ்வாறு வடிவமைக்கப்பட வேண்டும்? முக்கிய அனுமானங்கள் என்னவாக இருக்க வேண்டும்? என்ன அளவீடுகள் முக்கியம்? ஆரம்பகால கணினி அமைப்புகளில் என்ன அடிப்படை நுட்பங்கள் பயன்படுத்தப்பட்டன?

பணிச்சுமை அனுமானங்கள்

சாத்தியமான கொள்கைகளைப் பற்றி விவாதிப்பதற்கு முன், முதலில் கணினியில் இயங்கும் செயல்முறைகளைப் பற்றி சில எளிமைப்படுத்தும் திசைகளை உருவாக்குவோம், அவை கூட்டாக அழைக்கப்படுகின்றன. பணிச்சுமை. பணிச்சுமையை வரையறுப்பது கொள்கைகளை உருவாக்குவதில் முக்கியமான பகுதியாகும், மேலும் பணிச்சுமையைப் பற்றி நீங்கள் எவ்வளவு அதிகமாக அறிந்திருக்கிறீர்களோ, அவ்வளவு சிறப்பாக நீங்கள் எழுத முடியும்.

கணினியில் இயங்கும் செயல்முறைகளைப் பற்றி பின்வரும் அனுமானங்களைச் செய்வோம், சில சமயங்களில் அழைக்கப்படுகிறது வேலைகள் (பணிகள்). ஏறக்குறைய இந்த அனுமானங்கள் அனைத்தும் யதார்த்தமானவை அல்ல, ஆனால் சிந்தனையின் வளர்ச்சிக்கு அவசியமானவை.

  1. ஒவ்வொரு பணியும் ஒரே நேரத்தில் இயங்கும்,
  2. அனைத்து பணிகளும் ஒரே நேரத்தில் அமைக்கப்பட்டுள்ளன,
  3. ஒதுக்கப்பட்ட பணி முடிவடையும் வரை வேலை செய்யும்,
  4. அனைத்து பணிகளும் CPU ஐ மட்டுமே பயன்படுத்துகின்றன,
  5. ஒவ்வொரு பணியின் இயங்கும் நேரம் அறியப்படுகிறது.

திட்டமிடல் அளவீடுகள்

சுமை பற்றிய சில அனுமானங்களுக்கு கூடுதலாக, வெவ்வேறு திட்டமிடல் கொள்கைகளை ஒப்பிடுவதற்கான மற்றொரு கருவி தேவைப்படுகிறது: திட்டமிடல் அளவீடுகள். மெட்ரிக் என்பது ஏதோ ஒரு அளவீடு மட்டுமே. திட்டமிடுபவர்களை ஒப்பிடுவதற்குப் பயன்படுத்தக்கூடிய பல அளவீடுகள் உள்ளன.

உதாரணமாக, நாம் ஒரு மெட்ரிக்கைப் பயன்படுத்துவோம் திரும்பும் நேரம் (திருப்பு நேரம்). பணியை முடிக்கும் நேரம் மற்றும் கணினியில் பணி வரும் நேரம் ஆகியவற்றுக்கு இடையேயான வித்தியாசம் என பணி திருப்ப நேரம் வரையறுக்கப்படுகிறது.

திருப்பம்=நிறைவு-திருப்பல்

அனைத்து பணிகளும் ஒரே நேரத்தில் வந்ததாக நாங்கள் கருதியதால், Ta=0 மற்றும் Tt=Tc. மேலே உள்ள அனுமானங்களை மாற்றும்போது இந்த மதிப்பு இயல்பாகவே மாறும்.

மற்றொரு மெட்ரிக் - நேர்மை (நியாயம், நேர்மை). உற்பத்தித்திறன் மற்றும் நேர்மை ஆகியவை திட்டமிடலில் பெரும்பாலும் எதிரெதிர் பண்புகளாகும். எடுத்துக்காட்டாக, திட்டமிடுபவர் செயல்திறனை மேம்படுத்தலாம், ஆனால் மற்ற பணிகள் இயங்குவதற்கு காத்திருக்கும் செலவில், இதனால் நியாயத்தன்மை குறைகிறது.

முதலில் முதல் வெளியே (FIFO)

நாம் செயல்படுத்தக்கூடிய மிக அடிப்படையான அல்காரிதம் FIFO அல்லது முதலில் வருபவர் (உள்ளே), முதலில் சேவை (வெளியே). இந்த அல்காரிதம் பல நன்மைகளைக் கொண்டுள்ளது: இது செயல்படுத்த மிகவும் எளிதானது மற்றும் இது எங்கள் எல்லா அனுமானங்களுக்கும் பொருந்துகிறது மற்றும் வேலையை நன்றாக செய்கிறது.

ஒரு எளிய உதாரணத்தைப் பார்ப்போம். 3 பணிகள் ஒரே நேரத்தில் அமைக்கப்பட்டன என்று வைத்துக்கொள்வோம். ஆனால் டாஸ்க் A மற்ற அனைத்தையும் விட சற்று முன்னதாக வந்துவிட்டது என்று வைத்துக் கொள்வோம், எனவே இது மற்றவற்றை விட முன்னதாகவே செயல்படுத்தும் பட்டியலில் தோன்றும், C உடன் ஒப்பிடும்போது B போல. அவை ஒவ்வொன்றும் 10 வினாடிகளுக்கு செயல்படுத்தப்படும் என்று வைத்துக் கொள்வோம். இந்தச் சூழலில் இந்தப் பணிகளை முடிக்க சராசரி நேரம் என்னவாக இருக்கும்?

இயக்க முறைமைகள்: மூன்று எளிதான துண்டுகள். பகுதி 4: திட்டமிடுபவர் அறிமுகம் (மொழிபெயர்ப்பு)

மதிப்புகளை எண்ணுவதன் மூலம் - 10+20+30 மற்றும் 3 ஆல் வகுத்தால், சராசரி நிரல் செயல்படுத்தும் நேரத்தை 20 வினாடிகளுக்கு சமமாகப் பெறுகிறோம்.

இப்போது நமது அனுமானங்களை மாற்ற முயற்சிப்போம். குறிப்பாக, அனுமானம் 1 எனவே ஒவ்வொரு பணியும் ஒரே அளவு நேரத்தைச் செயல்படுத்தும் என்று இனி நாம் கருத மாட்டோம். இந்த நேரத்தில் FIFO எவ்வாறு செயல்படும்?

அது மாறிவிடும், வெவ்வேறு பணி நிறைவேற்றும் நேரங்கள் FIFO அல்காரிதத்தின் உற்பத்தித்திறனில் மிகவும் எதிர்மறையான தாக்கத்தை ஏற்படுத்துகின்றன. A பணியை முடிக்க 100 வினாடிகள் ஆகும், B மற்றும் C இன்னும் 10 வினாடிகள் எடுக்கும் என்று வைத்துக்கொள்வோம்.

இயக்க முறைமைகள்: மூன்று எளிதான துண்டுகள். பகுதி 4: திட்டமிடுபவர் அறிமுகம் (மொழிபெயர்ப்பு)

படத்தில் இருந்து பார்க்க முடிந்தால், கணினியின் சராசரி நேரம் (100+110+120)/3=110 ஆக இருக்கும். இந்த விளைவு அழைக்கப்படுகிறது கான்வாய் விளைவு, ஒரு வளத்தின் சில குறுகிய கால நுகர்வோர் அதிக நுகர்வோருக்குப் பின் வரிசையில் நிற்கும் போது. முழு வண்டியுடன் ஒரு வாடிக்கையாளர் உங்கள் முன்னால் இருக்கும்போது மளிகைக் கடையில் உள்ள வரியைப் போன்றது. பணப் பதிவேட்டை மாற்ற முயற்சிப்பது அல்லது நிதானமாக ஆழ்ந்து சுவாசிப்பது பிரச்சனைக்கு சிறந்த தீர்வாகும்.

குறுகிய வேலை முதலில்

ஹெவிவெயிட் செயல்முறைகள் மூலம் இதேபோன்ற சூழ்நிலையை எப்படியாவது தீர்க்க முடியுமா? நிச்சயமாக. மற்றொரு வகை திட்டமிடல் என்று அழைக்கப்படுகிறதுகுறுகிய வேலை முதலில் (SJF). அதன் அல்காரிதம் மிகவும் பழமையானது - பெயர் குறிப்பிடுவது போல, குறுகிய பணிகள் முதலில் தொடங்கப்படும், ஒன்றன் பின் ஒன்றாக.

இயக்க முறைமைகள்: மூன்று எளிதான துண்டுகள். பகுதி 4: திட்டமிடுபவர் அறிமுகம் (மொழிபெயர்ப்பு)

இந்த எடுத்துக்காட்டில், அதே செயல்முறைகளை இயக்குவதன் விளைவாக சராசரி நிரல் திரும்பும் நேரத்தில் ஒரு முன்னேற்றமாக இருக்கும், மேலும் அது சமமாக இருக்கும் 50 க்கு பதிலாக 110, இது கிட்டத்தட்ட 2 மடங்கு சிறந்தது.

எனவே, அனைத்து பணிகளும் ஒரே நேரத்தில் வரும் என்று கொடுக்கப்பட்ட அனுமானத்திற்கு, SJF அல்காரிதம் மிகவும் உகந்த வழிமுறையாகத் தெரிகிறது. இருப்பினும், எங்கள் அனுமானங்கள் இன்னும் யதார்த்தமானதாகத் தெரியவில்லை. இந்த முறை நாம் அனுமானம் 2 ஐ மாற்றுகிறோம், மேலும் இந்த நேரத்தில் பணிகள் எந்த நேரத்திலும் இருக்கக்கூடும் என்று கற்பனை செய்து பார்க்கிறோம், எல்லாமே ஒரே நேரத்தில் அல்ல. இது என்ன பிரச்சனைகளுக்கு வழிவகுக்கும்?

இயக்க முறைமைகள்: மூன்று எளிதான துண்டுகள். பகுதி 4: திட்டமிடுபவர் அறிமுகம் (மொழிபெயர்ப்பு)

பணி A (100c) முதலில் வந்து செயல்படுத்தத் தொடங்குகிறது என்று கற்பனை செய்வோம். t=10 இல், பணிகள் B மற்றும் C வரும், ஒவ்வொன்றும் 10 வினாடிகள் எடுக்கும். எனவே சராசரி செயலாக்க நேரம் (100+(110-10)+(120-10))3 = 103. இதை மேம்படுத்த திட்டமிடுபவர் என்ன செய்யலாம்?

மிகக் குறுகிய நேரம் முதல் முடிக்க (STCF)

நிலைமையை மேம்படுத்துவதற்காக, நிரல் தொடங்கப்பட்டு முடியும் வரை இயங்கும் அனுமானம் 3 ஐ நாங்கள் தவிர்க்கிறோம். கூடுதலாக, எங்களுக்கு வன்பொருள் ஆதரவு தேவைப்படும், நீங்கள் யூகித்தபடி, நாங்கள் பயன்படுத்துவோம் டைமர் இயங்கும் பணியை குறுக்கிட மற்றும் சூழல் மாறுதல். இவ்வாறு, B, C பணிகள் வரும் நேரத்தில் திட்டமிடுபவர் ஏதாவது செய்ய முடியும் - பணி A ஐச் செயல்படுத்துவதை நிறுத்திவிட்டு, B மற்றும் C பணிகளைச் செயலாக்கத்தில் ஈடுபடுத்தி, அவை முடிந்த பிறகு, செயல்முறையைத் தொடரவும் A. அத்தகைய திட்டமிடல் அழைக்கப்படுகிறது. எஸ்.டி.சி.எஃப்அல்லது முன்கூட்டியே வேலை முதலில்.

இயக்க முறைமைகள்: மூன்று எளிதான துண்டுகள். பகுதி 4: திட்டமிடுபவர் அறிமுகம் (மொழிபெயர்ப்பு)

இந்த திட்டமிடலின் முடிவு பின்வரும் முடிவாக இருக்கும்: ((120-0)+(20-10)+(30-10))/3=50. எனவே, அத்தகைய திட்டமிடல் எங்கள் பணிகளுக்கு இன்னும் உகந்ததாகிறது.

மெட்ரிக் பதில் நேரம்

எனவே, பணிகளின் இயங்கும் நேரத்தையும், இந்த பணிகள் CPU மட்டுமே பயன்படுத்துகின்றன என்பதையும் அறிந்தால், STCF சிறந்த தீர்வாக இருக்கும். ஆரம்ப காலங்களில், இந்த வழிமுறைகள் நன்றாக வேலை செய்தன. இருப்பினும், பயனர் இப்போது தனது பெரும்பாலான நேரத்தை முனையத்தில் செலவிடுகிறார் மற்றும் ஒரு பயனுள்ள ஊடாடும் அனுபவத்தை எதிர்பார்க்கிறார். எனவே ஒரு புதிய மெட்ரிக் பிறந்தது - பதில் நேரம் (பதில்).

பதில் நேரம் பின்வருமாறு கணக்கிடப்படுகிறது:

Tresponse=Tfirstrun−Tarrival

எனவே, முந்தைய உதாரணத்திற்கு, மறுமொழி நேரம்: A=0, B=0, C=10 (abg=3,33).

ஒரே நேரத்தில் 3 பணிகள் வரும் சூழ்நிலையில் STCF அல்காரிதம் அவ்வளவு சிறப்பாக இல்லை என்று மாறிவிடும் - சிறிய பணிகள் முழுமையாக முடிவடையும் வரை காத்திருக்க வேண்டும். எனவே டர்ன்அரவுண்ட் டைம் மெட்ரிக்கிற்கு அல்காரிதம் நல்லது, ஆனால் ஊடாடும் மெட்ரிக் மோசமாக உள்ளது. நீங்கள் ஒரு முனையத்தில் அமர்ந்து எடிட்டரில் எழுத்துக்களைத் தட்டச்சு செய்ய முயற்சித்து, 10 வினாடிகளுக்கு மேல் காத்திருக்க வேண்டும், ஏனெனில் வேறு சில பணி CPU-ஐ எடுத்துக் கொண்டிருந்தால் கற்பனை செய்து பாருங்கள். இது மிகவும் இனிமையானது அல்ல.

இயக்க முறைமைகள்: மூன்று எளிதான துண்டுகள். பகுதி 4: திட்டமிடுபவர் அறிமுகம் (மொழிபெயர்ப்பு)

எனவே நாம் மற்றொரு சிக்கலை எதிர்கொள்கிறோம் - பதிலளிக்கும் நேரத்திற்கு உணர்திறன் கொண்ட ஒரு திட்டமிடலை எவ்வாறு உருவாக்குவது?

சுற்று ராபின்

இந்த சிக்கலை தீர்க்க ஒரு அல்காரிதம் உருவாக்கப்பட்டது சுற்று ராபின் (ஆர்ஆர்). அடிப்படை யோசனை மிகவும் எளிமையானது: பணிகள் முடிவடையும் வரை இயங்குவதற்குப் பதிலாக, ஒரு குறிப்பிட்ட காலத்திற்கு பணியை இயக்குவோம் (டைம் ஸ்லைஸ் என்று அழைக்கப்படுகிறது) பின்னர் வரிசையில் இருந்து மற்றொரு பணிக்கு மாறுவோம். அனைத்து பணிகளும் முடியும் வரை அல்காரிதம் அதன் வேலையை மீண்டும் செய்கிறது. இந்த வழக்கில், நிரலின் இயங்கும் நேரம், டைமர் செயல்முறைக்கு இடையூறு விளைவிக்கும் நேரத்தின் பல மடங்கு அதிகமாக இருக்க வேண்டும். எடுத்துக்காட்டாக, ஒவ்வொரு x=10msக்கும் ஒரு டைமர் ஒரு செயல்முறையை குறுக்கிடினால், செயல்முறை செயலாக்க சாளரத்தின் அளவு 10 இன் பெருக்கமாகவும் 10,20 அல்லது x*10 ஆகவும் இருக்க வேண்டும்.

ஒரு எடுத்துக்காட்டைப் பார்ப்போம்: ஏபிசி பணிகள் ஒரே நேரத்தில் கணினியில் வருகின்றன, அவை ஒவ்வொன்றும் 5 வினாடிகள் இயங்க விரும்புகின்றன. SJF அல்காரிதம் ஒவ்வொரு பணியையும் மற்றொன்றைத் தொடங்குவதற்கு முன் முடிக்கும். இதற்கு நேர்மாறாக, வெளியீட்டு சாளரம் = 1s உடன் RR அல்காரிதம் பின்வரும் பணிகளைச் செய்யும் (படம் 4.3):

இயக்க முறைமைகள்: மூன்று எளிதான துண்டுகள். பகுதி 4: திட்டமிடுபவர் அறிமுகம் (மொழிபெயர்ப்பு)
(SJF மீண்டும் (பதிலளிக்கும் நேரத்திற்கு மோசமானது)

இயக்க முறைமைகள்: மூன்று எளிதான துண்டுகள். பகுதி 4: திட்டமிடுபவர் அறிமுகம் (மொழிபெயர்ப்பு)
(ரவுண்ட் ராபின் (பதில் நேரத்திற்கு ஏற்றது)

RR அல்காரிதத்திற்கான சராசரி மறுமொழி நேரம் (0+1+2)/3=1, SJF (0+5+10)/3=5.

RR க்கு நேர சாளரம் மிக முக்கியமான அளவுரு என்று கருதுவது தர்க்கரீதியானது; அது சிறியதாக இருந்தால், பதில் நேரம் அதிகமாகும். இருப்பினும், நீங்கள் அதை மிகவும் சிறியதாக மாற்றக்கூடாது, ஏனெனில் சூழல் மாறுதல் நேரமும் ஒட்டுமொத்த செயல்திறனில் பங்கு வகிக்கும். எனவே, செயல்படுத்தும் சாளர நேரத்தின் தேர்வு OS கட்டிடக் கலைஞரால் அமைக்கப்படுகிறது மற்றும் அதில் செயல்படுத்த திட்டமிடப்பட்ட பணிகளைப் பொறுத்தது. சூழலை மாற்றுவது நேரத்தை வீணடிக்கும் ஒரே சேவை செயல்பாடு அல்ல - இயங்கும் நிரல் பல விஷயங்களில் இயங்குகிறது, எடுத்துக்காட்டாக, பல்வேறு தற்காலிக சேமிப்புகள், மேலும் ஒவ்வொரு சுவிட்சிலும் இந்த சூழலைச் சேமித்து மீட்டமைக்க வேண்டியது அவசியம், இது நிறைய நேரம் எடுக்கும் நேரம்.

பதிலளிப்பு நேர அளவீட்டைப் பற்றி மட்டுமே பேசினால் RR ஒரு சிறந்த திட்டமிடல். ஆனால் இந்த அல்காரிதத்துடன் பணி டர்ன்அரவுண்ட் டைம் மெட்ரிக் எவ்வாறு செயல்படும்? மேலே உள்ள உதாரணத்தைக் கவனியுங்கள், A, B, C = 5s இன் இயக்க நேரம் மற்றும் அதே நேரத்தில் வரும் போது. பணி A 13, B 14, C 15 வினாடிகளில் முடிவடையும் மற்றும் சராசரியாக திரும்பும் நேரம் 14 வினாடிகளாக இருக்கும். எனவே, விற்றுமுதல் அளவீட்டிற்கான மோசமான வழிமுறை RR ஆகும்.

மிகவும் பொதுவான வகையில், எந்த RR-வகை அல்காரிதம் நியாயமானது; இது CPU நேரத்தை அனைத்து செயல்முறைகளுக்கும் இடையில் சமமாகப் பிரிக்கிறது. இதனால், இந்த அளவீடுகள் தொடர்ந்து ஒன்றுக்கொன்று முரண்படுகின்றன.

எனவே, எங்களிடம் பல மாறுபட்ட அல்காரிதம்கள் உள்ளன, அதே நேரத்தில் இன்னும் பல அனுமானங்கள் உள்ளன - பணி நேரம் அறியப்படுகிறது மற்றும் பணி CPU ஐ மட்டுமே பயன்படுத்துகிறது.

I/O உடன் கலத்தல்

முதலில், செயல்முறை CPU ஐ மட்டுமே பயன்படுத்துகிறது என்ற அனுமானம் 4 ஐ அகற்றுவோம்; இயற்கையாகவே, இது அவ்வாறு இல்லை மற்றும் செயல்முறைகள் மற்ற உபகரணங்களை அணுக முடியும்.

எந்தவொரு செயல்முறையும் I/O செயல்பாட்டைக் கோரும் தருணத்தில், செயல்முறை தடுக்கப்பட்ட நிலையில் நுழைகிறது, I/O முடிவடையும் வரை காத்திருக்கிறது. I/O வன்வட்டுக்கு அனுப்பப்பட்டால், அத்தகைய செயல்பாடு பல ms அல்லது அதற்கு மேல் ஆகலாம், மேலும் செயலி இந்த நேரத்தில் செயலற்ற நிலையில் இருக்கும். இந்த நேரத்தில், திட்டமிடுபவர் வேறு எந்த செயல்முறையிலும் செயலியை ஆக்கிரமிக்க முடியும். செயல்முறை அதன் I/O எப்போது முடிவடையும் என்பது திட்டமிடுபவர் எடுக்க வேண்டிய அடுத்த முடிவு. இது நிகழும்போது, ​​ஒரு குறுக்கீடு ஏற்படும் மற்றும் OS ஆனது I/O எனப்படும் செயல்முறையை தயார் நிலையில் வைக்கும்.

பல சிக்கல்களின் உதாரணத்தைப் பார்ப்போம். அவை ஒவ்வொன்றிற்கும் 50ms CPU நேரம் தேவைப்படுகிறது. இருப்பினும், முதலாவது I/O ஐ ஒவ்வொரு 10msக்கும் அணுகும் (இது ஒவ்வொரு 10msக்கும் செயல்படுத்தப்படும்). செயல்முறை B ஐ/ஓ இல்லாமல் 50எம்எஸ் செயலியைப் பயன்படுத்துகிறது.

இயக்க முறைமைகள்: மூன்று எளிதான துண்டுகள். பகுதி 4: திட்டமிடுபவர் அறிமுகம் (மொழிபெயர்ப்பு)

இந்த எடுத்துக்காட்டில் நாம் STCF திட்டமிடலைப் பயன்படுத்துவோம். A போன்ற செயல்முறை தொடங்கப்பட்டால், திட்டமிடுபவர் எவ்வாறு நடந்துகொள்வார்? அவர் பின்வருவனவற்றைச் செய்வார்: முதலில் அவர் A செயல்முறையை முழுமையாகச் செய்வார், பின்னர் B ஐச் செயலாக்குவார்.

இயக்க முறைமைகள்: மூன்று எளிதான துண்டுகள். பகுதி 4: திட்டமிடுபவர் அறிமுகம் (மொழிபெயர்ப்பு)

இந்தச் சிக்கலைத் தீர்ப்பதற்கான பாரம்பரிய அணுகுமுறை, செயல்முறை A இன் ஒவ்வொரு 10 எம்எஸ் துணைப் பணியையும் தனித்தனி பணியாகக் கருதுவதாகும். எனவே, STJF அல்காரிதத்துடன் தொடங்கும் போது, ​​50 ms பணிக்கும் 10 ms பணிக்கும் இடையே உள்ள தேர்வு வெளிப்படையானது. துணைப் பணி A முடிந்ததும், செயல்முறை B மற்றும் I/O தொடங்கப்படும். I/O முடிந்ததும், செயல்முறை B க்கு பதிலாக 10ms செயல்முறை A ஐ மீண்டும் தொடங்குவது வழக்கமாக இருக்கும். இந்த வழியில், ஒன்றுடன் ஒன்று செயல்படுத்துவது சாத்தியமாகும், அங்கு CPU மற்றொரு செயல்முறையால் பயன்படுத்தப்படும் முதல் செயலுக்காக காத்திருக்கிறது I/O. இதன் விளைவாக, கணினி சிறப்பாகப் பயன்படுத்தப்படுகிறது - ஊடாடும் செயல்முறைகள் I/O க்காக காத்திருக்கும் தருணத்தில், செயலியில் பிற செயல்முறைகளை இயக்க முடியும்.

ஆரக்கிள் இப்போது இல்லை

இப்போது பணியின் இயங்கும் நேரம் தெரியும் என்ற அனுமானத்திலிருந்து விடுபட முயற்சிப்போம். இது பொதுவாக முழு பட்டியலிலும் மிக மோசமான மற்றும் மிகவும் நம்பத்தகாத அனுமானமாகும். உண்மையில், சராசரியான சாதாரண OS இல், OS க்கே பொதுவாக பணிகளைச் செயல்படுத்தும் நேரத்தைப் பற்றி மிகக் குறைவாகவே தெரியும், எனவே பணியைச் செயல்படுத்த எவ்வளவு நேரம் ஆகும் என்று தெரியாமல் திட்டமிடலை எவ்வாறு உருவாக்குவது? இந்த சிக்கலை தீர்க்க சில RR கொள்கைகளை நாம் பயன்படுத்தலாமா?

இதன் விளைவாக

பணி திட்டமிடலின் அடிப்படை யோசனைகளைப் பார்த்தோம் மற்றும் திட்டமிடுபவர்களின் 2 குடும்பங்களைப் பார்த்தோம். முதலாவது குறுகிய பணியை முதலில் தொடங்குகிறது, இதனால் திருப்புதல் நேரத்தை அதிகரிக்கிறது, இரண்டாவது அனைத்து பணிகளுக்கும் இடையில் சமமாக கிழிந்து, மறுமொழி நேரத்தை அதிகரிக்கிறது. மற்ற குடும்பத்தின் அல்காரிதம்கள் நன்றாக இருக்கும் இடத்தில் இரண்டு அல்காரிதம்களும் மோசமானவை. CPU மற்றும் I/O இன் இணையான பயன்பாடு எவ்வாறு செயல்திறனை மேம்படுத்த முடியும் என்பதையும் நாங்கள் பார்த்தோம், ஆனால் OS தெளிவுத்திறன் சிக்கலை தீர்க்கவில்லை. அடுத்த பாடத்தில், உடனடி கடந்த காலத்தைப் பார்த்து எதிர்காலத்தைக் கணிக்க முயற்சிக்கும் ஒரு திட்டமிடுபவரைப் பார்ப்போம். மேலும் இது பல நிலை பின்னூட்ட வரிசை என்று அழைக்கப்படுகிறது.

ஆதாரம்: www.habr.com

கருத்தைச் சேர்