Panggilan Sistem vs Gangguan
Pemproses biasa melaksanakan arahan satu persatu. Tetapi mungkin ada kalanya ketika prosesor harus berhenti sementara dan menahan instruksi saat ini dan menjalankan beberapa program atau segmen kod yang lain (tinggal di tempat lain). Setelah melakukan ini, pemproses kembali ke pelaksanaan normal dan terus dari tempat ia berhenti. Panggilan sistem dan gangguan adalah kejadian seperti itu. Panggilan sistem adalah panggilan ke subrutin yang terbina dalam sistem. Gangguan adalah gangguan kawalan program yang disebabkan oleh peristiwa perkakasan luaran.
Apa itu Panggilan Sistem?
Panggilan sistem menyediakan program yang berjalan di komputer antara muka untuk bercakap dengan sistem operasi. Apabila program perlu meminta perkhidmatan (yang mana ia tidak mempunyai izin sendiri) dari kernel sistem operasi, ia menggunakan panggilan sistem. Proses peringkat pengguna tidak mempunyai kebenaran yang sama dengan proses yang berinteraksi secara langsung dengan sistem operasi. Sebagai contoh, untuk berkomunikasi dengan dan peranti I / O luaran atau untuk berinteraksi dengan proses lain, program harus menggunakan panggilan sistem.
Apa itu Gangguan?
Selama pelaksanaan program komputer secara normal, mungkin ada peristiwa yang dapat menyebabkan CPU berhenti sementara. Acara seperti ini disebut gangguan. Gangguan boleh disebabkan oleh kerosakan perisian atau perkakasan. Gangguan perkakasan disebut (sekadar) Gangguan, sementara gangguan perisian disebut Pengecualian atau Perangkap. Setelah gangguan (perisian atau perkakasan) dinaikkan, kawalan dipindahkan ke subrutin khas yang disebut ISR (Interrupt Service Routine) yang dapat menangani keadaan yang ditimbulkan oleh gangguan tersebut.
Seperti yang disebutkan di atas, istilah Interrupt biasanya disediakan untuk gangguan perkakasan. Ini adalah gangguan kawalan program yang disebabkan oleh peristiwa perkakasan luaran. Di sini, luaran bermaksud luaran CPU. Gangguan perkakasan biasanya berasal dari pelbagai sumber seperti cip pemasa, peranti periferal (papan kekunci, tetikus, dll.), Port I / O (bersiri, selari, dll.), Pemacu cakera, jam CMOS, kad pengembangan (kad suara, video kad, dll). Itu bermaksud gangguan perkakasan hampir tidak pernah berlaku disebabkan oleh beberapa peristiwa yang berkaitan dengan program pelaksanaan. Sebagai contoh, peristiwa seperti menekan kekunci pada papan kekunci oleh pengguna, atau waktu pemasa perkakasan dalaman boleh meningkatkan gangguan seperti ini dan dapat memberitahu CPU bahawa peranti tertentu memerlukan perhatian. Dalam situasi seperti itu CPU akan menghentikan apa sahaja yang dilakukannya (iaitu menghentikan program semasa),menyediakan perkhidmatan yang diperlukan oleh peranti dan akan kembali ke program biasa.
Apakah perbezaan antara Panggilan Sistem dan Gangguan?
Panggilan sistem adalah panggilan ke subrutin yang terpasang ke dalam sistem, sementara Interrupt adalah peristiwa, yang menyebabkan pemproses menahan pelaksanaan saat ini untuk sementara waktu. Namun satu perbezaan utama adalah bahawa panggilan sistem adalah segerak, sedangkan gangguan tidak. Itu bermaksud panggilan sistem berlaku pada waktu yang tetap (biasanya ditentukan oleh pengaturcara), tetapi gangguan boleh berlaku pada bila-bila masa disebabkan oleh peristiwa yang tidak dijangka seperti tekan kekunci pada papan kekunci oleh pengguna. Oleh itu, apabila berlaku panggilan sistem, pemproses hanya perlu ingat ke mana hendak kembali, tetapi sekiranya berlaku gangguan, pemproses harus mengingati tempat untuk kembali dan keadaan sistem. Tidak seperti panggilan sistem, gangguan biasanya tidak ada kaitan dengan program semasa.