GNU/Linux >> Belajar Linux >  >> Linux

Apa perbedaan antara panggilan Perpustakaan dan panggilan Sistem di Linux?

Sebenarnya tidak ada yang namanya "panggilan perpustakaan". Anda bisa memanggil fungsi yang ditautkan ke pustaka bersama. Dan itu hanya berarti bahwa jalur pustaka dicari saat runtime untuk menentukan lokasi fungsi yang akan dipanggil.

Panggilan sistem adalah panggilan kernel tingkat rendah yang ditangani oleh kernel.


Jika Anda mengetik man man di shell Anda, Anda akan melihat daftar bagian manual

2 Panggilan sistem (fungsi yang disediakan oleh kernel)

3 Panggilan pustaka (fungsi dalam pustaka program)

Misalnya, Anda akan menemukan chmod di bagian 2 manual saat mengetik man chmod . Dan fprintf di bagian 3.


Panggilan sistem ditangani langsung oleh kernel.

Panggilan perpustakaan ditangani oleh perpustakaan dinamis (atau terhubung secara statis). Program yang membuat panggilan perpustakaan harus terlebih dahulu mengimpor perpustakaan itu, sebelum panggilan bekerja. Panggilan perpustakaan itu sendiri dapat menggunakan panggilan sistem.

Terkadang pustaka disediakan sebagai "ujung depan" untuk panggilan sistem, untuk menyediakan fungsionalitas ekstra atau kemudahan penggunaan yang tidak disediakan oleh kernel.


Linux
  1. Apa perbedaan antara InnoDB dan MyISAM?

  2. Apa perbedaan antara buffer dan memori cache di Linux?

  3. Apa perbedaan antara driver platform Linux dan driver perangkat biasa?

  1. Apa perbedaan antara wadah Linux dan gambar?

  2. Apa perbedaan antara 'temukan' dan 'temukan' di Linux?

  3. Apa perbedaan antara procfs dan sysfs?

  1. Apa perbedaan antara ls dan l?

  2. Apa perbedaan antara panggilan yang mungkin dan tidak mungkin di Kernel?

  3. Apa perbedaan antara Unix, Linux, BSD dan GNU?