Generelt sett er et systembibliotek et lager av data som brukes av operativsystemer eller applikasjonsprogramvare under drift eller kompilering.
Systembiblioteker inneholder ofte brukte underrutiner og funksjoner. Når det gjelder programmering, lagrer biblioteker vanlige klasser for å arbeide med grafikk, matriser, dialoger og mer.
Konseptet med et systembibliotek gjelder både for enkeltprogrammer og for operativsystemer som helhet, og dette gjelder familier av både Windows, UNIX og Mac.
Definisjonen av "bibliotek" dukket først opp i 1951 i boka av M. Wilkes, D. Wheeler og S. Gill "Programming for Electronic Calculating Machines"
I henhold til driftsprinsippet er systembibliotekene delt inn i dynamisk og statisk.
Dynamiske biblioteker
Dynamiske koblingsbiblioteker er en komponent som blir lastet inn i minnet når det blir bedt om det av et program som kjører. Dermed er det ikke nødvendig å kopiere underrutinkoden til hver applikasjon - de vanligste funksjonene er lagret som et bibliotek.
I tillegg kan biblioteket som er lastet inn i RAM, brukes samtidig av flere applikasjoner, noe som sparer systemressurser. Dette gjaldt spesielt de første dagene av databehandling.
Dynamic Link Library-filer i Windows OC har filtypen.dll (Dynamic Link Library) og er lagret i system32-katalogen. Lignende komponenter i UNIX-lignende systemer kalles delte objekter og har utvidelsen.so, i Mac OS -.dlyb.
Maurice Wilkes et al. Ga følgende definisjon til et bibliotek - et kort, forhåndsforberedt program for individuelle, ofte forekommende (standard) beregningsoperasjoner.
Det var ikke mulig å oppnå alle fordelene med en modulær tilnærming til programgjennomføring. Dette skyldes fenomenet kjent som DLL-helvete, der programmet ber om forskjellige versjoner av samme bibliotek (DLL) samtidig. Dette fører til feil og redusert pålitelighet av operativsystemet.
I moderne operativsystemer i Windows-familien, for å unngå konflikter, er bruk av forskjellige versjoner av biblioteker tillatt, noe som øker påliteligheten, men i strid med selve modulprinsippet.
Statiske biblioteker
Statiske biblioteker lagrer også underrutiner og funksjonskoder, men i motsetning til dynamiske brukes de når de kompilerer programmer. Det vil si at hele den nødvendige koden er inkludert i programmet. Søknaden blir frittstående, uavhengig av dynamiske biblioteker, men vokser i størrelse.
Som regel på Windows har filer fra slike biblioteker.lib-utvidelsen, på UNIX-lignende systemer -.a.
Å jobbe med de fleste kompilerte språk, for eksempel C, C ++, Pascal, er umulig uten statiske biblioteker.