By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
448,470 Members | 949 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 448,470 IT Pros & Developers. It's quick & easy.

System call and library call

P: n/a
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?

May 3 '07 #1
Share this Question
Share on Google+
6 Replies


P: n/a
jg
On May 3, 3:32 pm, leoman730 <leoman...@gmail.comwrote:
What is the different between System call and library call?
A system call is a call to OS, whereas a library call is a call
to a library.

JG

May 3 '07 #2

P: n/a
leoman730 wrote:
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?
Here's another question. What's your C++ *language* question?

As to your first, try Google or Wikipedia.

May 3 '07 #3

P: n/a
On May 3, 6:32 pm, leoman730 <leoman...@gmail.comwrote:
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?
C++ doesn't know about a "system". It knows about an abstract machine,
though, and as such knows about volatile variables and I/O operations.
In that sense, you could call "something that has an effect on the
abstract machine" (i.e reading or writing a volatile variable or
performing an I/O operation) a "system call", whereas any other
function call could be coined "library call" assuming the function in
question is implemented in a library of some sort.
For one thing, as the effects of a program are defined in terms of
effects on the abstract machine, "system" calls as described above
cannot be optimized away whereas anything else could.

rlc

May 3 '07 #4

P: n/a

"leoman730" <le*******@gmail.comwrote in message
news:11*********************@l77g2000hsb.googlegro ups.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 library.
The library itself may make system calls.
May 5 '07 #5

P: n/a
On May 5, 11:16 pm, "Jim Langston" <tazmas...@rocketmail.comwrote:
"leoman730" <leoman...@gmail.comwrote in message
news:11*********************@l77g2000hsb.googlegro ups.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 library.
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: ja*********@gmail.com
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34

May 6 '07 #6

P: n/a
"James Kanze" <ja*********@gmail.comwrote in message
news:11**********************@h2g2000hsg.googlegro ups.com...
On May 5, 11:16 pm, "Jim Langston" <tazmas...@rocketmail.comwrote:
"leoman730" <leoman...@gmail.comwrote in message
news:11*********************@l77g2000hsb.googlegro ups.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
library.
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.

-------------

Which may of been exactly the answer the interviewer was looking for.
General computer/os/program/compiler knowledge.
May 6 '07 #7

This discussion thread is closed

Replies have been disabled for this discussion.