কুলুঙ্গিটি -20 থেকে 19 পর্যন্ত কেন?


22

niceকমান্ডের সাহায্যে আপনি প্রোগ্রামের সিডিউলিং অগ্রাধিকার ( "niceness") পরিবর্তন করতে পারবেন। সমস্ত ইউনিক্সের মতো সিস্টেমগুলিতে আমি ব্যবহার করেছি, কমনীয়তাটি একটি পূর্ণসংখ্যার ব্যাপ্তির দ্বারা নির্দিষ্ট করা হয়, যেখানে -20 সর্বাধিক অনুকূল সময়সূচী অগ্রাধিকার হয়, 0 ডিফল্ট হয় এবং 19 সর্বনিম্ন অনুকূল হয়।

ডিফল্ট পরিচয় হিসাবে 0 থাকা যথেষ্ট স্বজ্ঞাত, তবে কেন -20 এবং 19 ব্যাপ্তির শেষ বিন্দু হিসাবে নির্বাচিত হয়েছিল? কেন -128 এবং 127 নয়, যা একটি স্বাক্ষরিত 8-বিট বাইটে ঠিক ফিট করবে? বা -100 থেকে 100 নয় কেন, যা দশমিক-মনের মানুষগুলির পক্ষে আরও স্বজ্ঞাত, বা একইভাবে তবে কিছুটা আড়ম্বরপূর্ণভাবে, -99 থেকে 99? -20 থেকে 19 পরিসীমা নির্বিচারে বাছাই করা হয়েছিল, বা niceপূর্বসূচীটির সাথে ইন্টারফেস করা শিডিয়ুলারের অভ্যন্তরের সাথে এর কিছু সম্পর্ক রয়েছে? (আমি বুঝতে পারি যে আজকের মতো কোনও সম্পর্ক নেই, কমপক্ষে লিনাক্সের জন্য, যার সময়সূচী 0 থেকে 139 সীমাতে অগ্রাধিকার ব্যবহার করে However তবে আমি -২০ থেকে ১৯ রেঞ্জের historicalতিহাসিক কারণে আগ্রহী))


4
সেই নির্দিষ্ট ব্যাপ্তিটি কেন বেছে নেওয়া হয়েছে তা ব্যাখ্যা করে আমি কোনও রেফারেন্স খুঁজে পাই না, তবে নোট করুন যে ভি 7-তে অগ্রাধিকারটি স্বাক্ষরিত বাইটের সাথে খাপ খায় - প্রোচ.কি. দেখুন - এবং সেটগ্রি ফাংশনটিতে অগ্রাধিকার সেট করা হয়েছে min(127, (recent CPU usage on a scale of 0 to 15) + 50 + pp->p_nice - 20), এবং অগ্রাধিকার <25 এর জন্য সংরক্ষিত ছিল নিরবচ্ছিন্ন জিনিসগুলি করার প্রক্রিয়াগুলি। তাই বিশেষত্বটি সীমিত পরিসরের মতো হতে হয়েছিল be
মার্ক প্লটনিক

উত্তর:


7

অভ্যন্তরীণ niceness মাত্রা 0-39, কিন্তু বাড়তি ইতিবাচক বা নেতিবাচক হয়। উত্স । সুতরাং উত্তরটি হ'ল niceকমান্ড দ্বারা স্বীকৃত সংখ্যাগুলি (ধনাত্মক এবং নেতিবাচক) হ'ল আপনাকে 20, ডিফল্ট স্তর থেকে 0-39 রেঞ্জের যে কোনও জায়গায় পেতে দেয়।

তাহলে কেন 0-39? ডিজাইনারদের মূল বাস্তবায়নে সুনির্দিষ্ট পরিসীমা ছিল। আরও ইতিবাচক মানগুলি আরও ভাল হওয়ার কারণটি হ'ল অগ্রাধিকার নির্ধারণের ক্ষেত্রে প্রক্রিয়াটির সাম্প্রতিক সিপিইউ ব্যবহারের সাথে চমৎকার স্তরটি যুক্ত করা হয়। আনুমানিক রাউন্ড-রবিন শিডিয়ুলিং সরবরাহ করতে, কার্নেল প্রতিটি প্রসেসটি সম্প্রতি কতটা সিপিইউ বার্ন করেছে এবং ততটা প্রসেস প্রসেসে স্যুইচ করে তা ট্র্যাক করে। সুন্দর স্তরটি যত বেশি হবে, প্রক্রিয়াটি যতটা সিপিইউর মতো সময় মতো দেখায় তত বেশি সময়সূচী সেই প্রক্রিয়াটিকে ঘুমাতে বা ঘুমিয়ে রাখবে। ইউএনআইএক্স অপারেটিং সিস্টেমের ডিজাইন দেখুন মরিস জে ব্যাচ, প্রিন্টাইস-হল 1986, সেকেন্ড দ্বারা। 8.1 (বিশেষভাবে বিশেষত্বের জন্য 8.1.4)। আইএসবিএন 0-13-201799-7।


1
আপনি ভুল করে ধরেছেন যে সময়সূচী যদি খুব ভাল মান থাকে তবে তা ঘুমানোর জন্য একটি প্রক্রিয়া রাখবে। পরিবর্তে, যদি চালানোর জন্য প্রস্তুত অন্যান্য প্রক্রিয়াগুলি থাকে এবং এই প্রক্রিয়াগুলির একটি ভাল সুন্দর স্তর থাকে তবে সময়সূচী একটি ঘুমন্ত প্রক্রিয়া জাগাবে না। নোট করুন যে কোনও প্রক্রিয়া ঘুমিয়ে পড়েছে, যখন এটি হয় একটি সিস্টেমে কল করে যা সংস্থাগুলির উপর ঘুম প্রয়োগ করে বা যখন কোনও প্রক্রিয়া ব্যবহৃত হয় তখন এটি সিপিইউ কোয়ান্টাম এবং সিপিইউয়ের জন্য অপেক্ষা করা আরও অনেক সুবিধাজনক প্রক্রিয়া রয়েছে।
schily

-4

তুমি ভুল করেছ: আপনি যদি ইউনিক্স যেখানে চমৎকার () ইন্টারফেস এখনও ইন্দ্রিয় তোলে থাকে, NZEROডিফল্ট চমৎকার মান এবং NZERO is 20

বিষয়টিকে আরও সুস্পষ্ট করার জন্য: আপনি আদেশটি সম্পর্কে জিজ্ঞাসা niceকরেছিলেন এবং একই সাথে নিরঙ্কুশ স্তরের উল্লেখ করেছিলেন, তবে দুর্দান্ত কমান্ডটি নিখুঁত মানগুলি পরিচালনা করে না বরং বর্তমান স্তরের তুলনায় তুলনামূলকভাবে বৃদ্ধি করে ments ডিফল্ট অবস্থার ক্ষেত্রে, চমৎকার স্তরটি NZERO20 হয়।

চমৎকার মানগুলি 0..2 * NZERO-1 বা 0..39

মনে রাখবেন যে ডিফল্ট ইউনিক্স সময়সূচী এখনও একটি ভাল মান দিয়ে দরকারী কিছু করতে সক্ষম হতে পারে, আপনি কোনও বিশেষায়িত শিডিয়ুলার ব্যবহার করছেন, যেমন রিয়েলটাইম শিডিয়ুলার ব্যবহার করার ক্ষেত্রে কোনও অর্থ নেই।


2
আপনি শেল ইন্টারফেস এবং সি ইন্টারফেসকে বিভ্রান্ত করছেন বলে মনে হচ্ছে। এই প্রশ্নটি niceশেল কমান্ড সম্পর্কে ।
গিলস 'খারাপ হয়ে যাওয়া বন্ধ করুন'

আচ্ছা, আপনি যারা জিনিসগুলিকে বিভ্রান্ত করেন nice চমৎকার কমান্ডটি কেবল ডেল্টাস সম্পর্কেই জানে তবে প্রশ্নটিতে দুর্দান্ত মান উল্লেখ করা হয়েছে। প্রশ্নটি ভাল মান সম্পর্কে ছিল এবং আমি এটি উত্তর দিয়েছি।
ধীরে ধীরে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.