সেমাফোর এবং মনিটরের মধ্যে পার্থক্য

সেমাফোর এবং মনিটরের মধ্যে পার্থক্য
সেমাফোর এবং মনিটরের মধ্যে পার্থক্য

ভিডিও: সেমাফোর এবং মনিটরের মধ্যে পার্থক্য

ভিডিও: সেমাফোর এবং মনিটরের মধ্যে পার্থক্য
ভিডিও: বিপদ এবং ঝুঁকি মধ্যে পার্থক্য কি? | ঝুঁকি মূল্যায়ন প্রশিক্ষণ | iHASCO 2024, নভেম্বর
Anonim

সেমাফোর বনাম মনিটর

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

সেমাফোর কি?

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

মনিটর কি?

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

সেমাফোর এবং মনিটরের মধ্যে পার্থক্য কী?

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

প্রস্তাবিত: