ব্যাখ্যা
সঠিক উত্তর: (ঘ) Round-robin
**Job Scheduling Policy সম্পর্কিত ভূমিকা:**
অপারেটিং সিস্টেমে বিভিন্ন প্রসেস বা জবকে সিপিইউ টাইম বরাদ্দ দেওয়ার জন্য বিভিন্ন ধরনের Job Scheduling Policy ব্যবহৃত হয়। এসব পলিসির মধ্যে কিছু পলিসি Starvation সমস্যার সম্মুখীন হতে পারে, যেখানে নির্দিষ্ট প্রসেসগুলো দীর্ঘ সময় ধরে সিপিইউ টাইম পাওয়ার সুযোগ থেকে বঞ্চিত হয়। Round-robin এমন একটি পলিসি যা Starvation থেকে মুক্ত।
---
**Round-robin সম্পর্কে বিস্তারিত তথ্য:**
— **সংজ্ঞা:** Round-robin হলো একটি প্রি-এমটিভ প্রসেস শিডিউলিং অ্যালগরিদম যেখানে প্রতিটি প্রসেসকে একটি নির্দিষ্ট সময় স্লাইস (Time Quantum) দেওয়া হয়। সময় স্লাইস শেষ হলে প্রসেসটি প্রস্তুত অবস্থায় (Ready Queue) পেছনে চলে যায় এবং পরবর্তী প্রসেসকে সিপিইউ টাইম দেওয়া হয়।
— **কার্যপদ্ধতি:**
— প্রসেসগুলোকে একটি সার্কুলার কিউ (Circular Queue) হিসেবে বিবেচনা করা হয়।
— প্রতিটি প্রসেসকে সমান সময় দেওয়া হয় (Time Quantum)।
— যদি কোনো প্রসেস তার সময় স্লাইস শেষ হওয়ার আগে কাজ শেষ করে দেয়, তাহলে তা সিপিইউ ছেড়ে দেয় এবং পরবর্তী প্রসেসকে দেওয়া হয়।
— সময় স্লাইস শেষ হলে প্রসেসটি আবার প্রস্তুত অবস্থায় ফিরে আসে।
— **Starvation মুক্ত হওয়ার কারণ:**
— যেহেতু প্রতিটি প্রসেসকে নির্দিষ্ট সময় অন্তর অন্তর সিপিইউ টাইম দেওয়া হয়, তাই কোনো প্রসেসই দীর্ঘ সময় ধরে অপেক্ষায় থাকতে বাধ্য হয় না।
— সব প্রসেসই একই সুযোগ পায়, ফলে কোনো প্রসেস Starvation-এর শিকার হয় না।
— **সুবিধা:**
— Fairness: সব প্রসেস সমান সুযোগ পায়।
— Response Time কমে যায়।
— সহজে বাস্তবায়নযোগ্য।
— **অসুবিধা:**
— Time Quantum খুব ছোট হলে বেশি Context Switching হয়, যা ওভারহেড বাড়ায়।
— Time Quantum খুব বড় হলে প্রসেসগুলোকে অপেক্ষা করতে হয়, ফলে Response Time বৃদ্ধি পায়।
---
**বিভ্রান্তিকর বিকল্প বিশ্লেষণ:**
✗ **ক) Priority Scheduling:**
— এই পলিসিতে প্রসেসগুলোকে তাদের গুরুত্বের ভিত্তিতে অগ্রাধিকার দেওয়া হয়।
— উচ্চ অগ্রাধিকার সম্পন্ন প্রসেসগুলো বারবার সিপিইউ টাইম পায়, ফলে নিম্ন অগ্রাধিকার সম্পন্ন প্রসেসগুলো Starvation-এর শিকার হতে পারে।
— উদাহরণ: যদি সব সময় উচ্চ অগ্রাধিকার সম্পন্ন প্রসেসগুলো আসতে থাকে, তাহলে নিম্ন অগ্রাধিকার সম্পন্ন প্রসেসগুলো কখনই সিপিইউ টাইম পাবে না।
✗ **খ) Shortest Job First (SJF):**
— এই পলিসিতে সবচেয়ে কম Execution Time সম্পন্ন প্রসেসকে অগ্রাধিকার দেওয়া হয়।
— যদি সব সময় ছোট প্রসেসগুলো আসতে থাকে, তাহলে বড় প্রসেসগুলো Starvation-এর শিকার হতে পারে।
— উদাহরণ: যদি বারবার ছোট প্রসেসগুলো আসতে থাকে, তাহলে একটি বড় প্রসেস কখনই সিপিইউ টাইম পাবে না।
✗ **গ) Youngest Job First:**
— এই পলিসিতে সবচেয়ে নতুন আসা প্রসেসকে অগ্রাধিকার দেওয়া হয়।
— যদ