بشكل عام ، مكتبة النظام هي مستودع للبيانات المستخدمة بواسطة أنظمة التشغيل أو برامج التطبيقات أثناء التشغيل أو التجميع.
تحتوي مكتبات النظام على إجراءات فرعية ووظائف شائعة الاستخدام. فيما يتعلق بالبرمجة ، تخزن المكتبات فئات مشتركة للعمل مع الرسومات والمصفوفات ومربعات الحوار والمزيد.
ينطبق مفهوم مكتبة النظام على كل من البرامج الفردية وأنظمة التشغيل ككل ، وهذا ينطبق على عائلات كل من Windows و UNIX و Mac.
ظهر تعريف "المكتبة" لأول مرة في عام 1951 في كتاب M. Wilkes و D. Wheeler و S. Gill "البرمجة لآلات الحساب الإلكترونية".
وفقًا لمبدأ التشغيل ، يتم تقسيم مكتبات النظام إلى ديناميكية وثابتة.
مكتبات ديناميكية
مكتبات الارتباط الديناميكي هي أحد المكونات التي يتم تحميلها في الذاكرة عند طلبها بواسطة برنامج قيد التشغيل. وبالتالي ، ليست هناك حاجة لنسخ رمز الروتين الفرعي في كل تطبيق - يتم تخزين الوظائف الأكثر شيوعًا كمكتبة.
بالإضافة إلى ذلك ، يمكن استخدام المكتبة التي تم تحميلها في ذاكرة الوصول العشوائي في وقت واحد من خلال العديد من التطبيقات ، مما يوفر موارد النظام. كان هذا صحيحًا بشكل خاص في الأيام الأولى للحوسبة.
تحتوي ملفات مكتبة الارتباط الديناميكي في Windows OC على الامتداد.dll (مكتبة الارتباط الديناميكي) ويتم تخزينها في دليل system32. تسمى المكونات المماثلة في الأنظمة الشبيهة بـ UNIX الكائنات المشتركة ولها الامتداد. لذلك ، في نظام التشغيل Mac OS -.dlyb.
قدم موريس ويلكس وزملاؤه التعريف التالي للمكتبة - برنامج قصير مُعد مسبقًا للعمليات الحسابية الفردية (القياسية) التي يتم مواجهتها بشكل متكرر.
لم يكن من الممكن الحصول على جميع مزايا النهج المعياري لتنفيذ البرنامج. ويرجع ذلك إلى الظاهرة المعروفة باسم DLL hell ، حيث يطلب البرنامج إصدارات مختلفة من نفس المكتبة (DLL) في وقت واحد. هذا يؤدي إلى فشل وتقليل موثوقية نظام التشغيل.
في أنظمة التشغيل الحديثة لعائلة Windows ، من أجل تجنب التعارضات ، يُسمح باستخدام إصدارات مختلفة من المكتبات ، مما يزيد من الموثوقية ، ولكنه يتعارض مع مبدأ الوحدة.
مكتبات ثابتة
تخزن المكتبات الثابتة أيضًا الروتين الفرعي ورموز الوظائف ، ولكن على عكس الديناميكية ، يتم استخدامها عند تجميع البرامج. أي ، يتم تضمين الرمز المطلوب بالكامل في البرنامج. يصبح التطبيق قائمًا بذاته ومستقلًا عن المكتبات الديناميكية ، ولكنه ينمو في الحجم.
كقاعدة عامة ، في نظام التشغيل Windows ، تحتوي ملفات هذه المكتبات على ملحق.lib ، على أنظمة تشبه UNIX -.a.
العمل مع معظم اللغات المترجمة ، على سبيل المثال ، C ، C ++ ، Pascal ، مستحيل بدون مكتبات ثابتة.