.\" -*- coding: UTF-8 -*- .\" Copyright (C) 2007 Michael Kerrisk .\" .\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. .\" .\" Permission is granted to copy and distribute modified versions of this .\" manual under the conditions for verbatim copying, provided that the .\" entire resulting derived work is distributed under the terms of a .\" permission notice identical to this one. .\" .\" Since the Linux kernel and libraries are constantly changing, this .\" manual page may be incorrect or out-of-date. The author(s) assume no .\" responsibility for errors or omissions, or for damages resulting from .\" the use of the information contained herein. The author(s) may not .\" have taken the same level of care in the production of this manual, .\" which is licensed free of charge, as they might when working .\" professionally. .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. .\" %%%LICENSE_END .\" .\" 2007-10-23 mtk: moved the _syscallN specific material to the .\" new _syscall(2) page, and substantially enhanced and rewrote .\" the remaining material on this page. .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH INTRO 2 "1 Noviembre 2020" Linux "Manual del Programador de Linux" .SH NOMBRE intro \- introducción a las llamadas al sistema .SH DESCRIPCIÓN La sección 2 de este manual describe las llamadas del sistema de Linux. Una llamada del sistema es un punto de entrada al núcleo de Linux. En general, dichas llamadas no son invocadas directamente sino que la biblioteca de C incluye funciones que ejecutan los pasos requeridos para invocar la llamada del sistema. Esto hace que realizar una llamada del sistema sea muy similar a invocar una función de una biblioteca cualquiera. .PP En la mayoría de los casos, la función del contenedores de la biblioteca de C, no hacen nada más que: .IP * 3 copiar argumentos y el número de la llamadas del sistema al lugar donde el núcleo espero encontrarlos. .IP * quedarse en modo núcleo, en cuyo caso éste hará la función real de la llamada del sistema. .IP * definir \fIerrno\fP si la llamada del sistema emite un error al devolver el núcleo la CPU al modo usuario. .PP En algunos casos, el contenedor de una función puede hacer algo más que eso. Por ejemplo ejecutar algún preprocesamiento de los argumentos antes de ponerse en modo núcleo o postprocesamiento de los valores devueltos por la llamada del sistema. En estos casos, las páginas de manual de la sección 2 intentan entrar en los pormenores tanto de la API de la librería C (en general la de GNU) como de la llamada del sistema. En general, la DESCRIPCIÓN principal se centra en la interfaz de la librería de C mientrasla sección NOTAS explica las diferencias con la llamada del sistema. .PP Puede encontrar una lista de las llamadas del sistema de Linux en: \fBsyscalls\fP(2). .SH "VALOR DEVUELTO" Cuando surje un error, la mayoría de llamadas del sistema devuelven un valor negativo de una de las constantes descritas en \fBerrno\fP(3). El contenedor de la función oculta este detalle: cuando una llamada del sistema devuelve un valor negativo, se copia su valor absoluto en la variable \fIerrno\fP y se devuelve \-1 como valor de retorno del contenedor. .PP El valor de retorno de una llamada realizada con éxito dependerá de la propia llamada. La mayoría devuelven el valor cero, aunque otras puede devolver otro valor distinto aunque finalice con éxito. Los detalles particulares de cada llamada se describen en sus respectivas páginas de manual. .PP En algunos casos, el desarrollador deberá definir una macro de prueba para obtener la declaración de una llamada del sistema en el archivo de encabezado definido en la sección SINOPSIS de la página de manual. A veces se requiere que estas macros para probar características esté definidas antes de incluir \fIningún\fP archivo de encabezado. En estos casos, la macro necesaria se describe en la página de manual. Consulte \fBfeature_test_macros\fP(7) para más información acerca de las macros para probar características. .SH "CONFORME A" Algunos términos y abreviaturas se emplean para señalar variantes de UNIX y estándares que siguen las llamadas de esta sección. Consulte \fBstandards\fP(7). .SH NOTAS .SS "Llamadas directas" En la mayoría de los casos no es necesario invocar una llamada al sistema directamente, pero hay veces en que la biblioteca C estándar carece de un contenedor con la función adecuada. En este caso, el desarrollador tendrá que invocar la llamada del sistema mediante \fBsyscal\fP(2). Antiguamente también podía hacerse mediante macros _syscall explicadas en \fB_syscall\fP(2). .SS "Autores y derechos de autor" En el encabezado del código fuente de cada página de manual se encuentran los datos del autor de la misma y de los derechos de autor. Tenga en cuenta que esa información puede ser distinta entre cada página. .SH "VÉASE TAMBIÉN" .ad l .nh \fB_syscall\fP(2), \fBsyscall\fP(2), \fBsyscalls\fP(2), \fBerrno\fP(3), \fBintro\fP(3), \fBcapabilities\fP(7), \fBcredentials\fP(7), \fBfeature_test_macros\fP(7), \fBmq_overview\fP(7), \fBpath_resolution\fP(7), \fBpipe\fP(7), \fBpty\fP(7), \fBsem_overview\fP(7), \fBshm_overview\fP(7), \fBsignal\fP(7), \fBsocket\fP(7), \fBstandards\fP(7), \fBsystem_data_types\fP(7), \fBsymlink\fP(7), \fBsysvipc\fP(7), \fBtime\fP(7) .SH COLOFÓN Esta página es parte de la versión 5.10 del proyecto Linux \fIman\-pages\fP. Puede encontrar una descripción del proyecto, información sobre cómo informar errores y la última versión de esta página en \%https://www.kernel.org/doc/man\-pages/. .PP .SH TRADUCCIÓN La traducción al español de esta página del manual fue creada por Urko Lusa , Juan Piernas y Marcos Fouces . .PP Esta traducción es documentación libre; lea la .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3 .UE o posterior con respecto a las condiciones de copyright. No existe NINGUNA RESPONSABILIDAD. .PP Si encuentra algún error en la traducción de esta página del manual, envíe un correo electrónico a .MT debian-l10n-spanish@lists.debian.org .ME .