Re: System call and library call
On May 5, 11:16 pm, "Jim Langston" <tazmas...@rocketmail.com> wrote:
"leoman730" <leoman...@gmail.com> wrote in message
news:1178231577.159315.62880@l77g2000hsb.googlegroups.com...
This is one of the interview question this morning, hope someone can
help out with this. Thanks.
What is the different between System call and library call?
A system call is calling a function or API that interfaces with the
operating system.
A library call is calling a function or API that interfaces with a librar=
y.
The library itself may make system calls.
As far as the application programmer is concerned, there is no
difference. He links against a "system library" (integrated
with the C runtime in libc under Unix, one of four or more
different variants under Windows). How that library achieves
what it achieves is really an implementation detail. On the
systems I've worked on, that actual system interface involved a
hardware level trap or interrupt, and couldn't be directly
called from C++; some of the functions in the "system library"
did nothing more than map the C++ (or C) calling sequence to
these conventions; others did more.
It's possible that something like that is what the interviewer
was looking for; that a system call went through some special
hardware mechanism, e.g. to change context, pass into system
mode, etc., where as other library calls don't. Then again,
it's possible that he was looking for something else. Unless
the job was for some sort of kernel level work, it's a worthless
question.
--
James Kanze (Gabi Software) email: james.kanze@gmail.com
Conseils en informatique orient=E9e objet/
Beratung in objektorientierter Datenverarbeitung
9 place S=E9mard, 78210 St.-Cyr-l'=C9cole, France, +33 (0)1 30 23 00 34