intro(2) System Calls Manual intro(2) NOMBRE intro - introduccion a las llamadas al sistema DESCRIPCION La seccion 2 de este manual describe las llamadas del sistema de Linux. Una llamada del sistema es un punto de entrada al nucleo 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 funcion de una biblioteca cualquiera. En la mayoria de los casos, la funcion del contenedores de la biblioteca de C, no hacen nada mas que: o copiar argumentos y el numero de la llamadas del sistema al lugar donde el nucleo espero encontrarlos. o quedarse en modo nucleo, en cuyo caso este hara la funcion real de la llamada del sistema. o definir errno si la llamada del sistema emite un error al devolver el nucleo la CPU al modo usuario. En algunos casos, el contenedor de una funcion puede hacer algo mas que eso. Por ejemplo ejecutar algun preprocesamiento de los argumentos antes de ponerse en modo nucleo o postprocesamiento de los valores devueltos por la llamada del sistema. En estos casos, las paginas de manual de la seccion 2 intentan entrar en los pormenores tanto de la API de la biblioteca C (en general la de GNU) como de la llamada del sistema. En general, la DESCRIPCION principal se centra en la interfaz de la biblioteca de C mientrasla seccion NOTAS explica las diferencias con la llamada del sistema. Puede encontrar una lista de las llamadas del sistema de Linux en: syscalls(2). VALOR DEVUELTO Cuando surje un error, la mayoria de llamadas del sistema devuelven un valor negativo de una de las constantes descritas en errno(3). El contenedor de la funcion oculta este detalle: cuando una llamada del sistema devuelve un valor negativo, se copia su valor absoluto en la variable errno y se devuelve -1 como valor de retorno del contenedor. El valor de retorno de una llamada realizada con exito dependera de la propia llamada. La mayoria devuelven el valor cero, aunque otras puede devolver otro valor distinto aunque finalice con exito. Los detalles particulares de cada llamada se describen en sus respectivas paginas de manual. En algunos casos, el desarrollador debera definir una macro de prueba para obtener la declaracion de una llamada del sistema en el archivo de encabezado definido en la seccion SINOPSIS de la pagina de manual. A veces se requiere que estas macros para probar caracteristicas este definidas antes de incluir ningun archivo de encabezado. En estos casos, la macro necesaria se describe en la pagina de manual. Consulte feature_test_macros(7) para mas informacion acerca de las macros para probar caracteristicas. ESTANDARES Algunos terminos y abreviaturas se emplean para senalar variantes de UNIX y estandares que siguen las llamadas de esta seccion. Consulte standards(7). NOTAS Llamadas directas En la mayoria de los casos no es necesario invocar una llamada al sistema directamente, pero hay veces en que la biblioteca C estandar carece de un contenedor con la funcion adecuada. En este caso, el desarrollador tendra que invocar la llamada del sistema mediante syscal(2). Antiguamente tambien podia hacerse mediante macros _syscall explicadas en _syscall(2). Autores y derechos de autor En el encabezado del codigo fuente de cada pagina de manual se encuentran los datos del autor de la misma y de los derechos de autor. Tenga en cuenta que esa informacion puede ser distinta entre cada pagina. VEASE TAMBIEN _syscall(2), syscall(2), syscalls(2), errno(3), intro(3), capabilities(7), credentials(7), feature_test_macros(7), mq_overview(7), path_resolution(7), pipe(7), pty(7), sem_overview(7), shm_overview(7), signal(7), socket(7), standards(7), symlink(7), system_data_types(7), sysvipc(7), time(7) TRADUCCION La traduccion al espanol de esta pagina del manual fue creada por Urko Lusa , Juan Piernas y Marcos Fouces Esta traduccion es documentacion libre; lea la GNU General Public License Version 3 o posterior con respecto a las condiciones de copyright. No existe NINGUNA RESPONSABILIDAD. Si encuentra algun error en la traduccion de esta pagina del manual, envie un correo electronico a . Paginas de manual de Linux 6.06 31 Octubre 2023 intro(2)