Por que nenhuma rede de cópia zero no kernel do linux? [fechadas]

Gostaria de saber as razões pelas quais o kernel do linux (ou qualquer outro sistema operacional principal) não possui um recurso para rede de cópia zero? Com zero cópia, quero dizer, que um pacote / fluxo de dados não é copiado para passar para um aplicativo no espaço do usuário, mas p. usa um tipo de alocador de pool de memória para compartilhar a memória entre o kernel e o espaço do usuário. Eu vim com três teorias por conta própria:

a) Acho que existem preocupações com a segurança. Mas não há realmente nenhuma maneira de tornar a memória compartilhada com segurança entre o espaço do usuário e o kernel quando eles são usados apenas como buffer?

b) Acho que existem preocupações com a estabilidade. Mas não podemos assumir que quem usa rede de cópia zero e, por exemplo, precisa instanciar e passar um pool de memória para que a chamada do kernel esteja ciente do gerenciamento de memória? Ciente o suficiente para evitar vazamentos?

c) Simplesmente não foi feito / necessário até agora. Eu realmente não posso imaginar que ninguém solicitou esse recurso, já que todo mundo que usa tamanhos de pacotes pequenos geralmente é prejudicado pela implementação "lenta" da pilha TCP e existem ferramentas de terceiros disponíveis para a rede de 0 cópia para uso especial. placas de rede.

Sinta-se à vontade para postar qualquer sugestão, mas marque se você está assumindo ou tem um conhecimento mais profundo dos motivos para manter a qualidade do StackOverflow :-)

questionAnswers(1)

yourAnswerToTheQuestion