One nifty thing to do on a Linux system with a set of man pages (yes, shockingly, some distributions fail to include a full set of man pages) is to make a quick annotated list of your system calls.
Here's a shell "one-liner" to do so:
% ls /usr/share/man/man2 | sed -e s/.2.gz//g | xargs man -s 2 -k | sort | grep -v 'unimplemented system calls'
For instance, on this machine, it yields:
% uname -a Linux localhost.localdomain 2.6.35.11-83.fc14.i686 #1 SMP Mon Feb 7 07:04:18 UTC 2011 i686 i686 i386 GNU/Linux % ls /usr/share/man/man2 | sed -e s/.2.gz//g | xargs man -s 2 -k | sort | grep -v 'unimplemented system calls' accept (2) - accept a connection on a socket accept4 (2) - accept a connection on a socket access (2) - check real user's permissions for a file acct (2) - switch process accounting on or off add_key (2) - Add a key to the kernel's key management facility adjtimex (2) - tune kernel clock alarm (2) - set an alarm clock for delivery of a signal alloc_hugepages (2) - allocate or free huge pages arch_prctl (2) - set architecture-specific thread state bdflush (2) - start, flush, or tune buffer-dirty-flush daemon bind (2) - bind a name to a socket brk (2) - change data segment size cacheflush (2) - flush contents of instruction and/or data cache capget (2) - set/get capabilities of thread(s) capset (2) - set/get capabilities of thread(s) chdir (2) - change working directory chmod (2) - change permissions of a file chown (2) - change ownership of a file chown32 (2) - change ownership of a file chroot (2) - change root directory clock_getres (2) - clock and time functions clock_gettime (2) - clock and time functions clock_nanosleep (2) - high-resolution sleep with specifiable clock clock_settime (2) - clock and time functions __clone2 (2) - create a child process clone2 (2) - create a child process clone (2) - create a child process close (2) - close a file descriptor connect (2) - initiate a connection on a socket creat (2) - open and possibly create a file or device create_module (2) - create a loadable module entry delete_module (2) - delete a loadable module entry dup2 (2) - duplicate a file descriptor dup (2) - duplicate a file descriptor dup3 (2) - duplicate a file descriptor epoll_create1 (2) - open an epoll file descriptor epoll_create (2) - open an epoll file descriptor epoll_ctl (2) - control interface for an epoll descriptor epoll_pwait (2) - wait for an I/O event on an epoll file descriptor epoll_wait (2) - wait for an I/O event on an epoll file descriptor eventfd2 (2) - create a file descriptor for event notification eventfd (2) - create a file descriptor for event notification execve (2) - execute program _exit (2) - terminate the calling process exit (2) - terminate the calling process _Exit (2) - terminate the calling process exit_group (2) - exit all threads in a process faccessat (2) - check user's permissions of a file relative to a directory file descriptor fadvise (2) - Give advice about file access fadvise64 (2) - predeclare an access pattern for file data fadvise64_64 (2) - predeclare an access pattern for file data fallocate (2) - manipulate file space fchdir (2) - change working directory fchmod (2) - change permissions of a file fchmodat (2) - change permissions of a file relative to a directory file descriptor fchown (2) - change ownership of a file fchown32 (2) - change ownership of a file fchownat (2) - change ownership of a file relative to a directory file descriptor fcntl (2) - manipulate file descriptor fcntl64 (2) - manipulate file descriptor fdatasync (2) - synchronize a file's in-core state with storage device flock (2) - apply or remove an advisory lock on an open file fork (2) - create a child process free_hugepages (2) - allocate or free huge pages fstat (2) - get file status fstat64 (2) - get file status fstatat (2) - get file status relative to a directory file descriptor fstatat64 (2) - get file status relative to a directory file descriptor fstatfs (2) - get file system statistics fstatfs64 (2) - get file system statistics fstatvfs (2) - get file system statistics fsync (2) - synchronize a file's in-core state with storage device ftruncate (2) - truncate a file to a specified length ftruncate64 (2) - truncate a file to a specified length futex (2) - Fast Userspace Locking system call futimesat (2) - change timestamps of a file relative to a directory file descriptor getcontext (2) - get or set the user context getcpu (2) - determine CPU and NUMA node on which the calling thread is running getcwd (2) - Get current working directory getdents (2) - get directory entries getdents64 (2) - get directory entries getdomainname (2) - get/set domain name getdtablesize (2) - get descriptor table size getegid (2) - get group identity getegid32 (2) - get group identity geteuid (2) - get user identity geteuid32 (2) - get user identity getgid (2) - get group identity getgid32 (2) - get group identity getgroups (2) - get/set list of supplementary group IDs getgroups32 (2) - get/set list of supplementary group IDs gethostid (2) - get or set the unique identifier of the current host gethostname (2) - get/set hostname getitimer (2) - get or set value of an interval timer get_kernel_syms (2) - retrieve exported kernel and module symbols get_mempolicy (2) - Retrieve NUMA memory policy for a process getpagesize (2) - get memory page size getpeername (2) - get name of connected peer socket getpgid (2) - set/get process group getpgrp (2) - set/get process group getpid (2) - get process identification getppid (2) - get process identification getpriority (2) - get/set program scheduling priority getresgid (2) - get real, effective and saved user/group IDs getresgid32 (2) - get real, effective and saved user/group IDs getresuid (2) - get real, effective and saved user/group IDs getresuid32 (2) - get real, effective and saved user/group IDs getrlimit (2) - get/set resource limits get_robust_list (2) - get/set the list of robust futexes getrusage (2) - get resource usage getsid (2) - get session ID getsockname (2) - get socket name getsockopt (2) - get and set options on sockets get_thread_area (2) - Get a Thread Local Storage (TLS) area gettid (2) - get thread identification gettimeofday (2) - get / set time getuid (2) - get user identity getuid32 (2) - get user identity getunwind (2) - copy the unwind data to caller's buffer idle (2) - make process 0 idle inb (2) - port I/O inb_p (2) - port I/O init_module (2) - initialize a loadable module entry inl (2) - port I/O inl_p (2) - port I/O inotify_add_watch (2) - add a watch to an initialized inotify instance inotify_init1 (2) - initialize an inotify instance inotify_init (2) - initialize an inotify instance inotify_rm_watch (2) - remove an existing watch from an inotify instance insb (2) - port I/O insl (2) - port I/O insw (2) - port I/O intro (2) - Introduction to system calls inw (2) - port I/O inw_p (2) - port I/O io_cancel (2) - cancel an outstanding asynchronous I/O operation ioctl (2) - control device ioctl_list (2) - list of ioctl calls in Linux/i386 kernel io_destroy (2) - destroy an asynchronous I/O context io_getevents (2) - read asynchronous I/O events from the completion queue ioperm (2) - set port input/output permissions iopl (2) - change I/O privilege level ioprio_get (2) - get/set I/O scheduling class and priority ioprio_set (2) - get/set I/O scheduling class and priority io_setup (2) - create an asynchronous I/O context io_submit (2) - submit asynchronous I/O blocks for processing ipc (2) - System V IPC system calls kexec_load (2) - loads a new kernel image to memory keyctl (2) - Manipulate the kernel's key management facility kill (2) - send signal to a process killpg (2) - send signal to a process group lchown (2) - change ownership of a file lchown32 (2) - change ownership of a file link (2) - make a new name for a file linkat (2) - create a file link relative to directory file descriptors listen (2) - listen for connections on a socket _llseek (2) - reposition read/write file offset llseek (2) - reposition read/write file offset lookup_dcookie (2) - return a directory entry's path lseek (2) - reposition read/write file offset lstat (2) - get file status lstat64 (2) - get file status madvise (2) - give advice about use of memory mbind (2) - Set memory policy for a memory range migrate_pages (2) - move all pages in a process to another set of nodes mincore (2) - determine whether pages are resident in memory mkdir (2) - create a directory mkdirat (2) - create a directory relative to a directory file descriptor mknod (2) - create a special or ordinary file mknodat (2) - create a special or ordinary file relative to a directory file descriptor mlock (2) - lock and unlock memory mlockall (2) - lock and unlock memory mmap2 (2) - map files or devices into memory mmap (2) - map or unmap files or devices into memory modify_ldt (2) - get or set ldt mount (2) - mount file system move_pages (2) - move individual pages of a process to another node mprotect (2) - set protection on a region of memory mq_getsetattr (2) - get/set message queue attributes mq_notify (2) - register for notification when a message is available mq_open (2) - open a message queue mq_timedreceive (2) - receive a message from a message queue mq_timedsend (2) - send a message to a message queue mq_unlink (2) - remove a message queue mremap (2) - remap a virtual memory address msgctl (2) - message control operations msgget (2) - get a message queue identifier msgop (2) - message operations msgrcv (2) - message operations msgsnd (2) - message operations msync (2) - synchronize a file with a memory map munlock (2) - lock and unlock memory munlockall (2) - lock and unlock memory munmap (2) - map or unmap files or devices into memory nanosleep (2) - high-resolution sleep _newselect (2) - synchronous I/O multiplexing nfsservctl (2) - syscall interface to kernel nfs daemon nice (2) - change process priority oldfstat (2) - get file status oldlstat (2) - get file status oldolduname (2) - get name and information about current kernel oldstat (2) - get file status olduname (2) - get name and information about current kernel open (2) - open and possibly create a file or device openat (2) - open a file relative to a directory file descriptor outb (2) - port I/O outb_p (2) - port I/O outl (2) - port I/O outl_p (2) - port I/O outsb (2) - port I/O outsl (2) - port I/O outsw (2) - port I/O outw (2) - port I/O outw_p (2) - port I/O path_resolution (2) - how a pathname is resolved to a file pause (2) - wait for signal perfmonctl (2) - interface to PMU personality (2) - set the process execution domain pipe2 (2) - create pipe pipe (2) - create pipe pivot_root (2) - change the root file system poll (2) - wait for some event on a file descriptor posix_fadvise (2) - predeclare an access pattern for file data ppoll (2) - wait for some event on a file descriptor prctl (2) - operations on a process pread (2) - read from or write to a file descriptor at a given offset pread64 (2) - read from or write to a file descriptor at a given offset pselect (2) - synchronous I/O multiplexing pselect6 (2) - synchronous I/O multiplexing ptrace (2) - process trace pwrite (2) - read from or write to a file descriptor at a given offset pwrite64 (2) - read from or write to a file descriptor at a given offset query_module (2) - query the kernel for various bits pertaining to modules read (2) - read from a file descriptor readahead (2) - perform file readahead into page cache readdir (2) - read directory entry readlink (2) - read value of a symbolic link readlinkat (2) - read value of a symbolic link relative to a directory file descriptor readv (2) - read or write data into multiple buffers reboot (2) - reboot or enable/disable Ctrl-Alt-Del recv (2) - receive a message from a socket recvfrom (2) - receive a message from a socket recvmsg (2) - receive a message from a socket remap_file_pages (2) - create a nonlinear file mapping rename (2) - change the name or location of a file renameat (2) - rename a file relative to directory file descriptors request_key (2) - Request a key from the kernel's key management facility restart_syscall (2) - Restart a system call rmdir (2) - delete a directory rtas (2) - Allows userspace to call RTAS (Run Time Abstraction Services) rt_sigaction (2) - examine and change a signal action rt_sigpending (2) - examine pending signals rt_sigprocmask (2) - examine and change blocked signals rt_sigqueueinfo (2) - queue a signal and data to a process rt_sigreturn (2) - return from signal handler and cleanup stack frame rt_sigsuspend (2) - wait for a signal rt_sigtimedwait (2) - synchronously wait for queued signals sbrk (2) - change data segment size sched_getaffinity (2) - set and get a process's CPU affinity mask sched_getparam (2) - set and get scheduling parameters sched_get_priority_max (2) - get static priority range sched_get_priority_min (2) - get static priority range sched_getscheduler (2) - set and get scheduling policy/parameters sched_rr_get_interval (2) - get the SCHED_RR interval for the named process sched_setaffinity (2) - set and get a process's CPU affinity mask sched_setparam (2) - set and get scheduling parameters sched_setscheduler (2) - set and get scheduling policy/parameters sched_yield (2) - yield the processor select (2) - synchronous I/O multiplexing select_tut (2) - synchronous I/O multiplexing semctl (2) - semaphore control operations semget (2) - get a semaphore set identifier semop (2) - semaphore operations semtimedop (2) - semaphore operations send (2) - send a message on a socket sendfile (2) - transfer data between file descriptors sendfile64 (2) - transfer data between file descriptors sendmsg (2) - send a message on a socket sendto (2) - send a message on a socket setcontext (2) - get or set the user context setegid (2) - set effective user or group ID seteuid (2) - set effective user or group ID setfsgid (2) - set group identity used for file system checks setfsgid32 (2) - set group identity used for file system checks setfsuid (2) - set user identity used for file system checks setfsuid32 (2) - set user identity used for file system checks setgid (2) - set group identity setgid32 (2) - set group identity setgroups (2) - get/set list of supplementary group IDs setgroups32 (2) - get/set list of supplementary group IDs sethostid (2) - get or set the unique identifier of the current host sethostname (2) - get/set hostname setitimer (2) - get or set value of an interval timer set_mempolicy (2) - set default NUMA memory policy for a process and its children setpgid (2) - set/get process group setpgrp (2) - set/get process group setpriority (2) - get/set program scheduling priority setregid (2) - set real and/or effective user or group ID setregid32 (2) - set real and/or effective user or group ID setresgid (2) - set real, effective and saved user or group ID setresgid32 (2) - set real, effective and saved user or group ID setresuid (2) - set real, effective and saved user or group ID setresuid32 (2) - set real, effective and saved user or group ID setreuid (2) - set real and/or effective user or group ID setreuid32 (2) - set real and/or effective user or group ID set_robust_list (2) - get/set the list of robust futexes setsid (2) - creates a session and sets the process group ID setsockopt (2) - get and set options on sockets set_thread_area (2) - Set a Thread Local Storage (TLS) area set_tid_address (2) - set pointer to thread ID settimeofday (2) - get / set time setuid (2) - set user identity setuid32 (2) - set user identity setup (2) - setup devices and file systems, mount root file system sgetmask (2) - manipulation of signal mask (obsolete) shmat (2) - shared memory operations shmctl (2) - shared memory control shmdt (2) - shared memory operations shmget (2) - allocates a shared memory segment shmop (2) - shared memory operations shutdown (2) - shut down part of a full-duplex connection sigaction (2) - examine and change a signal action sigaltstack (2) - set and/or get signal stack context signal (2) - ANSI C signal handling signalfd (2) - create a file descriptor for accepting signals signalfd4 (2) - create a file descriptor for accepting signals sigpending (2) - examine pending signals sigprocmask (2) - examine and change blocked signals sigqueue (2) - queue a signal and data to a process sigreturn (2) - return from signal handler and cleanup stack frame sigsuspend (2) - wait for a signal sigtimedwait (2) - synchronously wait for queued signals sigwaitinfo (2) - synchronously wait for queued signals socket (2) - create an endpoint for communication socketcall (2) - socket system calls socketpair (2) - create a pair of connected sockets splice (2) - splice data to/from a pipe spu_create (2) - create a new spu context spufs (2) - the SPU file system spu_run (2) - execute an SPU context ssetmask (2) - manipulation of signal mask (obsolete) stat (2) - get file status stat64 (2) - get file status statfs (2) - get file system statistics statfs64 (2) - get file system statistics statvfs (2) - get file system statistics stime (2) - set time swapcontext (2) - Swap out old context with new context swapoff (2) - start/stop swapping to file/device swapon (2) - start/stop swapping to file/device symlink (2) - make a new name for a file symlinkat (2) - create a symbolic link relative to a directory file descriptor sync (2) - commit buffer cache to disk sync_file_range (2) - sync a file segment with disk syscall (2) - indirect system call _syscall (2) - invoking a system call without library support (OBSOLETE) syscalls (2) - Linux system calls _sysctl (2) - read/write system parameters sysctl (2) - read/write system parameters sysfs (2) - get file system type information sysinfo (2) - returns information on overall system statistics syslog (2) - read and/or clear kernel message ring buffer; set console_loglevel tee (2) - duplicating pipe content tgkill (2) - send a signal to a thread time (2) - get time in seconds timer_create (2) - create a POSIX per-process timer timer_delete (2) - delete a POSIX per-process timer timerfd_create (2) - timers that notify via file descriptors timerfd_gettime (2) - timers that notify via file descriptors timerfd_settime (2) - timers that notify via file descriptors timer_getoverrun (2) - get overrun count for a POSIX per-process timer timer_gettime (2) - arm/disarm and fetch state of POSIX per-process timer timer_settime (2) - arm/disarm and fetch state of POSIX per-process timer times (2) - get process times tkill (2) - send a signal to a thread truncate (2) - truncate a file to a specified length truncate64 (2) - truncate a file to a specified length tux (2) - interact with the TUX kernel subsystem ugetrlimit (2) - get/set resource limits umask (2) - set file mode creation mask umount2 (2) - unmount file system umount (2) - unmount file system uname (2) - get name and information about current kernel unlink (2) - delete a name and possibly the file it refers to unlinkat (2) - remove a directory entry relative to a directory file descriptor unshare (2) - disassociate parts of the process execution context uselib (2) - load shared library ustat (2) - get file system statistics utime (2) - change file last access and modification times utimensat (2) - change file timestamps with nanosecond precision utimes (2) - change file last access and modification times vfork (2) - create a child process and block parent vhangup (2) - virtually hangup the current tty vm86 (2) - enter virtual 8086 mode vm86old (2) - enter virtual 8086 mode vmsplice (2) - splice user pages into a pipe wait (2) - wait for process to change state wait3 (2) - wait for process to change state, BSD style wait4 (2) - wait for process to change state, BSD style waitid (2) - wait for process to change state waitpid (2) - wait for process to change state write (2) - write to a file descriptor writev (2) - read or write data into multiple buffers