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