ইন্টারপ্রেট এবং ব্যতিক্রমের মধ্যে পার্থক্য

Anonim

বিভাজক ব্যতিক্রম ব্যতীত

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

ইন্টারাপ্ট কি?

শব্দ বিভাজন সাধারণত হার্ডওয়্যার বিঘ্নের জন্য সংরক্ষিত হয়। তারা বাহ্যিক হার্ডওয়্যার ইভেন্ট দ্বারা সৃষ্ট প্রোগ্রাম নিয়ন্ত্রণ বাধা। এখানে, বহিরাগত মানে CPU- র বাইরের মানে। হার্ডওয়্যার ইন্টারাপ্ট সাধারণত টাইমার চিপ, পেরিফেরাল ডিভাইস (কীবোর্ড, মাউস ইত্যাদি), আই / ও পোর্ট (সিরিয়াল, সমান্তরাল, ইত্যাদি), ডিস্ক ড্রাইভ, CMOS ঘড়ি, সম্প্রসারণ কার্ড (সাউন্ড কার্ড, ভিডিও) কার্ড, ইত্যাদি)। এর অর্থ হল এক্সিকিউটিভ প্রোগ্রামের সাথে সম্পর্কিত কিছু ইভেন্টের কারণে হার্ডওয়্যার ইন্টারাপ্ট প্রায় কখনও ঘটেনি। উদাহরণস্বরূপ, ব্যবহারকারীর দ্বারা কীবোর্ডের কী কী কী কী কী কী কী প্রেস করা হয় বা কোনও অভ্যন্তরীণ হার্ডওয়্যার টাইমারের সময়সীমার সময় এই ধরনের বিরতি বাড়াতে পারে এবং CPU কে ​​একটি নির্দিষ্ট ডিভাইসের কিছু মনোযোগের প্রয়োজন হতে পারে। এমন পরিস্থিতিতে, যে CPUটি এটি করছিল তা বন্ধ করে (i। ই বর্তমান প্রোগ্রামকে থামায়), ডিভাইস দ্বারা প্রয়োজনীয় পরিষেবা সরবরাহ করে এবং সাধারণ প্রোগ্রামে ফিরে আসে। যখন হার্ডওয়্যার বিঘ্ন ঘটে এবং CPU- র ISR শুরু হয় তখন অন্যান্য হার্ডওয়্যার ইন্টারাপ্টগুলি অক্ষম হয় (যেমন 80 × 86 মেশিনে)। ISR চলমান অবস্থায় আপনি যদি অন্য হার্ডওয়ার ইন্টারাপ্টগুলির প্রয়োজন হয়, তাহলে স্পষ্টভাবে ইন্টারাপ্ট ফ্ল্যাশ (STI নির্দেশ সহ) পরিষ্কার করে এটি করতে হবে। 80 × 86 মেশিনে, ইন্টারাপ্ট ফ্ল্যাশ সাফ করা শুধুমাত্র হার্ডওয়্যার ইন্টারাপ্ট প্রভাবিত করবে।

--২ ->

ব্যতিক্রম কি?

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

ইন্টারপ্রেট এবং ব্যতিক্রম মধ্যে পার্থক্য কি?

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