Жалпы мағынада жүйелік кітапхана - бұл операциялық жүйелер немесе қолданбалы бағдарламалық жасақтама жұмыс кезінде немесе компиляция кезінде пайдаланылатын мәліметтер қоймасы.
Жүйелік кітапханаларда жиі қолданылатын ішкі бағдарламалар мен функциялар бар. Бағдарламалауға қатысты кітапханаларда графикамен, массивтермен, диалогтармен және т.б. жұмыс істеуге арналған жалпы сыныптар сақталады.
Жүйелік кітапхана тұжырымдамасы жеке бағдарламаларға да, жалпы операциялық жүйелерге де қатысты, және бұл Windows, UNIX және Mac жүйелерінің отбасыларына қатысты.
«Кітапхана» анықтамасы алғаш рет 1951 жылы М. Уилкс, Д. Уилер және С. Гиллдің «Электронды есептеу машиналарын бағдарламалау» кітабында пайда болды.
Жұмыс принципі бойынша жүйелік кітапханалар динамикалық және статикалық болып бөлінеді.
Динамикалық кітапханалар
Динамикалық сілтеме кітапханалары - жұмыс істеп тұрған бағдарлама сұрағанда жадқа жүктелетін компонент. Осылайша, ішкі бағдарламаның кодын әр қосымшаға көшірудің қажеті жоқ - ең кең таралған функциялар кітапхана ретінде сақталады.
Сонымен қатар, оперативті жадқа жүктелген кітапхананы бірнеше қосымшалар бір уақытта қолдана алады, бұл жүйелік ресурстарды үнемдейді. Бұл әсіресе есептеудің алғашқы күндерінде байқалды.
Windows OC жүйесіндегі Dynamic Link Library файлдары.dll (Dynamic Link Library) кеңейтіліміне ие және system32 каталогында сақталған. UNIX тәрізді жүйелердегі ұқсас компоненттер ортақ объектілер деп аталады және.so, Mac OS -.dlyb кеңейтімдеріне ие.
Морис Уилкс және басқалар Кітапханаға келесі анықтаманы берді - жеке, жиі кездесетін (стандартты) есептеу операциялары үшін қысқа, алдын-ала дайындалған бағдарлама.
Бағдарламаны орындаудың модульдік тәсілінің барлық артықшылықтарын алу мүмкін болмады. Бұл DLL тозақ деп аталатын құбылысқа байланысты, онда бағдарлама бір уақытта бір кітапхананың (DLL) әр түрлі нұсқаларын сұрайды. Бұл ақауларға және ОЖ сенімділігінің төмендеуіне әкеледі.
Windows отбасының заманауи операциялық жүйелерінде қақтығыстарды болдырмау үшін кітапханалардың әр түрлі нұсқаларын қолдануға рұқсат етіледі, бұл сенімділікті арттырады, бірақ модульдік принципке қайшы келеді.
Статикалық кітапханалар
Статикалық кітапханаларда подпрограммалық және функционалдық кодтар да сақталады, бірақ динамикалық кодтардан айырмашылығы, олар программаларды құрастыру кезінде қолданылады. Яғни, барлық қажетті код бағдарламаға енгізілген. Бағдарлама динамикалық кітапханаларға тәуелсіз, дербес болады, бірақ көлемі бойынша өседі.
Әдетте, Windows-та мұндай кітапханалардың файлдары.lib, UNIX тәрізді жүйелерде.a кеңейтіліміне ие.
Көптеген компиляцияланған тілдермен, мысалы, C, C ++, Pascal тілдерімен жұмыс істеу статикалық кітапханаларсыз мүмкін емес.