অপারেটিং সিস্টেমের অভ্যন্তরীণ কাজগুলি সম্পর্কে আমি সম্পূর্ণ নির্লিপ্ত, তবে আমি অনেক ফাংশনের আনুমানিক আচরণটি কমবেশি অনুমান করতে পারি। একটি জিনিস যা আমি বের করতে সক্ষম নই তা হ'ল মাল্টিটাস্কিং।
তত্ত্ব অনুসারে, অপারেটিং সিস্টেম সময় পরিচালনা করে, সিপিইউ অনুসারে বিভিন্ন অন্তর্ভুক্ত বিভিন্ন প্রোগ্রামের জন্য। কিন্তু এটা কিভাবে এই স্পষ্ট নয় সত্যিই কাজ করে।
বলুন অপারেটিং সিস্টেমটি আমার প্রোগ্রামটি শুরু করতে চায়। মেশিন কোডটি কোনও নির্দিষ্ট ঠিকানায় শুরু করে র্যামের কোথাও লোড হয়। আমি অনুমান করি যে তখন আমার কোডটি কার্যকর করার অনুমতি দিয়ে সেই ঠিকানায় একটি লাফ দেওয়া উচিত। তবে এইভাবে, আমি পিছনে ঝাঁপ না দেওয়া পর্যন্ত ওএস নিয়ন্ত্রণ ফিরে পেতে পারে না।
মূলত, আমি এই কাজটি করার দুটি মাত্র উপায় কল্পনা করতে পারি, তবে দুটিই সত্যই উপযুক্ত বলে মনে হয় না:
অপারেটিং সিস্টেমটি মেশিনের নির্দেশাবলী আমি সরাসরি সম্পাদন করার পরিবর্তে সেগুলি সম্পাদন করতে এবং অনুকরণ করতে চাই read আমি ইচ্ছাকৃতভাবে অস্পষ্ট, যেহেতু আমি জানি না এটি কীভাবে কাজ করবে, তবে মনে হচ্ছে এটি প্রোগ্রামটি বেশ ধীরে ধীরে কমিয়ে দেবে।
বিকল্পভাবে, অপারেটিং সিস্টেমটি আমি কোনও সিস্টেম কল না করা পর্যন্ত অপেক্ষা করতে পারে। এই মুহুর্তে এটি আবার নিয়ন্ত্রণ ফিরে পায় এবং আমি কতক্ষণ ধরে চলেছি তা যাচাই করতে এবং এর টাইমশেরিংয়ের কাজটি করতে পারে। এটি কার্যকর হতে পারে তবে এটি অবিশ্বাস্য বলে মনে হচ্ছে, কারণ আমি একটি দীর্ঘ গণনা করতে পারি যা সিস্টেম কলগুলিতে জড়িত না এবং কিছুক্ষণের জন্য সবকিছু স্তব্ধ করে দেয়।
সুতরাং, মনে হচ্ছে কোনওটিই খুব ভালভাবে কাজ করবে না। মাল্টিটাস্কিং আসলে কীভাবে সম্পাদিত হয়?
interrupt
INT
নির্দেশিকা কার্যকর করার জন্য ওএসের কোনও উপায় নেই । কিছু এখনও আমার কাছে রহস্যজনক