System calls are synchronous, they occur in a fixed order determined by the program. System interrupts are asynchronous and can occur at any time. They are invoked by the user.
Login to rate this answer.
System Call: It is can by a user to run a program via OS kernel through instructions for which he/she is not granted permission. System calls are synchronous and provide an interface between system and the user
Interrupts: They are async signals that demands sudden attention from the OS. There can be software interrupts and hardware interrupts that should be dealt asap.
There are 2 kinds of interrupts Maskable interrupts and Non-Maskable interrupts.
Maskable interrupts can be dealt by setting an interrupt bit in Interrupt Mask register(IMR) and can be ignored till some time, on the other hand Non maskable interrupts can't be ignored anyhow.
Main difference between System calls and Interrupts is that System calls are perfectly synchronous and sequential . We can store the position of the call and then return to the instruction as the time comes.
Interrupts are async in nature and must be handled asap , as the occurrence of the instruction is no way related to time of what the CPU was doing at the time of interrupt .(like pressing a key )
Login to rate this answer.