Dalam pengertian umum, perpustakaan sistem adalah gudang data yang digunakan oleh sistem operasi atau perisian aplikasi semasa operasi atau penyusunan.
Perpustakaan sistem mengandungi subrutin dan fungsi yang biasa digunakan. Berkenaan dengan pengaturcaraan, perpustakaan menyimpan kelas umum untuk bekerja dengan grafik, tatasusunan, dialog, dan banyak lagi.
Konsep perpustakaan sistem berlaku baik untuk program individu dan sistem operasi secara keseluruhan, dan ini berlaku untuk keluarga Windows, UNIX, dan Mac.
Definisi "perpustakaan" pertama kali muncul pada tahun 1951 dalam buku oleh M. Wilkes, D. Wheeler dan S. Gill "Pengaturcaraan untuk Mesin Pengiraan Elektronik"
Menurut prinsip operasi, perpustakaan sistem dibahagikan kepada dinamik dan statik.
Perpustakaan dinamik
Perpustakaan pautan dinamik adalah komponen yang dimuat ke dalam memori apabila diminta oleh program yang sedang berjalan. Oleh itu, tidak perlu menyalin kod subrutin ke dalam setiap aplikasi - fungsi yang paling biasa disimpan sebagai perpustakaan.
Selain itu, perpustakaan yang dimuat ke dalam RAM dapat digunakan secara serentak oleh beberapa aplikasi, yang dapat menjimatkan sumber sistem. Perkara ini berlaku terutamanya pada awal komputer.
Fail Dynamic Link Library di Windows OC mempunyai ekstensi.dll (Dynamic Link Library) dan disimpan dalam direktori system32. Komponen serupa dalam sistem seperti UNIX disebut objek bersama dan mempunyai lanjutan.so, di Mac OS -.dlyb.
Maurice Wilkes et al. Memberi definisi berikut ke perpustakaan - program pendek dan pra-persediaan untuk operasi pengiraan individu, biasa (standard).
Tidak mungkin memperoleh semua kelebihan pendekatan modular untuk pelaksanaan program. Ini disebabkan oleh fenomena yang dikenali sebagai DLL neraka, di mana program meminta serentak versi yang berbeza dari perpustakaan yang sama (DLL). Ini membawa kepada kegagalan dan mengurangkan kebolehpercayaan OS.
Dalam sistem operasi moden keluarga Windows, untuk mengelakkan konflik, penggunaan perpustakaan versi berbeza dibenarkan, yang meningkatkan kebolehpercayaan, tetapi bertentangan dengan prinsip modulariti.
Perpustakaan statik
Perpustakaan statik juga menyimpan kod subrutin dan fungsi, tetapi tidak seperti yang dinamik, ia digunakan semasa menyusun program. Iaitu, keseluruhan kod yang diperlukan dimasukkan dalam program. Aplikasi ini menjadi mandiri, bebas dari perpustakaan dinamik, tetapi saiznya bertambah besar.
Sebagai peraturan, pada Windows, fail perpustakaan tersebut mempunyai lanjutan.lib, pada sistem seperti UNIX -.a.
Bekerja dengan kebanyakan bahasa yang disusun, misalnya, C, C ++, Pascal, tidak mungkin dilakukan tanpa perpustakaan statik.