bionic (2) syscalls.2.gz

Provided by: manpages-es_1.55-10_all bug

NOMBRE

       nada - lista de todas las llamadas al sistema

SINOPSIS

       Llamadas al sistema de Linux 2.4.

DESCRIPCIÓN

       La  llamada  al sistema es la interfaz fundamental entre una aplicación y el núcleo de Linux. A partir de
       la    versión    2.4.17    de    Linux,    hay    1100    llamadas    al     sistemas     listadas     en
       /usr/src/linux/include/asm-*/unistd.h.  Esta página de manual lista aquellas que son comunes a la mayoría
       de plataformas (incorporando hipervínculos si lee esto con un navegador).

       _llseek(2), _newselect(2), _sysctl(2), accept(2), access(2), acct(2), adjtimex(2), afs_syscall, alarm(2),
       bdflush(2),  bind(2),  break,  brk(2), cacheflush(2), capget(2), capset(2), chdir(2), chmod(2), chown(2),
       chown32, chroot(2), clone(2), close(2), connect(2), creat(2), create_module(2), delete_module(2), dup(2),
       dup2(2),  execve(2), exit(2), fchdir(2), fchmod(2), fchown(2), fchown32, fcntl(2), fcntl64, fdatasync(2),
       flock(2), fork(2), fstat(2), fstat64, fstatfs(2), fsync(2), ftime, ftruncate(2), ftruncate64, get_kernel‐
       _syms(2),  getcwd(2),  getdents(2),  getdents64, getegid(2), getegid32, geteuid(2), geteuid32, getgid(2),
       getgid32, getgroups(2), getgroups32, getitimer(2), getpagesize(2), getpeername(2),  getpmsg,  getpgid(2),
       getpgrp(2),  getpid(2), getppid(2), getpriority(2), getresgid(2), getresgid32, getresuid(2), getresuid32,
       getrlimit(2), getrusage(2), getsid(2), getsockname(2), getsockopt(2), gettid, gettimeofday(2), getuid(2),
       getuid32, gtty, idle, init_module(2), ioctl(2), ioperm(2), iopl(2), ipc(2), kill(2), lchown(2), lchown32,
       link(2), listen(2), lock,  lseek(2),  lstat(2),  lstat64,  madvise(2),  mincore(2),  mkdir(2),  mknod(2),
       mlock(2),   mlockall(2),   mmap(2),  modify_ldt(2),  mount(2),  mprotect(2),  mpx,  mremap(2),  msync(2),
       munlock(2),  munlockall(2),  munmap(2),  nanosleep(2),  nfsservctl(2),   nice(2),   oldfstat,   oldlstat,
       oldolduname,   oldstat,   oldumount,   olduname,   open(2),   pause(2),  personality(2),  phys,  pipe(2),
       pivot_root(2), poll(2), prctl(2), pread(2), prof, profil, ptrace(2), putpmsg, pwrite(2), query_module(2),
       quotactl(2),  read(2),  readahead,  readdir(2),  readlink(2),  readv(2), reboot(2), recv(2), recvfrom(2),
       recvmsg(2),  rename(2),   rmdir(2),   rt_sigaction,   rt_sigpending,   rt_sigprocmask,   rt_sigqueueinfo,
       rt_sigreturn,   rt_sigsuspend,   rt_sigtimedwait,  sched_get_priority_max(2),  sched_get_priority_min(2),
       sched_getparam(2),   sched_getscheduler(2),   sched_rr_get_interval(2),   sched_setparam(2),   sched_set‐
       scheduler(2),  sched_yield(2),  security,  select(2),  sendfile(2),  send(2), sendmsg(2), sendto(2), set‐
       domainname(2), setfsgid(2), setfsgid32, setfsuid(2), setfsuid32, setgid(2), setgid32, setgroups(2),  set‐
       groups32,   sethostname(2),  setitimer(2),  setpgid(2),  setpriority(2),  setregid(2),  setregid32,  set‐
       resgid(2), setresgid32, setresuid(2), setresuid32, setreuid(2), setreuid32, setrlimit(2), setsid(2), set‐
       sockopt(2),  settimeofday(2),  setuid(2),  setuid32,  setup(2),  sgetmask(2),  shutdown(2), sigaction(2),
       sigaltstack(2),  signal(2),  sigpending(2),  sigprocmask(2),  sigreturn(2),   sigsuspend(2),   socket(2),
       socketcall(2),  socketpair(2),  ssetmask(2),  stat(2),  stat64,  statfs(2),  stime(2),  stty, swapoff(2),
       swapon(2),  symlink(2),  sync(2),  sysfs(2),  sysinfo(2),  syslog(2),  time(2),  times(2),   truncate(2),
       truncate64,  ulimit,  umask(2),  umount(2), uname(2), unlink(2), uselib(2), ustat(2), utime(2), vfork(2),
       vhangup(2), vm86(2), vm86old, wait4(2), waitpid(2), write(2), writev(2).

       De todas estas, 9 están obsoletas, que son getrlimit, oldfstat, oldlstat, oldolduname, oldstat, olduname,
       readdir,  select y vm86old (véase también obsolete(2)), y 15 de ellas no están implementadas en el núcleo
       estándar, que son afs_syscall, break, ftime, getpmsg, gtty, idle, lock, mpx, phys, prof, profil, putpmsg,
       security, stty and ulimit (véase también unimplemented(2)).  No obstante, ftime(3), profil(3) y ulimit(3)
       existen como rutinas de biblioteca.  La entrada para phys la utiliza umount  desde  la  versión  2.1.116;
       phys  nunca  se implementará. Las llamadas getpmsg y putpmsg están disponibles en núcleos parcheados para
       soportar flujos, y pueden no estar nunca en el núcleo estándar.  La llamada security es para uso futuro.

       Hablando más en detalle, el código que pertenece a la llamada al sistema con número __NR_xxx definido  en
       /usr/include/asm/unistd.h  puede  encontrarse  en  los  fuentes del núcleo como la rutina sys_xxx().  (La
       tabla de llamadas para el i386 puede encontrarse en /usr/src/linux/arch/i386/kernel/entry.S.)   De  todas
       maneras,  hay algunas excepciones, la mayoría como consecuencia de actualizaciones de viejas llamadas que
       hayan sido introducidas de forma poco sistemática. En plataformas con emulación de SO  propietario,  como
       parisc, sparc, sparc64 y alpha, hay otras muchas llamadas al sistema adicionales; mips64 contiene también
       un conjunto completo de llamadas al sistema de 32 bits.

       A continuación los detalles de Linux 2.4.17.

       Las definiciones  __NR_oldstat  y  __NR_stat  se  refieren  a  las  rutinas  sys_stat()  y  sys_newstat()
       respectivamente,  y  de  igual  forma para fstat y lstat.  Igualmente, las definiciones __NR_oldolduname,
       __NR_olduname y __NR_uname se refieren a las rutinas sys_olduname(), sys_uname()  y  sys_newuname().   De
       esta  manera,  __NR_stat  y  __NR_uname  siempre  hacen referencia a la última versión de cada llamada al
       sistema, y las otras más antiguas son para mantener la compatibilidad.

       Es diferente con select y mmap.  Estas usan cinco o más parámetros, y causan problemas con la  manera  en
       la  que  los  parámetros  se  pasaban en el i386. De esta manera, mientras que otras arquitecturas tienen
       sys_select() y sys_mmap() correspondiendo con __NR_select y __NR_mmap, en el  i386  nos  encontramos  con
       old_select()  y  old_mmap() (rutinas que usan un puntero a un bloque de parámetros). Actualmente el pasar
       cinco parámetros no es un problema, y existe una __NR_newselect (usada por libc  6)  que  se  corresponde
       directamente con sys_select() y de manera similar una  __NR_mmap2.

       Para  otros números de llamadas al sistema, __NR__llseek y __NR__sysctl tienen un subrayado adicional que
       no aparece en sys_llseek() y sys_sysctl().

       Además existe __NR_readdir que se corresponde con old_readdir(), la cual leerá como mucho una entrada  de
       directorio al mismo tiempo, y que ha sido mejorada por sys_getdents().

       En  muchas  plataformas,  incluyendo i386, todas las llamadas de conectores son multiplexadas a través de
       socketcall() y las llamadas IPC de System V a través de ipc().

       En plataformas más recientes que sólo disponen de acceso a fichero de 64 bits y uids  de  32  bits  (p.e.
       alpha,  ia64,  s390x)  no  hay  llamadas *64 o *32 calls. Donde existen las llamadas *64 y *32, las otras
       versiones están obsoletas.

       Las llamadas al sistema chown y lchown fueron intercambiadas en la versión 2.1.81.  Las  llamadas  *64  y
       *32  fueron  añadidas  en  el núcleo 2.4, así como las nuevas versiones de getrlimit y mmap, y las nuevas
       llamadas pivot_root, mincore, madvise, security, gettid y readahead.