Bendrąja prasme, sistemos biblioteka yra duomenų, kuriuos operacinės sistemos ar taikomoji programinė įranga naudoja operacijos ar kompiliavimo metu, saugykla.
Sistemos bibliotekose yra dažniausiai naudojamos paprogramės ir funkcijos. Kalbant apie programavimą, bibliotekose saugomos bendros klasės, skirtos darbui su grafika, masyvais, dialogais ir kt.
Sistemos bibliotekos sąvoka taikoma tiek atskiroms programoms, tiek visoms operacinėms sistemoms, ir tai taikoma tiek „Windows“, tiek UNIX, tiek „Mac“šeimoms.
„Bibliotekos“apibrėžimas pirmą kartą pasirodė 1951 m. M. Wilkeso, D. Wheelerio ir S. Gillo knygoje „Elektroninių skaičiavimo mašinų programavimas“.
Pagal veikimo principą sistemos bibliotekos skirstomos į dinamines ir statines.
Dinaminės bibliotekos
Dinaminių nuorodų bibliotekos yra komponentas, įkeliamas į atmintį, kai to reikalauja vykdomoji programa. Taigi nereikia kopijuoti paprogramės kodo į kiekvieną programą - dažniausiai naudojamos funkcijos saugomos kaip biblioteka.
Be to, biblioteką, įkeltą į RAM, vienu metu gali naudoti kelios programos, o tai taupo sistemos išteklius. Tai ypač pasakytina apie ankstyvąsias skaičiavimo dienas.
„Windows OC“„Dynamic Link Library“failų plėtinys yra.dll („Dynamic Link Library“) ir jie saugomi system32 kataloge. Panašūs į UNIX panašių sistemų komponentai vadinami bendrais objektais ir turi plėtinį.so, „Mac OS“-.dlyb.
Maurice'as Wilkesas ir kt. Bibliotekai pateikė tokį apibrėžimą - trumpą, iš anksto parengtą programą individualioms, dažnai sutinkamoms (standartinėms) skaičiavimo operacijoms atlikti.
Nebuvo įmanoma gauti visų modulinio požiūrio į programos vykdymą pranašumų. Taip yra dėl reiškinio, žinomo kaip DLL hell, kuriame programa vienu metu prašo skirtingų tos pačios bibliotekos (DLL) versijų. Tai lemia gedimus ir sumažina OS patikimumą.
Šiuolaikinėse „Windows“šeimos operacinėse sistemose, siekiant išvengti konfliktų, leidžiama naudoti skirtingas bibliotekų versijas, o tai padidina patikimumą, tačiau prieštarauja pačiam modularumo principui.
Statiškos bibliotekos
Statinėse bibliotekose taip pat saugomi paprogramiai ir funkcijų kodai, tačiau, skirtingai nuo dinaminių, jie naudojami sudarant programas. Tai yra, visas reikalingas kodas yra įtrauktas į programą. Programa tampa atskira, nepriklausoma nuo dinamiškų bibliotekų, tačiau auga.
Paprastai sistemoje „Windows“tokių bibliotekų failai turi.lib plėtinį, UNIX tipo sistemose -.a.
Dirbti su daugeliu kompiliuotų kalbų, pavyzdžiui, C, C ++, Pascal, neįmanoma be statinių bibliotekų.