Como encontrar os números de chamadas do sistema?

1

Os números do sistema são diferentes para cada máquina? Depende do processador, quero dizer, haverá uma diferença para i586 e i386?

Se eles são diferentes para cada máquina, como você pode descobrir os números da sua máquina?

Um lugar comum é / usr / include / asm *, mas essa pasta não existe.

    
por Joey 30.11.2015 / 18:54

1 resposta

-1

Na maioria dos sistemas operacionais, os números estão em /usr/include/sys/syscall.h

Você geralmente pode chamar syscall(number, rest of parameters) .

Observe que alguns "syscalls" podem não estar em syscalls.h, pois várias interfaces syscall são implementadas por um único syscall que usa um subnúmero para selecionar uma chamada em um grupo de chamadas.

Os números syscall são válidos apenas para uma versão específica de um SO específico.

No Solaris, não há interface syscall estável, mas uma interface estável acima da libc. Isso é totalmente compatível com POSIX, já que POSIX intencionalmente não distingue entre syscalls e funções de biblioteca.

    
por 30.11.2015 / 19:28