Quanto ao raciocínio por trás da numeração específica, que não corresponde a nenhuma outra arquitetura [exceto "x32" que é realmente apenas parte da arquitetura x86_64]: Nos primórdios do suporte x86_64 no kernel do linux, antes havia qualquer restrição séria de compatibilidade com versões anteriores, todas as chamadas do sistema foram renumeradas para otimizá-la no nível de uso da cacheline .
Eu não sei o suficiente sobre o desenvolvimento do kernel para saber a base específica para essas escolhas, mas aparentemente há alguma lógica por trás da opção de renumerar tudo com esses números em vez de simplesmente copiar a lista de uma arquitetura existente e remover os não usados. Parece que o pedido pode ser baseado em como eles são comumente chamados - por exemplo, read / write / open / close estão na frente. A saída e o garfo podem parecer "fundamentais", mas cada um deles é chamado apenas uma vez por processo.
Também pode haver algo acontecendo sobre manter as chamadas do sistema que são comumente usadas juntas na mesma linha de cache (esses valores são apenas inteiros, mas há uma tabela no kernel com ponteiros de função para cada um, então cada grupo de 8 chamadas de sistema ocupam uma linha de cache de 64 bytes para essa tabela)