সিস্টেম কল এবং অন্তর্বর্তী মধ্যে পার্থক্য

Anonim

সিস্টেম কল বনাম ইন্টারঅ্যাক্টের

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

একটি সিস্টেম কল কি?

কম্পিউটার কলগুলি অপারেটিং সিস্টেমের সাথে কথা বলতে ইন্টারফেসে কম্পিউটারে চলমান প্রোগ্রাম সরবরাহ করে। যখন কোনও প্রোগ্রামের জন্য অপারেটিং সিস্টেমের কার্নেল থেকে একটি পরিষেবা (যার জন্য এটির অনুমতি নেই) জিজ্ঞাসা করতে হবে তখন এটি একটি সিস্টেম কল ব্যবহার করে। ব্যবহারকারী স্তরের প্রসেসগুলির একই অনুমতি নেই যেমন প্রসেস সরাসরি অপারেটিং সিস্টেমের সাথে ইন্টারঅ্যাক্ট করছে। উদাহরণস্বরূপ, এবং বাইরের I / O ডিভাইসের সাথে যোগাযোগ করতে বা অন্য কোনও প্রক্রিয়াগুলির সাথে ইন্টারঅ্যাক্ট করতে, একটি প্রোগ্রামে সিস্টেম কলগুলি ব্যবহার করা উচিত।

একটি বাধা কি?

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

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

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

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