title: Why do we need software interupt to start the execution of the system call?
body: <p>This may be very foolish question to ask.
  However I want to clarify my doubts as i am new to this thing.</p>
  
  <p>As per my understanding the CPU executes the instruction of a process step by step by incrementing the program counter.</p>
  
  <p>Now suppose we have a system call as one of the instruction, then why do we need to give a software interrupt when this instruction is encountered? Can't this system call (sequence of instructions) be executed just as other instructions are executing, because as far i understand the interrupts are to signal certain asynchronous events. But here the system call is a part of the process instruction, which is not asynchronous. </p>