অপারেটিং সিস্টেমে ডেডলক কী: শর্তাদি এবং সনাক্তকরণ অ্যালগরিদম

সমস্যাগুলি দূর করার জন্য আমাদের উপকরণটি ব্যবহার করে দেখুন





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

অপারেটিং সিস্টেমের ডেডলক কী?

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




গাড়ী-উদাহরণ

গাড়ী-উদাহরণ

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



প্রসেসর-উদাহরণ

প্রসেসর-উদাহরণ

ডেড-লক শর্তাদি

নীচে চারটি গুরুত্বপূর্ণ অচলাবস্থার পরিস্থিতি ঘটতে হবে যদি সমস্ত শর্ত একই সাথে ঘটে তবে অচলাবস্থা হওয়ার নির্দিষ্ট সম্ভাবনা রয়েছে।

পারস্পরিক বর্জন

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

পারস্পরিক-বাদ দেওয়া

পারস্পরিক-বর্জন

কোনও প্রাক-প্রত্যাহার নেই

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


প্রিম্পশন-উদাহরণ নয়

কোন-পূর্বসরণ-উদাহরণ

ধরুন এবং অপেক্ষা করুন

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

হোল্ড-অ্যান্ড-ওয়েট-উদাহরণ

হোল্ড-অ্যান্ড ওয়েট-উদাহরণ

বিজ্ঞপ্তি অপেক্ষা

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

বিজ্ঞপ্তি-অপেক্ষা-উদাহরণ

বিজ্ঞপ্তি-অপেক্ষা-উদাহরণ

মৃত-লক সনাক্তকরণ অ্যালগরিদম

যেসব ক্ষেত্রে আমরা প্রক্রিয়াগুলিতে সংস্থানগুলি বরাদ্দ করি এবং অপারেটিং সিস্টেমটি যদি সিস্টেমে কোনও অচলাবস্থা দেখা দেয় বা ২ টি প্রধান অচল সনাক্তকরণ অ্যালগরিদম ব্যবহার করে না তা পরীক্ষা করে দেখা হয়

  • একক উদাহরণ
  • রিসোর্সের ধরণের একাধিক উদাহরণ

একক দৃষ্টান্ত

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

  • রিসোর্স বরাদ্দ গ্রাফ: প্রক্রিয়াগুলি P1, P2, P3 এবং সংস্থানগুলি R1, R2, R3 সংস্থান-বরাদ্দ গ্রাফটিতে প্রতিনিধিত্ব করে।
  • গ্রাফের জন্য অপেক্ষা করুন: গ্রাফের অপেক্ষায় কেবল প্রসেসগুলি পি 1, পি 2, পি 3 উল্লেখ করা হয়েছে।
  • যদি একটি চক্রের শর্ত থাকে, তবে যদি কোনও ক্রমাগত কোনও প্রবাহের এক দিক থেকে প্রবাহ থাকে তবে এর অর্থ চক্র শর্তটি প্রস্থান করে এবং গ্রাফটির জন্য অপেক্ষা একটি অচল অবস্থায় রয়েছে।

উদাহরণ 1: নীচের উদাহরণটি দেখায় যে কোনও অচল অবস্থা নেই কারণ গ্রাফের অপেক্ষায় কোনও অবিচ্ছিন্ন প্রবাহ লক্ষ্য করা যায় না।

একক-দৃষ্টান্ত-উদাহরণ 1

একক-উদাহরণ -1

উদাহরণ 2: ডি 1 লক অবস্থাটি ঘটেছে কারণ পি 1 থেকে পি 4 এ অবিচ্ছিন্ন চক্র রয়েছে।

একক-দৃষ্টান্ত - উদাহরণ 2

একক-উদাহরণ -2

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

রিসোর্সের ধরণের একাধিক ঘটনা

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

আসুন নীচের উদাহরণটি বিবেচনা করা যাক, ধরে নিন যে 3 টি প্রসেস P0, P1, P2, এবং রিসোর্স টাইপ A, B, C যেখানে A হতে পারে সিপিইউ , বি প্রিন্টার হতে পারে এবং সি কীবোর্ড হতে পারে। কলামের '0' সংখ্যাগুলি সংস্থানসমূহের প্রাপ্যতা উপস্থাপন করে।

কেস (i): মনে করুন আমরা যদি শর্তের অনুরোধটি গ্রহণ করি তবে এটি '000' শর্ত যা P0 এবং P2 তে উপস্থিত রয়েছে, আমাদের কোন অনুরোধটি পূরণ হয়েছে তা যাচাই করা উচিত, প্রসেস P0 বরাদ্দ পাওয়ার পরে প্রক্রিয়াগুলি মুক্তি দেয়, তারপরে পরবর্তী P2 বরাদ্দ পাওয়ার পরে প্রকাশ হয়। এটির মতো, একটি ক্রম অনুসারে, একের পর এক প্রক্রিয়া P0, P2, P3, P1, P4 একটি অনুক্রমে প্রকাশ করে। অবশেষে, আমরা পি 7, পি 2, পি 6 হিসাবে উপলব্ধ সংস্থানগুলি পাই। উপলব্ধ ক্রমটি এমন একটি শর্ত যা কোনও অচলাবস্থা নেই।

ব্যাঙ্কারস-অ্যালগরিদম-উদাহরণ 1

ব্যাঙ্কার-অ্যালগোরিদম-উদাহরণ 1

বাড়িগুলি (ii): ধরুন, পি 2 যদি 000 এর পরিবর্তে 001 হয় তবে এখন ডেডলক শর্তটি পরীক্ষা করতে ব্যাঙ্কারের অ্যালগরিদম প্রয়োগ করুন, যেখানে সমস্ত 5 টি প্রক্রিয়ার মধ্যে কেবলমাত্র P0 সম্পাদন করা হয়। সুতরাং পি 1, পি 2, পি 3, পি 4 পি 0 ব্যতীত অচল অবস্থায় রয়েছে।

ব্যাঙ্কারস-উদাহরণ 2

ব্যাঙ্কার্স-উদাহরণ 2

ডেডলকের অ্যাপ্লিকেশন

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

সুবিধাদি

অচলাবস্থার সুবিধা হ'ল

  • অচলাবস্থা এড়ানোর ক্ষেত্রে কোনও প্রাক-উত্সাহ পালন করা হয় না
  • প্রক্রিয়াতে কোনও বিলম্ব নেই

অসুবিধা

অচলাবস্থার অসুবিধা হ'ল

  • ব্যবহৃত সম্পদটি আগে থেকেই জানা উচিত be
  • দীর্ঘ সময়ের জন্য প্রক্রিয়া অবরুদ্ধ
  • প্রাক-ক্ষয় ক্ষতির উত্তরাধিকার সূত্রে প্রাপ্ত।

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