به معنای کلی ، کتابخانه سیستم مخزنی از اطلاعات است که توسط سیستم عامل ها یا نرم افزارهای کاربردی در حین کار یا تدوین استفاده می شود.
کتابخانه های سیستم حاوی زیر برنامه ها و توابع متداول هستند. با توجه به برنامه نویسی ، کتابخانه ها کلاس های رایج را برای کار با گرافیک ، آرایه ها ، گفتگوها و موارد دیگر ذخیره می کنند.
مفهوم کتابخانه سیستم هم برای برنامه های منفرد و هم برای کل سیستم عامل ها قابل استفاده است و این برای خانواده های ویندوز ، UNIX و Mac کاربرد دارد.
تعریف "کتابخانه" اولین بار در سال 1951 در کتاب M. Wilkes، D. Wheeler and S. Gill "Programming for Electronic Machining Machines" ارائه شد
با توجه به اصل عملکرد ، کتابخانه های سیستم به پویا و ایستا تقسیم می شوند.
کتابخانه های پویا
کتابخانه های پیوند پویا ، م componentلفه ای است که در صورت درخواست برنامه در حال اجرا ، در حافظه بارگیری می شود. بنابراین ، نیازی به کپی کردن کد زیرروال در هر برنامه نیست - رایج ترین توابع به عنوان کتابخانه ذخیره می شوند.
علاوه بر این ، کتابخانه بارگیری شده در RAM می تواند توسط چندین برنامه به طور همزمان مورد استفاده قرار گیرد ، که باعث صرفه جویی در منابع سیستم می شود. این امر به ویژه در روزهای اولیه محاسبات بیشتر به چشم می خورد.
پرونده های Dynamic Link Library در Windows OC دارای پسوند.dll (کتابخانه پیوند پویا) بوده و در فهرست system32 ذخیره می شوند. اجزای مشابه در سیستم های مشابه UNIX ، اجسام مشترک نامیده می شوند و پسوند.so ، در Mac OS -.dlyb را دارند.
موریس ویلکس و همکاران تعریف زیر را به کتابخانه دادند - یک برنامه کوتاه و از پیش آماده شده برای کارهای محاسباتی منفرد ، متداول (استاندارد).
بدست آوردن تمام مزایای یک رویکرد مدولار برای اجرای برنامه امکان پذیر نبود. این به دلیل پدیده ای است که به عنوان جهنم DLL شناخته می شود ، که در آن برنامه به طور همزمان نسخه های مختلف یک کتابخانه (DLL) را درخواست می کند. این امر منجر به خرابی و کاهش قابلیت اطمینان سیستم عامل می شود.
در سیستم عامل های مدرن خانواده ویندوز ، برای جلوگیری از درگیری ، استفاده از نسخه های مختلف کتابخانه مجاز است ، که باعث افزایش قابلیت اطمینان می شود ، اما با اصل مدولار بودن مغایرت دارد.
کتابخانه های استاتیک
کتابخانه های استاتیک کدهای زیر برنامه و عملکرد را نیز ذخیره می کنند ، اما بر خلاف کدهای پویا ، هنگام تدوین برنامه ها از آنها استفاده می شود. یعنی کل کد مورد نیاز در برنامه گنجانده شده است. برنامه مستقل و مستقل از کتابخانه های پویا می شود ، اما اندازه آن بزرگتر می شود.
به طور معمول ، در ویندوز ، پرونده های این کتابخانه ها دارای پسوند.lib ، در سیستم های مشابه UNIX هستند -.a.
کار با بیشتر زبانهای کامپایل شده ، به عنوان مثال C ، C ++ ، Pascal ، بدون کتابخانه های استاتیک غیرممکن است.