एक सामान्य अर्थ में, एक सिस्टम लाइब्रेरी ऑपरेशन या संकलन के दौरान ऑपरेटिंग सिस्टम या एप्लिकेशन सॉफ़्टवेयर द्वारा उपयोग किए जाने वाले डेटा का भंडार है।
सिस्टम लाइब्रेरी में आमतौर पर इस्तेमाल किए जाने वाले सबरूटीन और फ़ंक्शन होते हैं। प्रोग्रामिंग के संबंध में, पुस्तकालय ग्राफिक्स, सरणियों, संवादों आदि के साथ काम करने के लिए सामान्य कक्षाओं को संग्रहीत करते हैं।
सिस्टम लाइब्रेरी की अवधारणा व्यक्तिगत कार्यक्रमों और संपूर्ण ऑपरेटिंग सिस्टम दोनों पर लागू होती है, और यह विंडोज, यूनिक्स और मैक दोनों के परिवारों पर लागू होती है।
"लाइब्रेरी" की परिभाषा पहली बार 1951 में एम. विल्क्स, डी. व्हीलर और एस. गिल की पुस्तक "प्रोग्रामिंग फॉर इलेक्ट्रॉनिक कैलकुलेटिंग मशीन्स" में दिखाई दी।
संचालन के सिद्धांत के अनुसार, सिस्टम पुस्तकालयों को गतिशील और स्थिर में विभाजित किया गया है।
गतिशील पुस्तकालय
डायनेमिक लिंक लाइब्रेरी एक घटक है जो एक चल रहे प्रोग्राम द्वारा अनुरोध किए जाने पर मेमोरी में लोड किया जाता है। इस प्रकार, प्रत्येक एप्लिकेशन में सबरूटीन कोड को कॉपी करने की कोई आवश्यकता नहीं है - सबसे सामान्य फ़ंक्शन लाइब्रेरी के रूप में संग्रहीत किए जाते हैं।
इसके अलावा, रैम में लोड की गई लाइब्रेरी का उपयोग कई अनुप्रयोगों द्वारा एक साथ किया जा सकता है, जो सिस्टम संसाधनों को बचाता है। कंप्यूटिंग के शुरुआती दिनों में यह विशेष रूप से सच था।
Windows OC में डायनेमिक लिंक लाइब्रेरी फ़ाइलों का एक्सटेंशन.dll (डायनेमिक लिंक लाइब्रेरी) होता है और ये सिस्टम32 डायरेक्टरी में स्टोर होते हैं। यूनिक्स जैसी प्रणालियों में समान घटकों को साझा ऑब्जेक्ट कहा जाता है और मैक ओएस -.dlyb में एक्सटेंशन.so है।
मौरिस विल्क्स और अन्य ने पुस्तकालय को निम्नलिखित परिभाषा दी - व्यक्ति के लिए एक छोटा, पूर्व-तैयार कार्यक्रम, अक्सर सामना करना पड़ा (मानक) कम्प्यूटेशनल संचालन।
कार्यक्रम निष्पादन के लिए मॉड्यूलर दृष्टिकोण के सभी लाभों को प्राप्त करना संभव नहीं था। यह डीएलएल नरक के रूप में जानी जाने वाली घटना के कारण है, जिसमें प्रोग्राम एक साथ एक ही पुस्तकालय (डीएलएल) के विभिन्न संस्करणों का अनुरोध करता है। यह विफलताओं और ओएस की कम विश्वसनीयता की ओर जाता है।
विंडोज परिवार के आधुनिक ऑपरेटिंग सिस्टम में, संघर्षों से बचने के लिए, पुस्तकालयों के विभिन्न संस्करणों के उपयोग की अनुमति है, जो विश्वसनीयता बढ़ाता है, लेकिन प्रतिरूपकता के सिद्धांत का खंडन करता है।
स्थिर पुस्तकालय
स्टेटिक लाइब्रेरी सबरूटीन और फंक्शन कोड भी स्टोर करते हैं, लेकिन डायनेमिक के विपरीत, प्रोग्राम को संकलित करते समय उनका उपयोग किया जाता है। यानी पूरे जरूरी कोड को प्रोग्राम में शामिल किया जाता है। एप्लिकेशन स्टैंडअलोन हो जाता है, गतिशील पुस्तकालयों से स्वतंत्र होता है, लेकिन आकार में बढ़ता है।
एक नियम के रूप में, विंडोज़ पर, ऐसे पुस्तकालयों की फाइलों में यूनिक्स जैसी प्रणालियों पर.lib एक्सटेंशन होता है -.a.
अधिकांश संकलित भाषाओं के साथ काम करना, उदाहरण के लिए, सी, सी ++, पास्कल, स्थिर पुस्तकालयों के बिना असंभव है।