Panggilan Sistem lwn Gangguan
Pemproses biasa melaksanakan arahan satu demi satu. Tetapi mungkin terdapat keadaan apabila pemproses terpaksa berhenti buat sementara waktu dan menahan arahan semasa dan melaksanakan beberapa program atau segmen kod lain (berdiam di tempat lain). Selepas melakukan ini, pemproses kembali kepada pelaksanaan biasa dan meneruskan dari tempat ia berhenti. Panggilan sistem dan gangguan adalah keadaan sedemikian. Panggilan sistem ialah panggilan ke subrutin terbina dalam sistem. Gangguan ialah gangguan kawalan program yang disebabkan oleh peristiwa perkakasan luaran.
Apakah Panggilan Sistem?
Panggilan sistem menyediakan antara muka program yang dijalankan pada komputer untuk bercakap dengan sistem pengendalian. Apabila program perlu meminta perkhidmatan (yang mana ia tidak mempunyai kebenaran sendiri) daripada kernel sistem pengendalian ia menggunakan panggilan sistem. Proses peringkat pengguna tidak mempunyai kebenaran yang sama seperti proses yang berinteraksi secara langsung dengan sistem pengendalian. Contohnya, untuk berkomunikasi dengan dan peranti I/O luaran atau untuk berinteraksi dengan sebarang proses lain, program perlu menggunakan panggilan sistem.
Apakah itu Gangguan?
Semasa pelaksanaan biasa program komputer, mungkin terdapat peristiwa yang boleh menyebabkan CPU terhenti buat sementara waktu. Peristiwa seperti ini dipanggil gangguan. Gangguan boleh disebabkan oleh sama ada kerosakan perisian atau perkakasan. Gangguan perkakasan dipanggil (sekadar) Gangguan, manakala gangguan perisian dipanggil Pengecualian atau Perangkap. Sebaik sahaja gangguan (perisian atau perkakasan) dinaikkan, kawalan dipindahkan ke subrutin khas yang dipanggil ISR (Rutin Perkhidmatan Interrupt) yang boleh mengendalikan keadaan yang dibangkitkan oleh gangguan.
Seperti yang dinyatakan di atas, istilah Interrupt biasanya dikhaskan untuk gangguan perkakasan. Ia adalah gangguan kawalan program yang disebabkan oleh peristiwa perkakasan luaran. Di sini, luaran bermaksud luaran kepada CPU. Gangguan perkakasan biasanya datang daripada pelbagai sumber seperti cip pemasa, peranti persisian (papan kekunci, tetikus, dll.), port I/O (bersiri, selari, dll.), pemacu cakera, jam CMOS, kad pengembangan (kad bunyi, video). kad, dll). Ini bermakna gangguan perkakasan hampir tidak pernah berlaku disebabkan oleh beberapa peristiwa yang berkaitan dengan program pelaksanaan. Contohnya, peristiwa seperti penekanan kekunci pada papan kekunci oleh pengguna, atau pemasa pemasa perkakasan dalaman yang tamat masa boleh menimbulkan gangguan jenis ini dan boleh memaklumkan CPU bahawa peranti tertentu memerlukan perhatian. Dalam keadaan seperti itu CPU akan menghentikan apa sahaja yang sedang dilakukannya (iaitu menjeda atur cara semasa), menyediakan perkhidmatan yang diperlukan oleh peranti dan akan kembali ke program biasa.
Apakah perbezaan antara Panggilan Sistem dan Gangguan?
Panggilan sistem ialah panggilan ke subrutin terbina dalam sistem, manakala Interrupt ialah peristiwa, yang menyebabkan pemproses menahan pelaksanaan semasa buat sementara waktu. Walau bagaimanapun, satu perbezaan utama ialah panggilan sistem adalah segerak, manakala gangguan tidak. Ini bermakna panggilan sistem berlaku pada masa tetap (biasanya ditentukan oleh pengaturcara), tetapi gangguan boleh berlaku pada bila-bila masa disebabkan peristiwa yang tidak dijangka seperti tekan kekunci pada papan kekunci oleh pengguna. Oleh itu, apabila panggilan sistem berlaku, pemproses hanya perlu mengingati tempat untuk kembali, tetapi sekiranya berlaku gangguan, pemproses perlu mengingati kedua-dua tempat untuk kembali dan keadaan sistem. Tidak seperti panggilan sistem, gangguan biasanya tidak mempunyai kaitan dengan program semasa.