Dynamic Link Library (DLL) inglizchadan "dinamik bog'lanish kutubxonasi" deb tarjima qilingan. DLL - bu umumiy kutubxona funktsiyalarini bajaradigan bajariladigan fayl. O'zining dinamik aloqasi orqali DLL bajariladigan kodning bir qismi bo'lgan funktsiyani chaqirish usulini taqdim etadi.
Amalga oshiriladigan funktsiya kodining o'zi DLL-da joylashgan bo'lib, unda ishlatilayotgan jarayonlarda bir nechta kompilyatsiya qilingan, bog'langan va saqlangan funktsiyalar mavjud. DLL manbalar va ma'lumotlarni almashish jarayonini soddalashtirishga xizmat qiladi. Bu tizimga o'rnatilgan dasturlarga bir vaqtning o'zida xotiraga yuklangan DLL-ning bitta nusxasining bir nechta tarkibiga kirishga imkon beradi.
Modulli kodlash - DLL-larning ajdodi
DLL yaratish bo'yicha ishlarning boshlanishini modulli kodlash kabi dasturlash usulining paydo bo'lishi deb hisoblash mumkin. Bir vaqtning o'zida modulli kodlash dasturchilarning ishini ancha engillashtirdi, shu bilan har bir yangi dastur uchun bir xil kodni bir necha marta yozmaslik mumkin edi. Barcha sodda dasturlarda juda ko'p o'xshash kodlar mavjud bo'lib, ularni modullar shaklida loyihalashtirishni boshladilar va ularni yangi dasturlarga qo'shdilar. Bir muncha vaqt uchun modulli kodlash eng sodda va eng samarali echim edi va faqat bitta kamchilikka ega edi. Dasturlarga qo'shilgan bir xil modullar disk maydonini egallagan, bu o'sha kunlarda kam edi.
Bir xil modullarda disk maydonini yo'qotish muammosi yagona bo'lib, faqat bitta vazifali operatsion tizimlar mavjud edi. Windows kabi ko'p vazifali operatsion tizimlarning paydo bo'lishi bilan yana bir muammo paydo bo'ldi. Endi bir xil kodga ega modulli dasturlar bir vaqtning o'zida ishga tushirilganda, uni barcha resurslarni "yeb", RAMga yuklashni boshladi. Shunisi e'tiborga loyiqki, o'sha paytda 500 megabaytli xotira moduli mavjud bo'lgan eng katta va juda qimmat bo'lgan. Ammo RAMning maksimal hajmi ham foydalanuvchilarni qutqarmadi, dasturlar RAMni to'liq yukladi va kompyuterning normal ishlashini imkonsiz qildi.
DLLlarning paydo bo'lishi
Ushbu muammolarni hal qilishning yaxshi echimi topildi, xuddi shunday ko'rinishga ega edi: bir xil kodga ega modullar asosiy dastur bilan bog'lanishni to'xtatib, ularni alohida bajariladigan faylga yozib qo'ydi, kerak bo'lganda har qanday dastur unga kirishi mumkin edi. Aynan shu echim har qanday dasturga dinamik ravishda bog'langan DLL-larning asosini tashkil etadi. Endi ushbu kutubxonalarda bajariladigan kodlarni funktsiyalar yoki protseduralar, grafikalar va hattoki videofilmlar shaklida saqlash mumkin, bu disk maydoni va RAM resurslarini tejashga imkon berdi.
Dinamik havola kutubxonalarining birdan-bir kamchiligi dasturni yuklash uchun ortiqcha vaqtni sarflashdir. Ushbu kichik kamchiliklarga qo'shimcha ravishda, DLL faqat afzalliklardan iborat. Shuning uchun ushbu kutubxonalardan keng foydalaniladi va dasturchilar deyarli har qanday dasturda foydalanadilar.