Link Statis dan Dinamis

Ketika program di-load dan sudah mulai dieksekusi, semua berkas biner yang dibutuhkan telah di-load ke ruang alamat virtual. Meski pun demikian, sebagian besar program juga butuh menjalankan fungsi yang terdapat di sistem pustaka seperti algoritma sorting, fungsi-fungsi aritmatika, dan lain-lain. Untuk itulah fungsi pustaka perlu untuk di-load juga. Untuk mendapatkan fungsi-fungsi yang terdapat di sistem pustaka, ada dua cara, yaitu:

  1. Link Statis.  Aplikasi dikatakan dikompilasi statis apabila pustaka-pustaka yang dibutuhkan dikompilasi ke dalam binary apllication. Dengan demikian, aplikasi tidak lagi membutuhkan pustaka tambahan. Fungsi pustaka yang dibutuhkan diload langsung ke berkas biner yang dapat dijalankan (executable) program. Kerugian link statis adalah setiap program yang dibuat harus menggandakan fungsi-fungsi dari sistem pustaka, sehingga tidak efisien dalam penggunaan memori fisik dan pemakaian ruang disk.

  2. Link Dinamis.  Pada dasarnya link dinamis merupakan suatu metode penghubungan antara program dengan suatu sistem pustaka secara dinamis dengan cara menghubungkan routine-routine yang ada ke dalam sistem pustaka. Hal ini sangat berguna pada program yang membutuhkan suatu pustaka. Bayangkan saja jika di dalam suatu sistem operasi tidak mempunyai metode penghubungan seperti ini. Setiap sistem program harus mempunyai salinan dari pustakanya agar program tersebut dapat berjalan dengan baik. Hal ini tentu saja akan membuang disk space dan memori utama untuk hal yang kurang perlu.