সফ্টওয়্যার এবং হার্ডওয়্যার বাধা কী এবং সেগুলি কীভাবে প্রক্রিয়াজাত করা হয়?


43

আমি হার্ডওয়্যার এবং সফ্টওয়্যার বিঘ্নিত ধারণাটি বুঝতে পেরেছি কিনা তা নিশ্চিত নই।

যদি আমি সঠিকভাবে বুঝতে পারি তবে একটি হার্ডওয়্যার বিঘ্নিত হওয়ার উদ্দেশ্য হ'ল সিপিইউর কিছুটা দৃষ্টি আকর্ষণ করা, সিপিইউ মাল্টিটাস্কিং বাস্তবায়নের অংশ।

  1. তারপরে একটি হার্ডওয়্যার বাধা কী দেয়? এটি কি হার্ডওয়্যার ড্রাইভার প্রক্রিয়া?
  2. যদি হ্যাঁ, তবে হার্ডওয়্যার ড্রাইভার প্রক্রিয়াটি কোথায় চলছে? এটি যদি সিপিইউতে চলছে, তবে এটি হার্ডওয়্যার বিঘ্নিত হয়ে সিপিইউয়ের দৃষ্টি আকর্ষণ করতে হবে না, তাই না? তাহলে কি এটি অন্য কোথাও চলছে?
  3. একটি হার্ডওয়্যার সিপিইউকে সরাসরি বাধা দেয়, বা এটি প্রথমে কার্নেল প্রক্রিয়া এবং কার্নেল প্রক্রিয়াটির পরে সিপিইউকে যোগাযোগ / বাধা দেয়?

অন্যদিকে, আমি মনে করি যে কোনও সফটওয়্যার বিঘ্নিত করার উদ্দেশ্য বর্তমানে কোনও সিপিইউতে চলছে এমন কিছু প্রক্রিয়া যাতে কিছু সংস্থান অনুরোধ করা যায় for

  1. সম্পদ কি? এগুলি কি সমস্ত চলমান প্রক্রিয়া আকারে? উদাহরণস্বরূপ, সিপিইউ ড্রাইভার প্রক্রিয়া এবং মেমরি ড্রাইভার প্রসেসগুলি কি সিপিইউ এবং মেমরির সংস্থানগুলি উপস্থাপন করে? I / O ডিভাইসের ড্রাইভার প্রক্রিয়া কি I / O সংস্থানগুলি উপস্থাপন করে? অন্যান্য চলমান প্রক্রিয়াগুলি কি প্রক্রিয়াটি সংস্থানগুলির সাথে যোগাযোগ করতে চায়?
  2. যদি হ্যাঁ, কোনও সফ্টওয়্যার কার্নেল প্রক্রিয়া দ্বারা পরোক্ষভাবে প্রক্রিয়াগুলি (যা সংস্থানসমূহকে উপস্থাপন করে) যোগাযোগ করে বাধা দেয়? এটি কি ঠিক যে কোনও হার্ডওয়্যার বিঘ্নের বিপরীতে, একটি সফ্টওয়্যার বাধা কখনই সরাসরি সিপিইউতে বাধা দেয় না, পরিবর্তে এটি কার্নেল প্রক্রিয়াটিকে বাধা দেয় / যোগাযোগ করে contacts

উত্তর:


55

একটি হার্ডওয়্যার ইন্টারপেন্ট আসলে সিপিইউ মাল্টিটাস্কিংয়ের অংশ নয়, তবে এটি চালনা করতে পারে।

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

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

  3. হার্ডওয়্যার বিঘ্নিত সিপিইউকে সরাসরি বাধা দেয়। এটি কার্নেল প্রক্রিয়াতে প্রাসঙ্গিক কোডটি ট্রিগার করার কারণ করবে। প্রক্রিয়াগুলিতে প্রক্রিয়া করতে কিছু সময় নেয় এমন প্রসেসগুলির জন্য, বিঘ্নিত কোডটি অন্য হার্ডওয়্যার বিঘ্ন দ্বারা নিজেকে বিঘ্নিত হতে পারে।

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

সফ্টওয়্যার বিঘ্ন অনেকগুলি হার্ডওয়্যার বিঘ্নের মতো প্রক্রিয়া করা হয়। তবে এগুলি কেবল বর্তমানে চলমান প্রক্রিয়াগুলি দ্বারা উত্পন্ন করা যেতে পারে।

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

  2. সফ্টওয়্যারটি কেবল কার্নেলের সাথে কথা বলে বাধা দেয়। যে কোনও প্রসেস চালানোর প্রয়োজন তা নির্ধারণ করা কার্নেলের দায়িত্ব। এটি একটি পাইপের শেষে অন্য প্রক্রিয়া হতে পারে। কিছু কার্নেলগুলি ডিভাইস ড্রাইভারের কিছু অংশ ব্যবহারকারীর স্থানে থাকতে দেয় এবং প্রয়োজনের সময় কার্নেলটি চালানোর জন্য এই প্রক্রিয়াটি নির্ধারণ করে।

    এটি সঠিক যে কোনও সফ্টওয়্যার বাধা দেয় সরাসরি সিপিইউতে বাধা দেয় না। কেবলমাত্র কোডটি যা বর্তমানে চলমান কোডগুলি একটি সফ্টওয়্যার বিঘ্নিত করতে পারে। চলমান প্রক্রিয়া চলার জন্য কার্নেলের কাছে কিছু করার (সাধারণত I / O) কিছু করার জন্য বাধা হ'ল একটি অনুরোধ। একটি বিশেষ সফ্টওয়্যার বাধাপ্রাপ্তি একটি হ্যান্ডল্ড কল, যা কার্নেল শিডিয়ুলারকে অনুরোধ করে যে অন্য কোনও প্রক্রিয়া চলতে পারে কিনা তা পরীক্ষা করার জন্য অনুরোধ করে।

মন্তব্য প্রতিক্রিয়া:

  1. I / O অনুরোধগুলির জন্য, কার্নেলটি উপযুক্ত কার্নেল ড্রাইভারকে কাজটি অর্পণ করে। রুটিনটি পরবর্তী প্রক্রিয়াকরণের জন্য আই / ও-কে সারি করতে পারে (ডিস্ক আই / ও এর জন্য সাধারণ), অথবা সম্ভব হলে তা তত্ক্ষণাত্ কার্যকর করতে পারে। ড্রাইভারটি ক্যু পরিচালনা করে, প্রায়শই হার্ডওয়্যার বিঘ্নের প্রতিক্রিয়া জানায়। যখন একটি I / O সম্পূর্ণ হয়, সারিতে থাকা পরবর্তী আইটেমটি ডিভাইসে প্রেরণ করা হয়।

  2. হ্যাঁ, সফ্টওয়্যার বিঘ্নগুলি হার্ডওয়্যার সিগন্যালিং পদক্ষেপ এড়ায়। সফ্টওয়্যার অনুরোধ উত্পন্ন প্রক্রিয়া অবশ্যই একটি চলমান প্রক্রিয়া হওয়া উচিত, যাতে তারা সিপিইউতে বাধা না দেয়। তবে তারা কলিং কোডের প্রবাহকে বাধা দেয়।

    হার্ডওয়্যারকে যদি কিছু করার জন্য সিপিইউ পেতে হয় তবে এটি সিপিইউটি যে কোডটি চলছে তার দিকে তার মনোযোগ বাধা দেয়। সিপিইউ তার বর্তমান অবস্থাটিকে স্ট্যাকের উপর চাপ দেবে যাতে এটি পরে যা করছে তা ফিরে আসতে পারে। বাধা থামতে পারে: একটি চলমান প্রোগ্রাম; কার্নেল কোড অন্য একটি বাধা হ্যান্ডলিং; বা নিষ্ক্রিয় প্রক্রিয়া।


ধন্যবাদ! (1) সফ্টওয়্যার বিঘ্নিত হয়ে, I / O অপারেশনগুলি কার্নেল প্রক্রিয়ার মধ্যে I / O ডিভাইস ড্রাইভারের রুটিন দ্বারা করা হয়? (২) এটি কি ঠিক যে সফ্টওয়্যারটি বাধা দেয় সেই পথটি হার্ডওয়্যার বিঘ্নের পথের চেয়ে এক ধাপ কম? অন্য কথায়, সফ্টওয়্যার বাধাদানের জন্য: সফ্টওয়্যার প্রোগ্রাম -> কার্নেল প্রক্রিয়ার মধ্যে ডিভাইস ড্রাইভার রুটিন; হার্ডওয়্যার বিঘ্ন জন্য: হার্ডওয়্যার -> সিপিইউ -> কার্নেল প্রক্রিয়া মধ্যে ডিভাইস ড্রাইভার রুটিন?
টিম

ধন্যবাদ! হার্ডওয়ার ড্রাইভার সিপিইউতে চালাতে পারে এবং সিপিইউতে বাধা প্রক্রিয়াকে পপ ব্যাক করতে পারে তাই হার্ডওয়্যার ইন্টারআপ্ট সিপিইউকে তার বর্তমান অবস্থাটি স্ট্যাকের উপরে চাপিয়ে দেয়? সফ্টওয়্যার বাধাপ্রাপ্তি কি সিপিইউতে চলমান প্রক্রিয়াটিকে স্ট্যাকের দিকে ঠেলে দেবে যাতে অনুরোধ করা পরিষেবাটি সিপিইউতে চালানো যায়?
টিম

হয় বাধাপ্রাপ্ত হয়ে স্ট্যাকের উপর রাষ্ট্রকে চাপ দেবে। এটি সিস্টেমে বাধা দিয়ে সম্পন্ন হয়ে গেলে রাষ্ট্রটিকে পুনরায় লোড করতে দেয়।
বিলথোর

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

সাধারণত, I / O পড়া সমকালীনভাবে বলা হয় এবং প্রক্রিয়া I / O সম্পূর্ণ না হওয়া পর্যন্ত চলবে না। পড়ার জন্য আপনি প্রায় সবসময় এটি চান। লেখাগুলি সাধারণত প্রক্রিয়াটি চলমান রাখার জন্য অবিচ্ছিন্নভাবে ঘটে।
বিলথোর
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.