This question already has an answer here:
When a program is executed from the command line (terminal) and there is a runtime error causing the program to seg-fault/coredump where is the runtime error message come from? Is there documentation for this list of runtime error messages? What is "running" the program? Thanks.
P.S. If the answer to the last question is just "The OS", please elaborate if you can.