சி புரோகிராமிங்கில் சுற்று ராபின் திட்டமிடல்



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

இந்த கட்டுரையில், ரவுண்ட்-ராபின் திட்டமிடல் அல்காரிதம் எனப்படும் திட்டமிடல் வழிமுறை பற்றி அறிந்து கொள்வோம், ரவுண்ட் ராபின் என்றால் என்ன? ஒரு நிரலை எழுதுவது எப்படி? முதலியன ஆரம்பிக்கலாம்.

ரவுண்ட் ராபின் திட்டமிடல் என்றால் என்ன?

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





சுற்று ராபின் திட்டமிடல்

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



ரவுண்ட் ராபின் திட்டமிடல் அல்கோரிதம்

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

எடுத்துக்காட்டு குறியீட்டைக் கவனியுங்கள்

# int int () {int i, limit, total = 0, x, counter = 0, time_quantum int wait_time = 0, turnaround_time = 0, வருகை_நேரம் [10], வெடிப்பு_நேரம் [10], தற்காலிக [10] மிதவை சராசரி_ காத்திருப்பு_நேரம், சராசரி_நேர_நேரம் printf ('n மொத்த செயல்முறைகளின் எண்ணிக்கையை உள்ளிடுக: t') scanf ('% d', & limit) x = limit (i = 0 i0) {temp [i] = temp [i] - time_quantum total = total + time_quantum} if (temp [i] == 0 && counter == 1) {x-- printf ('nProcess [% d] tt% dtt % dttt% d ', i + 1, burst_time [i], மொத்தம் - வருகை_நேரம் [i], மொத்தம் - வருகை_நேரம் [i] - வெடிப்பு_நேரம் [i]) காத்திருப்பு_நேரம் = காத்திருப்பு_நேரம் + மொத்தம் - வருகை_நேரம் [i] - வெடிப்பு_நேரம் [i] திருப்புமுனை_நேரம் = turnaround_time + total - வருகை_நேரம் [i] எதிர் = 0} if (i == limit - 1) {i = 0} else if (வருகை_நேரம் [i + 1]<= total) { i++ } else { i = 0 } } average_wait_time = wait_time * 1.0 / limit average_turnaround_time = turnaround_time * 1.0 / limit printf('nnAverage Waiting Time:t%f', average_wait_time) printf('nAvg Turnaround Time:t%fn', average_turnaround_time) return 0 }

வெளியீடு:

விளக்கம்:

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

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

வருகை நேரத்தைக் கழிப்பதன் மூலமும், மொத்தத்திலிருந்து வெடிக்கும் நேரத்தையும், காத்திருப்பு நேரத்தை t0 சேர்ப்பதன் மூலமும் காத்திருக்கும் நேரம் கணக்கிடப்படுகிறது. ரவுண்ட் ராபின் திட்டமிடல் இப்படித்தான் நடைபெறுகிறது.



முன்னேற்றங்கள்:

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

குறைபாடுகள்:

  • அடிக்கடி மாறுவதால் குவாண்டம் மதிப்பு குறைவாக இருந்தால் அமைப்பின் செயல்திறன் குறைகிறது.
  • குவாண்டம் மதிப்பு அதிகமாக இருந்தால் கணினி பதிலளிக்காது.

இதன் மூலம், இந்த கட்டுரையின் முடிவுக்கு வருகிறோம்.

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

ஒரு தொகுப்பை உருவாக்குவது எப்படி

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