Sistem Call vs Interrupt
Pemproses biasa menjalankan arahan satu demi satu. Tetapi mungkin ada masa apabila pemproses terpaksa berhenti sementara dan memegang arahan semasa dan melaksanakan beberapa program atau segmen kod lain (yang tinggal di beberapa tempat lain). Selepas melakukan ini, pemproses akan kembali ke pelaksanaan normal dan terus dari mana ia berhenti. Panggilan sistem dan gangguan adalah peristiwa sedemikian. Panggilan sistem adalah panggilan ke subrutin yang dibina ke dalam sistem. Satu gangguan adalah gangguan kawalan program yang disebabkan oleh peristiwa perkakasan luaran.
Apakah Sistem Panggilan??
Panggilan sistem menyediakan program yang berjalan pada komputer antara muka untuk berbincang dengan sistem operasi. Apabila program perlu meminta perkhidmatan (yang tidak mempunyai kebenaran itu sendiri) dari kernel sistem operasi ia menggunakan panggilan sistem. Proses peringkat pengguna tidak mempunyai keizinan yang sama seperti proses yang secara langsung berinteraksi dengan sistem operasi. Sebagai contoh, untuk berkomunikasi dengan dan peranti luaran I / O atau untuk berinteraksi dengan mana-mana proses lain, program harus menggunakan panggilan sistem.
Apa itu Interrupt?
Semasa pelaksanaan normal program komputer, mungkin ada peristiwa yang boleh menyebabkan CPU berhenti sementara. Peristiwa-peristiwa seperti ini disebut gangguan. Gangguan boleh disebabkan oleh perisian atau kesalahan perkakasan. Penggantungan perkakasan dipanggil (hanya) Interrupts, sementara gangguan perisian dipanggil Pengecualian atau Perangkap. Sebaik sahaja gangguan (perisian atau perkakasan) dinaikkan, kawalan dipindahkan ke subrutin khas yang disebut ISR (Ralat Perkhidmatan Interrupt) yang boleh mengendalikan keadaan yang dibangkitkan oleh gangguan.
Seperti yang disebutkan di atas, Istilah Interrupt biasanya digunakan untuk gangguan sampingan. Mereka adalah gangguan kawalan program yang disebabkan oleh peristiwa perkakasan luaran. Di sini, luaran bermaksud luaran ke CPU. Penggantungan perkakasan biasanya datang dari pelbagai sumber seperti cip pemasa, peranti periferi (papan kekunci, tetikus, dll.), Port I / O (siri, selari, dll.), Pemacu cakera, jam CMOS, kad pengembangan (kad bunyi, kad, dan sebagainya). Ini bermakna gangguan peranti keras hampir tidak pernah berlaku disebabkan oleh beberapa peristiwa yang berkaitan dengan program pelaksana. Contohnya, peristiwa seperti akhbar utama pada keyboard oleh pengguna, atau pemasa perkakasan dalaman yang menetap dapat menimbulkan gangguan ini dan dapat memberitahu CPU bahawa peranti tertentu memerlukan perhatian. Dalam keadaan seperti itu CPU akan menghentikan apa sahaja yang dilakukannya (iaitu menghentikan program semasa), menyediakan perkhidmatan yang diperlukan oleh peranti dan akan kembali kepada program biasa.
Apakah perbezaan di antara Panggilan Sistem dan Interrupt?
Panggilan sistem adalah panggilan kepada subrutin yang dibina ke dalam sistem, manakala Interrupt adalah peristiwa, yang menyebabkan prosesor untuk sementara memegang pelaksanaan semasa. Walau bagaimanapun satu perbezaan utama ialah panggilan sistem adalah segerak, manakala gangguan tidak. Ini bermakna panggilan sistem berlaku pada masa yang ditetapkan (biasanya ditentukan oleh pemrogram), tetapi gangguan boleh berlaku pada bila-bila masa disebabkan peristiwa yang tidak dijangka seperti akhbar utama pada keyboard oleh pengguna. Oleh itu, apabila suatu sistem panggilan berlaku, pemproses hanya perlu mengingati di mana hendak kembali, tetapi sekiranya berlaku gangguan, pemproses perlu mengingati kedua-dua tempat untuk kembali ke keadaan sistem. Tidak seperti panggilan sistem, gangguan biasanya tidak ada kaitan dengan program semasa.