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