System Call vs Interrupt
Prosesor biasa menjalankan instruksi satu per satu. Tetapi mungkin ada saat-saat ketika prosesor harus berhenti sementara dan memegang instruksi saat ini dan menjalankan beberapa program atau segmen kode lainnya (berada di tempat lain). Setelah melakukan ini, prosesor kembali ke eksekusi normal dan melanjutkan dari tempat sebelumnya. Panggilan sistem dan interupsi adalah kesempatan seperti itu. Panggilan sistem adalah panggilan ke subrutin yang ada di dalam sistem. Interupsi adalah gangguan kontrol program yang disebabkan oleh peristiwa perangkat keras eksternal.
Apa itu Panggilan Sistem?
Panggilan sistem memberikan program yang berjalan di komputer antarmuka untuk berbicara dengan sistem operasi. Ketika sebuah program perlu meminta layanan (yang tidak memiliki izin sendiri) dari kernel sistem operasi itu 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, suatu program harus menggunakan panggilan sistem.
Apa itu Interrupt?
Selama eksekusi normal dari program komputer, mungkin ada peristiwa yang dapat menyebabkan CPU untuk sementara berhenti. Peristiwa seperti ini disebut interupsi. Gangguan dapat disebabkan oleh kesalahan perangkat lunak atau perangkat keras. Interupsi perangkat keras disebut (hanya) Interupsi, sedangkan interupsi perangkat lunak disebut Pengecualian atau Perangkap. Setelah interupsi (perangkat lunak atau perangkat keras) dinaikkan, kontrol ditransfer ke subrutin khusus yang disebut ISR (Interrupt Service Routine) yang dapat menangani kondisi yang dimunculkan oleh interrupt.
Seperti disebutkan di atas, istilah Interrupt biasanya dicadangkan untuk interupsi perangkat keras. Mereka adalah gangguan kontrol program yang disebabkan oleh peristiwa perangkat keras eksternal. Di sini, eksternal berarti eksternal ke CPU. Gangguan perangkat keras biasanya berasal dari berbagai sumber seperti chip timer, perangkat periferal (keyboard, mouse, dll.), Port I / O (serial, paralel, dll.), Drive disk, jam CMOS, kartu ekspansi (kartu suara, video kartu, dll). Itu berarti interupsi perangkat keras hampir tidak pernah terjadi karena beberapa peristiwa yang berkaitan dengan program pelaksana. Misalnya, acara seperti penekanan tombol pada keyboard oleh pengguna, atau penghentian waktu perangkat keras internal dapat meningkatkan interupsi semacam ini dan dapat memberi tahu CPU bahwa perangkat tertentu perlu perhatian. Dalam situasi seperti itu, CPU akan menghentikan apa pun yang dilakukannya (mis. Menjeda program saat ini), menyediakan layanan yang diperlukan oleh perangkat dan akan kembali ke program normal.
Apa perbedaan antara System Call dan Interrupt?
Panggilan sistem adalah panggilan ke subrutin yang ada di dalam sistem, sedangkan Interupsi adalah suatu peristiwa, yang menyebabkan prosesor menahan sementara eksekusi yang sedang berlangsung. Namun satu perbedaan utama adalah bahwa panggilan sistem sinkron, sedangkan interupsi tidak. Itu berarti panggilan sistem terjadi pada waktu yang tetap (biasanya ditentukan oleh programmer), tetapi interupsi dapat terjadi kapan saja karena peristiwa yang tidak terduga seperti penekanan tombol pada keyboard oleh pengguna. Oleh karena itu, ketika terjadi panggilan sistem, prosesor hanya perlu mengingat ke mana harus kembali, tetapi jika terjadi interupsi, prosesor harus mengingat tempat untuk kembali dan keadaan sistem. Tidak seperti panggilan sistem, interupsi biasanya tidak ada hubungannya dengan program saat ini.