আপনি সমবায় multitasking ব্যবহার করে এবং একটি খারাপ প্রোগ্রাম আছে: তাহলে হ্যাঁ, আপনি সঠিক।
তবে বাস্তব বিশ্বের নিম্নলিখিত ঘটতে অনুমিত হয়:
সমবায় multitasking: আমি চালান CPU- র জন্য চিরতরে ব্যবহার করে না। এর পরিবর্তে এটি অন্য প্রোগ্রামটিকে কিছু সময় পরে বা এটি অবরুদ্ধ করার সুযোগ দেবে।
পল এর উত্তর পরের বর্ণনা।
Preemptive multitasking (প্রায় সর্বত্র ব্যবহৃত): OS (প্রোগ্রামটি নয়) একটি প্রোগ্রামে অল্প সময়ের জন্য CPU সরবরাহ করবে এবং তারপর এটি সরিয়ে নেবে। এটি টাইমারটি চালানোর মতো সরল এবং এটি একবার প্রক্রিয়াটি বন্ধ করে দেওয়ার পরে এবং পরবর্তী ট্র্যাড / প্রোগ্রামটি যা অপেক্ষা করছে তা দেওয়ার সময় এটি সরল হতে পারে।
আপনার ক্ষেত্রে এটি দুইজন কর্মচারী এবং তিনটি (বা তার বেশি) কাজগুলির একটি অফিস হিসাবে মনে করেন।
(তাদের টাস্ক-এ, টাস্ক-বি এবং টাস্ক-সি কল করতে দেয়)।
প্রথম কাজটি সুপারভাইজারদের নির্দেশ করে যা আদেশ করে:
- একটি টাইমার 10 মিনিট সেট করুন। যখন এটি বন্ধ হয়ে যায় তখন আপনার বর্তমান কাজটি বন্ধ করতে, এটি TODO তালিকার নীচে রাখুন এবং এই দস্তাবেজটি পড়তে থাকুন।
- এরপর TODO তালিকার শীর্ষে থাকা প্রথম আইটেমটিকে সরিয়ে দিন এবং এতে কাজ শুরু করুন।
- পদ্ধতি পুনরাবৃত্তি করুন।
ওয়ার্কার 1 টি টাইমার সেট করে এবং TODO তালিকার প্রথম কার্যটি পায় (এই ক্ষেত্রে এটি টাস্ক-এ)।
কর্মী 2 একই জিনিস করে: এটি একটি টাইমার সেট করে এবং TODO তালিকার শীর্ষে থেকে যা পায় তা পায়। যেহেতু কর্মী 1 টাস্ক-এটিকে সরিয়ে দিয়েছে, এটি থেকে কর্মী 2 এখন টাস্ক-বিতে শুরু হয়।
দশ মিনিট পরে টাইমার বন্ধ। কর্মী 1 টাস্ক-এ কাজ বন্ধ করে এবং সুপারভাইজার নির্দেশাবলী পায়। যারা রাষ্ট্র TODO তালিকার নীচে বর্তমান টাস্ক করা। সুপারভাইজারের নির্দেশগুলি চালিয়ে যাওয়া এটি এখন টাইমারটিকে পুনঃসূচনা করে এবং TODO তালিকার শীর্ষে থাকা (যা টাস্ক-সি) কাজ করে শুরু করতে শুরু করে।
কর্মী 2 একই কাজ করে এবং টাস্ক-বি বন্ধ করে এবং TODO তালিকার শীর্ষে শুরু করে (যা উদাহরণস্বরূপ টাস্ক-এ)
ইত্যাদি ইত্যাদি
এই কিছুটা সরলীকৃত। তবে এটি আপনাকে একটি ধারণা দেবে যে তিনটি বা তার বেশি কাজগুলিতে দুইটি কর্মী (কর্মীরা) 100% সময় কাজ করতে পারে।
বাস্তব schedulers মধ্যে আরো অনেক কিছু আছে। উদাহরণস্বরূপ interrupts (একটি টাস্ক মাঝখানে ringing একটি ফোন এটি তুলনা করুন এবং যে কিভাবে পরিচালনা করতে), স্মার্ট সময়সূচী (একই কর্মী একই কাজ প্রদান সম্ভবত কর্মী এটি ইতিমধ্যে পরিচিত করা হয়, ফলে এটি দ্রুত কাজ করা হবে) I / O (যদি একজন কর্মীকে কোন লাইব্রেরি থেকে একটি বইয়ের প্রয়োজন হয় তবে টাইমারটির মেয়াদ শেষ না হওয়া পর্যন্ত তিনি অপেক্ষা করবেন না, তবে পরবর্তী কাজটি ইত্যাদি সঙ্গে সঙ্গে চলতে থাকবে ইত্যাদি।