Panggilan sistem vs mengganggu
Pemproses biasa melaksanakan arahan satu persatu. Tetapi mungkin ada keadaan apabila pemproses terpaksa berhenti sementara dan memegang arahan semasa dan melaksanakan beberapa program atau segmen kod lain (tinggal di beberapa tempat lain). Setelah melakukan ini, pemproses kembali ke pelaksanaan biasa dan terus dari mana ia berhenti. Panggilan sistem dan gangguan adalah keadaan seperti itu. Panggilan sistem adalah panggilan ke subrutin yang dibina ke dalam sistem. Interrupt adalah gangguan kawalan program yang disebabkan oleh peristiwa perkakasan luaran.
Apa itu Panggilan Sistem?
Panggilan sistem menyediakan program yang dijalankan di komputer antara muka untuk bercakap dengan sistem operasi. Apabila program perlu meminta perkhidmatan (yang mana ia tidak mempunyai kebenaran sendiri) dari kernel sistem operasi ia menggunakan panggilan sistem. Proses tahap pengguna tidak mempunyai keizinan yang sama seperti proses yang secara langsung berinteraksi dengan sistem operasi. Contohnya, untuk berkomunikasi dengan peranti I/O luaran atau untuk berinteraksi dengan proses lain, program harus menggunakan panggilan sistem.
Apa itu gangguan?
Semasa pelaksanaan biasa program komputer, mungkin ada peristiwa yang boleh menyebabkan CPU berhenti sementara. Peristiwa seperti ini dipanggil gangguan. Gangguan boleh disebabkan oleh salah satu perisian atau kesalahan perkakasan. Gangguan perkakasan dipanggil (hanya) mengganggu, sementara gangguan perisian dipanggil pengecualian atau perangkap. Sebaik sahaja gangguan (perisian atau perkakasan) dibangkitkan, kawalan dipindahkan ke subrutin khas yang dipanggil ISR (rutin perkhidmatan gangguan) yang boleh mengendalikan syarat -syarat yang dibangkitkan oleh gangguan.
Seperti yang disebutkan di atas, istilah gangguan biasanya dikhaskan untuk gangguan perkakasan. Mereka adalah gangguan kawalan program yang disebabkan oleh peristiwa perkakasan luaran. Di sini, luaran bermaksud luaran ke CPU. Gangguan perkakasan biasanya datang 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 bunyi, kad video, dll). Itu bermaksud gangguan perkakasan hampir tidak pernah berlaku kerana beberapa peristiwa yang berkaitan dengan program pelaksanaan. Sebagai contoh, peristiwa seperti tekan utama pada papan kekunci oleh pengguna, atau pemasa perkakasan dalaman masa keluar dapat meningkatkan gangguan seperti ini dan dapat memaklumkan CPU bahawa peranti tertentu memerlukan perhatian. Dalam keadaan seperti itu CPU akan menghentikan apa sahaja yang dilakukannya (saya.e. menjeda program semasa), menyediakan perkhidmatan yang diperlukan oleh peranti dan akan kembali ke program biasa.
Apakah perbezaan antara panggilan sistem dan mengganggu?
Panggilan Sistem adalah panggilan ke subrutin yang dibina ke dalam sistem, sementara gangguan adalah peristiwa, yang menyebabkan pemproses untuk sementara waktu untuk melaksanakan pelaksanaan semasa. Walau bagaimanapun, satu perbezaan utama ialah panggilan sistem adalah segerak, sedangkan gangguan tidak. Itu bermakna panggilan sistem berlaku pada masa tetap (biasanya ditentukan oleh pengaturcara), tetapi gangguan boleh berlaku pada bila -bila masa kerana peristiwa yang tidak dijangka seperti akhbar utama pada papan kekunci oleh pengguna. Oleh itu, apabila panggilan sistem berlaku, pemproses hanya perlu ingat di mana hendak kembali ke, tetapi sekiranya berlaku gangguan, pemproses harus mengingati kedua -dua tempat untuk kembali ke dan keadaan sistem. Tidak seperti panggilan sistem, gangguan biasanya tidak ada kaitan dengan program semasa.