Re: Man - was: Re: Big Swap...

From: Guest section DW (dwguest@win.tue.nl)
Date: Sat Jan 15 2000 - 20:24:29 EST


On Sat, Jan 15, 2000 at 01:53:34PM -0800, Robert Dinse wrote:

> > POSIX does not distinguish system calls and library functions.
> > For the Unix API the way a call is implemented is unimportant.
> > Often a former system call becomes a library function later,
> > a special case of a more general system call.
>
> The usefulness in distinquishing the two is that you know whether to look
> at the libs or the kernel if a problem exists.

No. There is no such distinction.

I guess that your question is inspired by this getpagesize() business,
so take that as example.

First of all, you can test using strace whether something leads to a syscall
or not. In the case of getpagesize() that depends on the architecture, and
on the libc version, and on whether the program was compiled statically.
(Usually [g]libc thinks it knows the answer itself, and hence does not
use a system call, except possibly in the case of a Sparc under
glibc, where the system call getpagesize() may be used. If the program
was a dynamic ELF program then pagesize is derived by the ELF loader.
On some systems sysconf(_SC_PAGESIZE) is used.)

You see - system call? Or not? Depends on a dozen other things.
There is no clear-cut distinction.
It so happens that the man page is in man2. There is no better place.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Jan 23 2000 - 21:00:12 EST