Not sure what you mean. When you type that on a terminal, it'll be the terminal that invokes the program execution.
a.out is not being interpreted, if that's what you're asking.
The compiler produces a binary, that is, a stand-alone executable. It is not "executed"/interpreted by another process.
After a.out has been produced, the compiler has finished its job. It is not involved in running the program in any way, so a.out will run on a machine where no C++ compiler is installed.
You might confuse this with Java or C#. The standard compilers for those do not produce any output that can be run directly on regular processors and therefore these programs must be interpreted by other processes (i.e. java/mono).
1) I compiled c++ program with g++ in linux I got a.out or any binary name which I gave during compile the program
Ex g++ -o sum sum.cpp
so complier completed all process like compling and linkking and convert into machine code.
2) I have sum binary which I excute in linux like shell or any command.
./sum
So does operating system receive any call to perform this operation. or will it be treat like
any shell script and will it go to kernel and excute the instruction
When you run a machine code program the OS will create a process using the machine code of your program and a chunk of system memory. So your a.out program actually forms a part of the running process.