উইন্ডোজ এবং লিনাক্স থ্রেড শিডিয়ুলারের মধ্যে পার্থক্য


4

আমি যতদূর বলতে পারি, উভয়ই ব্যবহার করুন:

  • মাল্টিলেভেল প্রতিক্রিয়ার সারি
  • অগ্রাধিকার স্তর (বিভিন্ন পরিসীমা)
  • উভয়ই থ্রেড পরিচালনা করে এবং প্রক্রিয়াটি নয়

তবে বড় পার্থক্য কী?


আপনি কি নিশ্চিত যে লিনাক্স সরবরাহ করা হয় এবং সাধারণ ডিস্ট্রোসগুলির মধ্যে একটি হিসাবে ইনস্টল করা হয় এবং কোনও পুনর্নির্মাণ / পুনর্গঠন করা হয়নি?

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

বড় পার্থক্য? ... ভাল, একটি লিনাক্স আপনাকে বিভিন্ন পছন্দ পছন্দ করে, যদি আপনি চান। তবে আমি মনে করি যে কোনও কার্যকর পদ্ধতিতে উত্তরটির পক্ষে প্রশ্নটি খুব বিস্তৃত। বিটিডাব্লু: আপনার অবশ্যই স্পষ্ট করে দেওয়া উচিত যে আপনি থ্রেড শিডিয়ুলার বোঝাতে চেয়েছেন, cronলিনাক্স এবং উইন্ডোজ এর বিকল্পগুলি নয় ।
— 0xC0000022L

এছাড়াও, লক্ষ করুন যে লিনাক্সের অনেকগুলি শিডিয়ুলার রয়েছে। সম্পূর্ণ উল্লেখযোগ্য হ'ল সম্পূর্ণ ফেয়ার শিডিউলার এবং ব্রেন এফ.সি.সি শিডিউলার।
— new123456

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

উত্তর:


6

এমএসডিএন- তে নির্ধারিত অগ্রাধিকার অনুসারে :

থ্রেডগুলি তাদের নির্ধারিত অগ্রাধিকারের ভিত্তিতে চালানোর জন্য নির্ধারিত রয়েছে। প্রতিটি থ্রেড একটি সময় নির্ধারণ অগ্রাধিকার বরাদ্দ করা হয়। অগ্রাধিকার স্তরগুলি শূন্য (সর্বনিম্ন অগ্রাধিকার) থেকে 31 (সর্বোচ্চ অগ্রাধিকার) পর্যন্ত হয়। কেবল শূন্য পৃষ্ঠার থ্রেডে শূন্যের অগ্রাধিকার থাকতে পারে। (শূন্য পৃষ্ঠার থ্রেড হ'ল কোনও মুক্ত পৃষ্ঠা শূন্য করার জন্য দায়বদ্ধ এমন একটি থ্রেড যা যখন চালানোর দরকার হয় না))

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

  • এর প্রক্রিয়াটির অগ্রাধিকার শ্রেণি
  • থ্রেডের অগ্রাধিকার স্তরটির প্রক্রিয়াটির অগ্রাধিকার শ্রেণীর মধ্যে within

আমি বিশ্বাস করি যে এই থ্রেড শিডিয়ুলার মাল্টিলেভাল সারি নামে একটি অ্যালগরিদম বর্ণনা করে যা বহুস্তরের প্রতিক্রিয়া সারিটির তুলনায় অনেক সরল শিডিয়ুলিং অ্যালগরিদম। নোট করুন উইন্ডোজের প্রক্রিয়া সূচীকারী উইকিপিডিয়া অনুসারে মাল্টিলেভেল ফিডব্যাক সারি ব্যবহার করে । উইন্ডোজ 7 এবং উইন্ডোজ সার্ভার 2008 আর 2 এর পরে, ব্যবহারকারী-মোড সময়সূচী রয়েছে যা প্রক্রিয়াগুলি তাদের নিজস্ব থ্রেডের সময়সূচীটি পরিচালনা করতে দেয়।

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

নোট করুন যে উপরে ডিফল্ট মানে ভ্যানিলা কার্নেলের মধ্যে ডিফল্ট। কিছু ডিস্ট্রস শিপকে ডিফল্ট কার্নেল দিয়ে থাকে যা বিভিন্ন ডিফল্ট শিডিয়ুলার ব্যবহারের জন্য পূর্বনির্ধারিত থাকে।

সময়সূচী অ্যালগরিদম ছাড়াও, শিডিয়ুলার নীতিগুলিও রয়েছে : SCHED_FIFO, SCHED_BATCH, SCHED_IDLE, SCHED_OTHER, এবং SCHED_RR; যা রানটাইমে পরিবর্তিত হতে পারে যা কোনও প্রক্রিয়াটির কাজের চাপ বোঝায়।

বর্তমান ডিফল্ট শিডিয়ুলার সম্পূর্ণরূপে ফেয়ার শিডিয়ুলার, সময় নির্ধারণের ন্যায্যতা বজায় রাখতে একটি লাল-কালো গাছ ব্যবহার করে। লিনাক্সের ভিতরে থেকে 2.6 সম্পূর্ণ ফেয়ার শিডিয়ুলার :

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

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

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

সুতরাং প্রধান পার্থক্য:

উইন্ডোজ

  • মাল্টিলেভেল প্রতিক্রিয়া সারি + মাল্টিলেভাল সারি ব্যবহার করে থ্রেড শিডিয়ুলিং ব্যবহার করে প্রক্রিয়া নির্ধারণ। থ্রেড শিডিয়ুলার কেবল সর্বোচ্চ অগ্রাধিকারের থ্রেড বেছে নেয়, প্রক্রিয়া সূচীকারটি আরও স্মার্ট এবং প্রতিক্রিয়ার সারি ব্যবহার করে।

লিনাক্স

  • ইউনিফাইড প্রক্রিয়া এবং থ্রেড শিডিয়ুলার, কনফিগারযোগ্য, ডিফল্টরূপে সিএফএস ব্যবহার করে। সময়সূচী ন্যায্যতার একটি মেট্রিক ব্যবহার করে এবং উচ্চতর অগ্রাধিকার প্রক্রিয়ায় সিপিইউ বিতরণকে স্কিউ করতে অগ্রাধিকার ব্যবহার করে।

4
তবে উইনোস প্রক্রিয়াগুলি কার্যকর করার একক নয়; সেগুলি সংস্থানগুলির জন্য সংস্থানসমূহ (সহ, যদি প্রক্রিয়াটি চলমান থাকে তবে কমপক্ষে একটি থ্রেড)। প্রক্রিয়া সময়সূচী এবং থ্রেড সময়সূচী মধ্যে পার্থক্য আঁকা আমার কাছে ভুল বলে মনে হচ্ছে। আমি মনে করি যে আপনার প্রথম উত্সটি হয় অত্যধিক চিত্রিত বা পুরানো, কোনও প্রক্রিয়া শিডিয়ুলারের সাথে যোগাযোগের একমাত্র উপায় হ'ল তার থ্রেডগুলির জন্য একটি বেসলাইন অগ্রাধিকার সরবরাহ করে।
— ইয়ান নি-লুইস

হুবহু, প্রক্রিয়া নির্ধারণের মতো কোনও জিনিস নেই
— লুইস কেলসি

1

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

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


1

সি 2 এইচ 5 ওএইচ, কেন আপনি বলবেন যে সমস্ত কিছু উপলব্ধ থাকলে উইন্ডোজ ইন্টারনালগুলিতে কোনও ডকুমেন্টেশন নেই? আমাকে বিট দেয় ... আপনি এখানে বেশিরভাগ বেসিকগুলি পড়তে পারেন, http://msdn.microsoft.com/en-us/library/windows/desktop/ms684259(vvv..85).aspx

উইকিপিডিয়ায় (থ্রেডস (কম্পিউটিং) একটি নিবন্ধ আছে যা বেশিরভাগ পার্থক্য বর্ণনা করে, তবে উদ্ধৃত সূত্র ছাড়া, তাই ...

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.