Issues in Linux "man"

来源:互联网 发布:php curl模拟表单提交 编辑:程序博客网 时间:2024/05/18 12:39

1. feature_test_macros

feature_test_macros - feature test macros

#include <features.h>

Feature  test macros allow the programmer to control the definitions that are exposed by system header files when a
program is compiled.


2. syscall

syscall - indirect system call

syscall() is a small library function that invokes the system call whose assembly language interface has the specified 

number with the specified arguments. Employing syscall() is useful, for example, when invoking a system  call that has 

no wrapper function in the C library. 


_syscall

_syscall - invoking a system call without library support (OBSOLETE)

Starting around kernel 2.6.18, the _syscall macros were removed from header files  supplied  to  user  space.  Use
syscall(2) instead
.


在 "man syscall" 部分中,可以查看到:

Architecture calling conventions

Every architecture has its own way of invoking and passing arguments to the kernel.  The details for various archi‐
tectures are listed in the two tables below.

The  first  table  lists the instruction used to transition to kernel mode, (which might not be the fastest or best way to 

transition to the kernel, so you might have to refer to the VDSO), the register used to indicate the  system call number, 

and the register used to return the system call result.





"man syscall" 中内容丰富,需要仔细查看,尤其是关于 ABI/EABI 的内容。


3. 

man standards

standards - C and UNIX Standards


man libc

libc - overview of standard C libraries on Linux


man syscalls

syscalls - Linux system calls

The system call is the fundamental interface between an application and the Linux kernel.

查看 "man syscalls" , 包含如下两部分:

System calls and library wrapper functions

System call list


在 "System call list" 中查看系统调用列表:

       System call                 Kernel        Notes
       ─────────────────────────────────────────────────────────────────────────


       _llseek(2)                  1.2
       _newselect(2)               2.0
       _sysctl(2)                  2.0
       accept(2)                   2.0           See notes on socketcall(2)
       accept4(2)                  2.6.28
       access(2)                   1.0
       acct(2)                     1.0
       add_key(2)                  2.6.11
       adjtimex(2)                 1.0
       alarm(2)                    1.0
       alloc_hugepages(2)          2.5.36        Removed in 2.5.44
       bdflush(2)                  1.2           Deprecated (does nothing)
                                                 since 2.6
       bind(2)                     2.0           See notes on socketcall(2)
       brk(2)                      1.0
       cacheflush(2)               1.2           Not on x86
       capget(2)                   2.2
       capset(2)                   2.2
       chdir(2)                    1.0
       chmod(2)                    1.0
       chown(2)                    2.2           See chown(2) for
                                                 version details
       chown32(2)                  2.4

...


4. man unimplemented

afs_syscall,  break,  fattach, fdetach, ftime, getmsg, getpmsg, gtty, isastream, lock, madvise1, mpx, prof, profil,
putmsg, putpmsg, security, stty, tuxcall, ulimit, vserver - unimplemented system calls


5. man acct

acct - switch process accounting on or off


6. man libc

libc - overview of standard C libraries on Linux


7. man man-pages

man-pages - conventions for writing Linux man pages


8. man standards

standards - C and UNIX Standards


9. man posixoptions

posixoptions - optional parts of the POSIX standard


10. 





















3. readahead

readahead - perform file readahead into page cache

将文件内容预加载到 page cache 中

readahead()  populates  the page cache with data from a file so that subsequent reads from that file will not block on disk I/O.


4.



0 0