বিআইওএস, ডস এবং রিয়েল টাইম বিধানসভা ভাষার দৃষ্টিকোণের সাথে বাধা কী?


উত্তর 1:

এটি একটি দুর্দান্ত প্রশ্ন, কেউ সত্যই এই দিনগুলি সম্পর্কে খুব বেশি চিন্তা করে না। এর সহজ উত্তরটি হ'ল একটি "রিয়েল টাইম বিঘ্নিত", এমন একটি যা কোড দ্বারা স্পষ্টভাবে কার্যকর করা হয় না। এটি ব্যতিক্রম হ্যান্ডলার হিসাবে বা কোনও বাহ্যিক ডিভাইস হিসাবে প্রবর্তিত হয়েছিল, যা প্রসেসরের বিঘ্নিত রেখাটি সেট করে। একটি বিআইওএস এবং একটি ওএস ইন্টারপেট মূলত একটি শর্টকাট কলিং কনভেনশন যা আপনি এসেম্বলারের ক্ষেত্রে ব্যবহার করতে পারেন।

যখন কোনও বাধা দেওয়া হয় বা ট্রিগার হয়ে যায় তখন কোড সেগমেন্ট, নির্দেশ পয়েন্টার এবং পতাকা নিবন্ধগুলি সমস্ত স্ট্যাকের দিকে ঠেলা যায়। বাধাপ্রাপ্ত নম্বরটি বাস থেকে নেওয়া হয়েছে এবং সিপিইউ ইন্টারপট ভেক্টর সারণীতে একটি নতুন এক্সিকিউশন ঠিকানা সন্ধান করেছে। এবং কোড সম্পাদন address ঠিকানায় শুরু হয়। এটি একটি দূর কল মত।

বাহ্যিকভাবে চালিত বাধাগুলির জন্য, গুগল অ্যাপিক বা পিআইসি, যা অ্যাডভান্সড প্রোগ্রামেবল ইন্টারফেট কন্ট্রোলার। আসল পিসিটি ইন্টেল 8259 নিয়ামকের কিছু সংস্করণ সহ এসেছে। অ্যাসেম্বলি ভাষার দৃষ্টিকোণ থেকে, আপনার কোডটি ঠিক জরিমানা সহ চলছে এবং তারপরে হঠাৎ আপনার অজান্তে, (বা কোনও কোড যা আপনি অবিলম্বে কার্যকর করেছেন) একটি বাধা বরখাস্ত করা হয়। বাধাপ্রাপ্ত হয়ে গেলে, সমস্ত রেজিস্টার, পতাকা এবং স্ট্যাকের অর্থপূর্ণ অংশটি পুনরুদ্ধার করা হয় এবং আপনার কোডটি এটি ঘটে তাও জানেন না এবং কার্যকর করে চালিয়ে যান। বহিরাগত বাধাগুলিও "মুখোশযুক্ত" হতে পারে, অর্থাত যদি প্রসেসরের ইন্টারপ্রেট পতাকাটি সিএলআই নির্দেশের সাথে সাফ করা হয়, তবে এই বাহ্যিক বাধাগুলি "অ-মাস্কেবল ব্যাহত" (এনএমআই) না হওয়া পর্যন্ত ঘটবে না। মেমরি লকগুলি লেখার সময় এটি কখনও কখনও গুরুত্বপূর্ণ হয় এবং আপনি এটি নিশ্চিত করতে চান যে অন্য কোনও কোড বা থ্রেড আপনি যা করছেন তাতে বাধা নেই।

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

বিআইওএস, বা ওএস ইন্টারফেটগুলিকে Trap’s নামেও ডাকা হয় তবে এগুলি স্পষ্টভাবে বলা হয়। তারা আসল সময় নয়। তারা এখনই ফিরে আসতে পারে না। তারা তাদের কাজ শেষ না করা পর্যন্ত কার্যকর করতে পারে। আপনার কোডটিতে ডানদিকে, আপনি উদাহরণস্বরূপ একটি আইএনটি 3 রাখুন (ট্রিগার ডিবাগার), এবং আপনার কোডটি কয়েক মিনিটের জন্য পরে কার্যকর করা যাবে না। বায়োসের বিঘ্ন স্পষ্টভাবে বায়োজে রয়েছে এবং ওএস বিঘ্নগুলি প্রায়শই বায়োসের বিঘ্নগুলি তাদের নিজস্ব প্রতিস্থাপন করে। এবং প্রায়শই (তবে সুরক্ষিত ওএসের ক্ষেত্রে এর চেয়ে কম), এমনকি কোনও অ্যাপ্লিকেশনও এটির নিজের বাধা সেট করে। প্রোগ্রামিং দৃষ্টিকোণ থেকে, আপনি কেবল কোডিং কল করছেন, এবং আপনি সম্পূর্ণরূপে আশা করেন যে নিবন্ধগুলি সংশোধিত হতে পারে এবং কিছুটা সময় পার হতে পারে। এবং প্রায়শই রিটার্নের মান রেজিস্টারে পাস করা হয়।

এবং একটি কলের বিপরীতে, যখন কোনও বাধা অবশেষে শেষ হয়, এটি অবশ্যই নিজের পরে পরিষ্কার হয়ে যাবে এবং আইআরইটি নির্দেশাবলী অ্যাপ্লিকেশন স্ট্যাক থেকে কোড সেগমেন্ট, নির্দেশ পয়েন্টার এবং পতাকাগুলি আনবে এবং সেই সময়ে কার্যকর করা পুনরায় শুরু করবে।


উত্তর 2:

সমস্ত বাধাগুলিতে একটি জিনিস সাধারণ থাকে: সেগুলি কীভাবে পরিচালনা করা হয়। যখন এটি ঘটে, সিপিইউ নির্দেশের বর্তমান ক্রমটি ভেঙে দেবে, মেশিন স্ট্যাকের উপর তার অবস্থানটি সংরক্ষণ করবে এবং অপারেটিং সিস্টেম দ্বারা প্রতিষ্ঠিত বিঘ্নিত রুটিন সম্পাদন করবে। তারপরে এটি স্ট্যাক থেকে স্থিতি ফিরিয়ে আনতে পারে এবং কোডটি অব্যাহত রাখতে পারে যা বাধাগ্রস্থ হয়েছিল, বা এটি প্রোগ্রামটি বাতিল করতে পারে 25 256 সম্ভাব্য বিঘ্নিত রুটিনগুলির মধ্যে কোনটি বাধাগ্রস্থ হওয়ার কারণের উপর নির্ভর করে: রিয়েলটাইম (অ্যাসিনক্রোনাস) বিঘ্ন ঘটায় বাইরের ইভেন্টের দ্বারা: কীবোর্ড টিপানো, মাউস সরানো, ঘড়ি টিকানো। হার্ডওয়্যার ডিভাইস এপিক চিপকে একটি বাধা অনুরোধ প্রেরণ করে যা সিপিইউ বর্তমান নির্দেশনা শেষ না হওয়া পর্যন্ত অপেক্ষা করে এবং তারপরে এপিক সিপিইউকে তার স্থিতি সংরক্ষণ এবং প্রয়োজনীয় ক্রিয়া সম্পাদনের নির্দেশ দেয়: চাপানো অক্ষরটি কীবোর্ড বাফারে সংরক্ষণ করুন, স্ক্রিনে মাউস কার্সার সরান, কম্পিউটার আপডেট করুন সময়.সাইনক্রোননাস ইন্টারপট (ব্যতিক্রম) প্রায়শই প্রোগ্রামারদের ভুল দ্বারা ঘটে থাকে যেমন শূন্য দ্বারা বিভাজন, অজানা নির্দেশ থেকে মেমরি পড়া, অবৈধ নির্দেশ কার্যকর করার চেষ্টা করা। এই ক্ষেত্রে বিঘ্নিত রুটিনের প্রতিবেদনের ত্রুটির বার্তা C কল্যাবল ইন্টারপ্ট (ওএস পরিষেবাদির জন্য অনুরোধ) মেশিনের নির্দেশনা INT সহ সমাবেশ প্রোগ্রামার (বা সংকলক) দ্বারা আহ্বান করা হয়েছে। তাদের রুটিনগুলি BIOS এ হার্ডওয়ার্ড হয় বা ওএস লোড হওয়ার পরে প্রতিষ্ঠিত হয়। বিঘ্নের ক্ষেত্রে এটিই একমাত্র প্রবণতা যা এসেম্বলি প্রোগ্রামারকে উদ্বেগ করে (যদি না তারা অপারেটিং সিস্টেম বা বিআইওএস ফার্মওয়্যার লেখেন)। সমস্ত 256 টি বাধা এখানে নথিভুক্ত করা হয়েছে: বিঘ্নিত জাম্প টেবিল


উত্তর 3:

সমস্ত বাধাগুলিতে একটি জিনিস সাধারণ থাকে: সেগুলি কীভাবে পরিচালনা করা হয়। যখন এটি ঘটে, সিপিইউ নির্দেশের বর্তমান ক্রমটি ভেঙে দেবে, মেশিন স্ট্যাকের উপর তার অবস্থানটি সংরক্ষণ করবে এবং অপারেটিং সিস্টেম দ্বারা প্রতিষ্ঠিত বিঘ্নিত রুটিন সম্পাদন করবে। তারপরে এটি স্ট্যাক থেকে স্থিতি ফিরিয়ে আনতে পারে এবং কোডটি অব্যাহত রাখতে পারে যা বাধাগ্রস্থ হয়েছিল, বা এটি প্রোগ্রামটি বাতিল করতে পারে 25 256 সম্ভাব্য বিঘ্নিত রুটিনগুলির মধ্যে কোনটি বাধাগ্রস্থ হওয়ার কারণের উপর নির্ভর করে: রিয়েলটাইম (অ্যাসিনক্রোনাস) বিঘ্ন ঘটায় বাইরের ইভেন্টের দ্বারা: কীবোর্ড টিপানো, মাউস সরানো, ঘড়ি টিকানো। হার্ডওয়্যার ডিভাইস এপিক চিপকে একটি বাধা অনুরোধ প্রেরণ করে যা সিপিইউ বর্তমান নির্দেশনা শেষ না হওয়া পর্যন্ত অপেক্ষা করে এবং তারপরে এপিক সিপিইউকে তার স্থিতি সংরক্ষণ এবং প্রয়োজনীয় ক্রিয়া সম্পাদনের নির্দেশ দেয়: চাপানো অক্ষরটি কীবোর্ড বাফারে সংরক্ষণ করুন, স্ক্রিনে মাউস কার্সার সরান, কম্পিউটার আপডেট করুন সময়.সাইনক্রোননাস ইন্টারপট (ব্যতিক্রম) প্রায়শই প্রোগ্রামারদের ভুল দ্বারা ঘটে থাকে যেমন শূন্য দ্বারা বিভাজন, অজানা নির্দেশ থেকে মেমরি পড়া, অবৈধ নির্দেশ কার্যকর করার চেষ্টা করা। এই ক্ষেত্রে বিঘ্নিত রুটিনের প্রতিবেদনের ত্রুটির বার্তা C কল্যাবল ইন্টারপ্ট (ওএস পরিষেবাদির জন্য অনুরোধ) মেশিনের নির্দেশনা INT সহ সমাবেশ প্রোগ্রামার (বা সংকলক) দ্বারা আহ্বান করা হয়েছে। তাদের রুটিনগুলি BIOS এ হার্ডওয়ার্ড হয় বা ওএস লোড হওয়ার পরে প্রতিষ্ঠিত হয়। বিঘ্নের ক্ষেত্রে এটিই একমাত্র প্রবণতা যা এসেম্বলি প্রোগ্রামারকে উদ্বেগ করে (যদি না তারা অপারেটিং সিস্টেম বা বিআইওএস ফার্মওয়্যার লেখেন)। সমস্ত 256 টি বাধা এখানে নথিভুক্ত করা হয়েছে: বিঘ্নিত জাম্প টেবিল