রিয়েলটাইম প্রক্রিয়া চালানোর সর্বাধিক তাত্ক্ষণিক প্রতিক্রিয়াটি হ'ল প্রক্রিয়াটি সহজেই সিস্টেমে অন্য সমস্ত প্রক্রিয়া অনাহারে ফেলতে পারে। আপনার দৃষ্টিকোণ থেকে ফলাফলটি হ'ল কম্পিউটারটি কীবোর্ড, মাউস এবং সম্ভবত নেটওয়ার্কের প্রতি সম্পূর্ণ প্রতিক্রিয়াহীন, যতক্ষণ না রিয়েলটাইম প্রক্রিয়াটি সিপিইউ ব্যবহার করে। যদি কিছু ভুল হয়ে যায় এবং প্রক্রিয়াটি অসীম লুপে যায় বা সাময়িকভাবে ইনপুটটির জন্য অপেক্ষা না করে প্রক্রিয়াটি দীর্ঘমেয়াদি গণনা শুরু করে তবে এটি ঘটতে পারে। (সুতরাং, উদাহরণস্বরূপ, রিয়েলটাইম অগ্রাধিকার সহ SETI @ হোম চালাবেন না))
নিম্ন-অগ্রাধিকার প্রক্রিয়াটি ব্যবহার করতে পারে এমন অন্যান্য কোর রয়েছে বলে একটি বহু-কোর সিপিইউতে একা একা থ্রেডযুক্ত প্রক্রিয়াটি এই সমস্যার কারণ হতে পারে। তবে যদি এই প্রক্রিয়াটি কোনও শিশু প্রক্রিয়া তৈরি করে তবে তারা একই রিয়েলটাইম অগ্রাধিকারের উত্তরাধিকারী হবে, সুতরাং আপনি যদি সতর্ক না হন তবে জিনিসগুলি নিয়ন্ত্রণের বাইরে চলে যেতে পারে।
দ্য sched_setscheduler(2)
Man পৃষ্ঠা ভাল উপদেশ রয়েছে:
যেহেতু SCHED_FIFO বা SCHED_RR এর অধীন নির্ধারিত কোনও প্রক্রিয়াতে একটি অবরুদ্ধ অসীম লুপ চিরকাল নিম্ন অগ্রাধিকার সহ সমস্ত প্রক্রিয়াটিকে অবরুদ্ধ করে দেবে, তাই কোনও সফ্টওয়্যার বিকাশকারীকে সর্বদা পরীক্ষিত অ্যাপ্লিকেশনটির চেয়ে উচ্চতর স্থিতিশীল অগ্রাধিকারের অধীনে নির্ধারিত শেল কনসোলটিতে উপস্থিত থাকা উচিত। এটি পরীক্ষিত রিয়েল-টাইম অ্যাপ্লিকেশনগুলির জরুরী হত্যার অনুমতি দেবে যা প্রত্যাশা অনুযায়ী অবরুদ্ধ বা অবসান হয় না। Getrlimit (2) এ RLIMIT_RTTIME রিসোর্স সীমাটির বর্ণনাও দেখুন।
এটি কনসোলে একটি শেল হওয়া উচিত - কোনও এক্সটার্মের অধীনে নয়, যদি না আপনি সমস্ত এক্স রিয়েলটাইমকেও অগ্রাধিকার দিতে চান।