¿ Sabías que… en Solaris existe un fichero con todas las syscall ?

En Solaris existe el fichero /etc/name_to_sysnum, donde aparece la lista de todas las llamadas a sistema y sus identificadores, que son utilizadas en el sistema. De una versión del SO a otra versión del mismo SO pueden cambiar los IDs de las llamadas a sistema, por lo que es interesante conocer estos IDs y a qué syscall está asociada, sobre todo si desarrollamos aplicaciones que interactuen con el sistema, al estilo de truss.

bash-3.00$ cat /etc/name_to_sysnum
nosys                   0
rexit                   1
forkall                 2
read                    3
write                   4
open                    5
close                   6
...
lwp_mutex_trylock       251
lwp_mutex_init          252
cladm                   253
umount2                 255
bash-3.00$

El fichero /etc/name_sysnum de Solaris 9 es diferente al de Solaris 10, por lo que tenemos que tener cuidado con los IDs de las syscall que se utilizan en nuestro sistema, sobre todo cuando desarrollemos scripts o programas que utilicen los IDs de las syscalls. En la siguiente tabla podemos ver algunas de las diferencias entre las syscall de Solaris 9 y Solaris 10.

ID syscall Sol 9 Sol 10
2 fork forkall
169 lwp_mutex_enter
169 lwp_mutex_lock
177 srmlimitsys
183 pollsys
227 zone