Historia de syscalls añadidos a Linux?
¿Hay algún lugar donde pueda obtener una lista completa de la versión mínima de Linux necesaria para cada syscall? Estoy buscando una respuesta general a las preguntas del formulario " Si uso syscall X, ¿cuál es la versión mínima de Linux en la que puede ejecutarse mi código?"
4 answers
Esta información se puede encontrar en el syscalls(2)
página de manual. Para aquellas llamadas al sistema donde no se indica ninguna versión del kernel, la llamada al sistema apareció en kernel 1.0 o anterior.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-02-10 06:48:57
Linus ha criticado durante mucho tiempo la comprobación en el espacio de usuario de determinadas versiones del kernel para saber si una característica está disponible - el enfoque recomendado es probar la característica que desea (las llamadas sin implementar devuelven ENOSYS
).
Una razón para esto es que los números de versión simplemente no significan tanto como parecen - los núcleos de distribución, que la mayoría de los usuarios están ejecutando, a menudo tienen características backportadas de versiones más nuevas del núcleo. Algunos de ellos son verdaderos monstruos de Frankenstein en este respeto.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-07-23 00:07:08
Puede encontrar esto al usar sitios como http://linux.die.net / cerca de la parte inferior de las páginas para las llamadas a la API, en la sección 'Version'. Por ejemplo, inotify se agregó en Linux 2.6.13.
Para las llamadas posix esto no se aplicará porque se recopilan bajo las especificaciones Posix, por ejemplo, read tiene una sección 'Conforme' que menciona POSIX.1-2001.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-07-22 23:28:13
Hay una lista de llamadas de sistema en el archivo include/asm-generic/unistd.h. Puede consultar el historial de ese archivo en:
No estoy seguro acerca de syscalls para otro arco que x86. Puede haber detalles.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-02-11 14:35:04