থ্রেডস: কার্নেল থ্রেড বনাম কার্নেল-সমর্থিত থ্রেড বনাম ব্যবহারকারী-স্তরের থ্রেডগুলি?


9

কেউ কি জানেন যে এইগুলির মধ্যে পার্থক্য কী?

আমার কাছে মনে হয় যে কার্নেল থ্রেডগুলি কার্নেলটি চালিত কোডটির সাথে সামঞ্জস্য করে (স্বজ্ঞাত), তবে আমি অন্য দুটি সম্পর্কে নিশ্চিত নই ...

এছাড়াও, আপনি কি কোনও পাঠাগার অ্যাক্সেস করছেন এমন সময় কার্নেলটি সমস্ত থ্রেডের সময়সূচী / স্যুইচিং করার পরে, পাথ্রেডস স্ট্যান্ডার্ডটিকে ব্যবহারকারী-স্তর এবং কর্নেল-সমর্থিত হিসাবে বিবেচনা করা হবে?

উত্তর:


14

"কার্নেল থ্রেডস" শব্দটি প্রকৃত থ্রেডগুলিকে বোঝাতে ব্যবহার করা যেতে পারে যা পুরো কার্নেল স্পেসে চলে বা এটি কার্নেলের দ্বারা নির্ধারিত ব্যবহারকারী-স্পেস থ্রেডগুলিকে বোঝাতে পারে। "কার্নেল-সমর্থিত" থ্রেডের অর্থ হ'ল পরের, থ্রেডগুলি যা ব্যবহারকারী-স্পেসে চালিত হয় তবে কার্নেল দ্বারা সহজতর হয়, যার অর্থ সাধারণত কার্নেল তাদের সময়সূচী করে।

"ব্যবহারকারী-স্তরের থ্রেডগুলি" এর অর্থ সাধারণত থ্রেডগুলি ব্যবহার করা যায় না user এটি হ'ল আপনি যখন আপনার থ্রেডিং স্ট্যান্ডার্ডের "তৈরি থ্রেড" ফাংশনটি কল করবেন তখন আপনি যা তৈরি করেন। সাধারণত, "ব্যবহারকারী-স্তরের থ্রেড" শব্দটি সিস্টেম দ্বারা কীভাবে প্রয়োগ করা হয় তা নির্বিশেষে অ্যাপ্লিকেশন কোড দ্বারা নির্মিত থ্রেড বোঝাতে ব্যবহৃত হয়। এটি একটি খাঁটি ব্যবহারকারী-স্পেস থ্রেড হতে পারে যার সাথে কার্নেল সমর্থন ছাড়াই সামান্য বা এটি কার্নেলের দ্বারা নির্ধারিত একটি থ্রেড হতে পারে।

পাইথ্রেডস স্ট্যান্ডার্ডটি খাঁটি ইউজার-স্পেস থ্রেড হিসাবে প্রয়োগ করা যেতে পারে (যেখানে কার্নেল প্রক্রিয়াটি নির্ধারণ করে এবং প্রক্রিয়াটি থ্রেডগুলি নির্ধারণ করে), কার্নেল-সমর্থিত থ্রেড (যেখানে কর্নেল থ্রেডগুলি সরাসরি সূচি দেয়), বা একটি সংকর পদ্ধতির (যেখানে কার্নেলের সময়সূচী একটি কার্নেল-স্তরের থ্রেড যা তারপরে, ব্যবহারকারী-স্পেসে, ব্যবহারকারী-স্তরের থ্রেডকে শিডিউল করে। মান প্রয়োগের কোনও একটি বিশেষ মাধ্যমের দাবি করে না। সর্বাধিক সাধারণ বাস্তবায়ন 1-থেকে -1 ম্যাপিং যেখানে প্রতিটি ব্যবহারকারী-স্তরের থ্রেডের সাথে সংশ্লিষ্ট থ্রেড থাকে যা কার্নেল দ্বারা নির্ধারিত হয়।


লিনাক্সের মতো বাস্তবায়ন কেমন?
ইয়াতী সাগাদ

3
আমি জানি যে সমস্ত আধুনিক (২.6 কার্নেল বা তার পরে) লিনাক্স সিস্টেমগুলির মধ্যে সিস্টেমের ডিফল্ট থ্রেডিং বাস্তবায়ন 1-থেকে -1 হয়, প্রতিটি ব্যবহারকারীর স্তরের থ্রেডের সাথে সম্পর্কিত কেএসই থাকে (কার্নেল শিডিয়ুলিং সত্তা - মূলত, থ্রেড দ্বারা নির্ধারিত হয়) লিনাক্স কার্নেল)। আপনি 'pthread_create' দিয়ে তৈরি থ্রেডটি সরাসরি কার্নেল দ্বারা নির্ধারিত হবে। আধুনিক সিস্টেমগুলি সাধারণত এনপিটিএল ব্যবহার করে , পুরানো সিস্টেমগুলি লিনাক্সথ্রেড ব্যবহার করে - তারা উভয়ই 1-থেকে -1 হয়।
ডেভিড শোয়ার্জ

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

দ্বারা 1 টু 1 আমি বলতে চাচ্ছি যে প্রত্যেক সময় আপনি 'pthread_create' কল, একটি নতুন প্রসঙ্গ তৈরি করা হয় যে কার্নেল দ্বারা নির্ধারিত হয়। একটি সংকর পদ্ধতি, কার্নেল দ্বারা নির্ধারিত প্রেক্ষিতে সংখ্যা নির্মিত থ্রেডের সংখ্যা কম - কার্নেল সময়সূচী সেই প্রেক্ষিতে এক, এবং তারপর গ্রন্থাগার সময়সূচী থ্রেডিং থ্রেড অ্যাপ্লিকেশন দ্বারা নির্মিত অন্যতম।
ডেভিড শোয়ার্জ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.