ডেডলক

উইকিপিডিয়া, মুক্ত বিশ্বকোষ থেকে

কম্পিউটার সাইন্সের অপারেটিং সিস্টেম শাখায় ডেডলোক (Deadlock) একটি গুরুত্বপূর্ণ বিষয়।[১] এটি কম্পিউটার মেশিনের একটি অচলাবস্থা যেখানে একাধিক টাস্ক বা কাজ সম্পন্ন হওয়ার জন্য প্রস্তুত কিন্তু পর্যাপ্ত সুবিধা (রিসোর্স) না থাকায় তা সম্পন্ন হচ্ছে না। মাল্টিপ্রসেসিং , প্যারালাল ও ডিস্ট্রিবিউতিভ সিস্টেম এ এটি একটি কমন সমস্যা। অপারেটিং সিস্টেমে, প্রসেস বা থ্রেট যখন ওয়েটিং স্টেটে যায় তখনই এই ডেডলকের সৃষ্টি হয়। প্রকৃতপক্ষে একটি রিসোর্সকে যখন একাধিক প্রোগ্রাম বা প্রসেস ব্যবহার করতে চায় তখন যে অবস্থার সৃষ্টি হয় সেটাই অপারেটিং সিস্টেম এর ভাষায় ডেডলক।[২]

ডেডলক এ পরিনত হওয়ার শর্ত[সম্পাদনা]

  1. মিউচুয়াল এক্সক্লুশন (Mutual Exclusion): একটি রিসোর্সকে এক বা একাধিক প্রসেস ব্যবহার করতে পারে কিন্তু তা ভিন্ন ভিন্ন সময়ে। যখন একাধিক প্রসেস একই সময় একই রিসোর্সকে ব্যবহার করে তখন যে অবস্থার সৃষ্টি হয় তাকে মিউচুয়াল এক্সক্লুশন বলে।
  2. হোল্ড এন্ড ওয়েট (Hold and Wait): একটি প্রসেস অনেক সময় একই সাথে একাধিক রিসোর্সকে ব্যবহার করার জন্য হোল্ড বা ধরে রাখে। ফলে রিসোর্সটিকে আর অন্য কোন প্রসেস ব্যবহার করতে পারে না। তাই এর ফলে যে অবস্থার সৃষ্টি হয় তাকে হোল্ড এন্ড ওয়েট বলে।
  3. নো প্রিমশন (No preemption)
  4. সার্কুলার ওয়েট (Circular Wait)
Circular Wait

ডেডলক সমাধান[সম্পাদনা]

১। ডেডলক প্রিভেনশন (Deadlock Prevention) : সিস্টেম যাতে ডেডলকে না পতিত হয় তার জন্য যে প্রয়োজনীয় ব্যবস্থা গ্রহণ করা হয় তাকে ডেডলক প্রিভেনশন বলে। এ জন্য ডেডলকে পরিনত হওয়ার যে চারটি শর্ত আছে যেমন -

  • মিউচুয়াল এক্সক্লুশন (Mutual Exclusion)
  • হোল্ড এন্ড ওয়েট (Hold and Wait)
  • নো প্রিমশন (No preemption)
  • সার্কুলার ওয়েট (Circular Wait) এগুলো যাতে না ঘটতে পারে তার প্রতি লক্ষ্য রাখা।

২। ডেডলক এভয়ড্যান্স (Deadlock Avoidance) যদি সিস্টেম ডেডলকে পতিত হয় এরকম অবস্থা সৃষ্টি হয় তবে বিভিন্ন ধরনের অ্যালগরিদম আছে যা দিয়ে ডেটলক সমস্যা সমাধান করা হয় । যেমনঃ ১। রিসোর্স অ্যালোকেশন গ্রাফ ও
২। ব্যাংকারস অ্যালগরিদম

তথ্যসূত্র[সম্পাদনা]