Ümumi mənada sistem kitabxanası əməliyyat və ya tərtibat zamanı əməliyyat sistemləri və ya tətbiq proqramı tərəfindən istifadə olunan məlumatların deposudur.
Sistem kitabxanalarında çox istifadə olunan alt proqramlar və funksiyalar var. Proqramlaşdırma ilə əlaqədar olaraq, kitabxanalar qrafika, massiv, informasiya qutusu və s. İlə işləmək üçün ümumi dərsləri saxlayır.
Sistem kitabxanasının konsepsiyası həm fərdi proqramlara, həm də bütünlükdə əməliyyat sistemlərinə tətbiq olunur və bu həm Windows, UNIX və Mac ailələrinə aiddir.
"Kitabxana" tərifi ilk dəfə 1951-ci ildə M. Wilkes, D. Wheeler və S. Gillin "Elektron Hesablama Maşınları üçün Proqramlaşdırma" kitabında ortaya çıxdı.
Əməliyyat prinsipinə görə sistem kitabxanaları dinamik və statik olaraq bölünür.
Dinamik kitabxanalar
Dinamik əlaqə kitabxanaları, işləyən bir proqramın tələbi ilə yaddaşa yüklənən bir komponentdir. Beləliklə, alt proqram kodunu hər tətbiqə köçürməyə ehtiyac yoxdur - ən çox yayılmış funksiyalar kitabxana kimi saxlanılır.
Bundan əlavə, RAM-ə yüklənmiş kitabxana sistem resurslarına qənaət edən bir neçə tətbiq tərəfindən eyni vaxtda istifadə edilə bilər. Bu, xüsusən hesablamanın ilk günlərində daha doğrudur.
Windows OC-dəki Dynamic Link Library faylları.dll (Dynamic Link Library) uzantısına malikdir və system32 qovluğunda saxlanılır. UNIX-ə bənzər sistemlərdəki oxşar komponentlər paylaşılan obyekt adlanır və.so, Mac OS -.dlyb uzantısına malikdir.
Maurice Wilkes və digərləri bir kitabxanaya aşağıdakı tərifi verdilər - fərdi, tez-tez rast gəlinən (standart) hesablama əməliyyatları üçün qısa, əvvəlcədən hazırlanmış bir proqram.
Proqramın icrasına modul yanaşmanın bütün üstünlüklərini əldə etmək mümkün deyildi. Bu, proqramın eyni kitabxananın (DLL) eyni zamanda fərqli versiyalarını tələb etdiyi DLL cəhənnəm olaraq bilinən fenomenlə əlaqədardır. Bu, uğursuzluqlara və OS-nin etibarlılığının azalmasına səbəb olur.
Windows ailəsinin müasir əməliyyat sistemlərində ziddiyyətlərin qarşısını almaq üçün kitabxanaların fərqli versiyalarının istifadəsinə icazə verilir, bu da etibarlılığı artırır, lakin modulluq prinsipinə ziddir.
Statik kitabxanalar
Statik kitabxanalarda alt proqram və funksiya kodları da saxlanılır, lakin dinamiklərdən fərqli olaraq, proqramlar tərtib edilərkən istifadə olunur. Yəni tələb olunan kodun hamısı proqrama daxil edilmişdir. Tətbiq dinamik kitabxanalardan asılı olmayaraq müstəqil olur, lakin ölçüsü böyüyür.
Bir qayda olaraq, Windows-da bu cür kitabxanaların faylları.lib uzantısına, UNIX kimi sistemlərdə -.a.
Ən çox tərtib olunmuş dillərlə işləmək, məsələn, C, C ++, Pascal, statik kitabxanalar olmadan mümkün deyil.