Como essas semânticas exigem instruções de montagem não portáveis, a maioria dos usuários provavelmente serão autores de bibliotecas, em vez de desenvolvedores de aplicativos comuns. Futex é uma chamada única que executa muitas operações. Isso pode parecer estranho, até desconcertante, se não absolutamente. Ou seja, no entanto, procedimento padrão para uma chamada de sistema única: a chamada do sistema “ioctl” contém consideravelmente mais operações do que a Futex. Por outro lado, é improvável que os programadores descubram porque o glibc o esconde, embora o sistema de chamada de soquete único implemente todas as funções relacionadas ao soquete. Como resultado, se os threads o acessarem em um único processo, ele poderá ser especificado como uma variável global ou armazenada em um segmento de memória compartilhado se os threads de vários processos o utilizarem. Um estado atualizado no espaço de usuários usando operações atômicas é armazenado na variável compartilhada. Não há necessidade de uma chamada do sistema quando o estado diz que não há conflito. Se a condição indicar uma disputa, por outro lado, uma chamada do sistema Futex será feita para colocar a tarefa de chamada para dormir.
Exemplo para explicar a chamada do sistema futex () na linguagem C
Para entender a chamada do sistema futex () em linguagem C, instalamos o Ubuntu 20.04 Sistema operacional Linux. Crie um arquivo intitulado “FC.C ”. O título do arquivo pode ser modificado, mas a extensão permanecerá a mesma. Então, em primeiro lugar, abra a concha do Ubuntu 20 instalado 20.04 Sistema operacional Linux, encontrando -o nos “Applications” ou verificando a tecla “Ctrl+Alt+T”. Uma vez aberto, execute as instruções afixadas no terminal do Ubuntu instalado 20.04 Sistema operacional Linux.
$ nano fc.cVocê pode confirmar a execução bem -sucedida do arquivo apenas se você receber o editor do GNU Nano na sua tela. Agora você tem que escrever o código exibido na captura de tela em anexo. Este é um dos exemplos mais básicos da chamada do sistema futex ().
é um arquivo que contém declarações para várias funções e macros necessários para receber informações de entradas e exibir saída na janela de saída do programa C. Não é desnecessário adicionar “stdio. H ”porque podemos fornecer informações ao programa C usando qualquer outro programa, como DOS, e os resultados da loja. O cabeçalho fornece e declara uma variedade de constantes e tipos simbólicos, bem como uma variedade de funções. syscall () é uma pequena função da biblioteca que chama o sistema chamado com a quantidade solicitada de argumentos e a interface de linguagem de montagem fornecida. Depois de entender o código acima do display, você estará pronto para verificar a saída. Instalamos um compilador GCC para a compilação do código. O compilador GNU C, ou GCC, é o compilador mais famoso e amplamente usado entre os programadores que usam C como sua linguagem de programação. O GCC é um compilador acessível que vem com todas as distribuições Linux gratuitamente. Agora execute o comando anexado no terminal do Ubuntu 20.04 Sistema Linux.
$ GCC FC.cA saída pode ser vista na imagem acima ligada.
Conclusão
Este artigo forneceu uma breve introdução da chamada do sistema futex () na linguagem de programação C. Temos um exemplo simples e breve de uma chamada do sistema futex (). Implementar os mesmos exemplos e adicionar poucas mudanças pode ajudá -lo a entender o sistema Futex () System na linguagem de programação C.