Panggilan Sistem vs Panggilan Fungsi
Prosesor biasa mengeksekusi instruksi satu per satu. Tetapi mungkin ada saat-saat di mana prosesor harus menghentikan instruksi saat ini dan menjalankan beberapa program atau segmen kode lain (berada di tempat lain). Setelah melakukan ini, prosesor kembali ke eksekusi normal dan melanjutkan dari tempat terakhirnya. Panggilan sistem dan panggilan fungsi adalah kesempatan seperti itu. Panggilan sistem adalah panggilan ke subrutin yang ada di dalam sistem. Panggilan fungsi adalah panggilan ke subrutin dalam program itu sendiri.
Apa itu Panggilan Sistem?
Panggilan sistem menyediakan antarmuka bagi program yang berjalan di komputer untuk berbicara dengan sistem operasi. Ketika sebuah program perlu meminta layanan (yang tidak memiliki izin untuk melakukannya sendiri) dari kernel sistem operasi, ia menggunakan panggilan sistem. Proses tingkat pengguna tidak memiliki izin yang sama dengan proses yang berinteraksi langsung dengan sistem operasi. Misalnya, untuk berkomunikasi dengan dan perangkat I/O eksternal atau untuk berinteraksi dengan proses lain, sebuah program menggunakan panggilan sistem.
Apa itu Panggilan Fungsi?
Panggilan fungsi juga disebut panggilan subrutin. Sebuah subrutin (juga dikenal sebagai prosedur, fungsi, metode atau rutin) adalah bagian dari program yang lebih besar yang bertanggung jawab untuk melaksanakan tugas tertentu. Program yang lebih besar dapat menjalankan beban kerja yang berat, dan subrutin mungkin hanya melakukan tugas sederhana, yang juga tidak bergantung pada pengkodean program yang tersisa. Suatu fungsi dikodekan sedemikian rupa sehingga dapat dipanggil beberapa kali dan dari tempat yang berbeda (bahkan dari dalam fungsi lain). Ketika suatu fungsi dipanggil, prosesor dapat pergi ke tempat kode untuk fungsi tersebut berada dan menjalankan instruksi fungsi satu per satu. Setelah menyelesaikan fungsi, prosesor akan kembali ke tempat yang ditinggalkannya dan melanjutkan eksekusi mulai dari instruksi berikutnya. Fungsi adalah alat yang hebat untuk penggunaan kembali kode. Banyak bahasa pemrograman modern mendukung fungsi. Kumpulan fungsi disebut library. Perpustakaan sering digunakan sebagai sarana berbagi dan perangkat lunak perdagangan. Dalam beberapa kasus, seluruh program dapat berupa urutan subrutin (misalnya kompilasi kode berulir).
Apa perbedaan antara Panggilan Sistem dan Panggilan Fungsi?
Panggilan sistem adalah panggilan ke subrutin yang ada di dalam sistem, sedangkan panggilan fungsi adalah panggilan ke subrutin di dalam program. Tidak seperti panggilan fungsi, panggilan sistem digunakan ketika sebuah program perlu melakukan beberapa tugas, yang tidak memiliki hak istimewa untuk itu. Panggilan sistem adalah titik masuk ke kernel sistem operasi dan tidak terkait dengan program (seperti panggilan fungsi). Tidak seperti, panggilan sistem, panggilan fungsi bersifat portabel. Overhead waktu panggilan sistem lebih dari overhead untuk panggilan fungsi karena transisi antara mode pengguna dan mode kernel harus terjadi. Panggilan sistem dieksekusi di ruang alamat kernel, sedangkan panggilan fungsi dieksekusi di ruang alamat pengguna.