Provided by: manpages-pt-br_4.27.0-1_all bug

NOME

       intro - introdução às chamadas do sistema

DESCRIÇÃO

       A  seção  2 do manual descreve as chamadas do sistema Linux. Uma chamada do sistema é um ponto de entrada
       no kernel do Linux. Geralmente, as chamadas do sistema não são chamadas  diretamente:  em  vez  disso,  a
       maioria  das  chamadas  do  sistema tem funções wrappers correspondentes de bibliotecas C que executam as
       etapas necessárias (por exemplo, interceptar no modo kernel) para chamar a chamada do sistema.  Portanto,
       fazer uma chamada do sistema é o mesmo que chamar uma função normal da biblioteca.

       Em muitos casos, a função wrapper de biblioteca C não faz nada além de:

       •  copiar  argumentos  e o número de chamadas do sistema exclusivas para os registradores em que o kernel
          os espera;

       •  interceptar no modo kernel, quando o kernel faz o trabalho real da chamada do sistema;

       •  definir errno se a chamada do sistema retornar um número de erro quando o kernel  retornar  a  CPU  ao
          modo de usuário.

       No  entanto,  em  alguns  casos,  uma  função  wrapper  pode  fazer  muito mais do que isso, por exemplo,
       executando algum pré-processamento dos argumentos antes de capturar no modo kernel  ou  pós-processamento
       de  valores  retornados  pela  chamada do sistema. Nesse caso, as páginas de manual da Seção 2 geralmente
       tentam observar os detalhes da interface da API da biblioteca C (geralmente GNU) C e da chamada bruta  do
       sistema.  Geralmente,  a DESCRIÇÃO principal se concentrará na interface da biblioteca C, e as diferenças
       para a chamada do sistema são abordadas na seção NOTAS.

       Para obter uma lista das chamadas do sistema Linux, consulte syscalls(2).

VALOR DE RETORNO

       Em caso de erro, a maioria das chamadas do sistema retorna um número de erro negativo (ou seja,  o  valor
       negado  de  uma  das  constantes descritas em errno(3)). O wrapper da biblioteca C oculta esse detalhe do
       chamador: quando uma chamada do sistema retorna um valor negativo, o wrapper copia o  valor  absoluto  na
       variável errno e retorna -1 como o valor de retorno do wrapper.

       O  valor retornado por uma chamada de sistema bem-sucedida depende da chamada. Muitas chamadas do sistema
       retornam 0 em caso de êxito, mas algumas podem  retornar  valores  diferentes  de  zero  de  uma  chamada
       bem-sucedida. Os detalhes estão descritos nas páginas individuais do manual.

       Em  alguns casos, o programador deve definir uma macro de teste de recurso para obter a declaração de uma
       chamada do sistema a partir do arquivo de cabeçalho especificado na seção SINOPSE da  página  man.  (Onde
       necessário,  essas  macros de teste de recursos devem ser definidas antes da inclusão de qualquer arquivo
       de cabeçalho.) Nesses casos, a macro necessária é descrita na página man.  Para  obter  mais  informações
       sobre macros de teste de recursos, consulte feature_test_macros(7).

PADRÕES

       Certos  termos e abreviações são usados para indicar variantes e padrões UNIX aos quais as chamadas nesta
       seção estão em conformidade. Vejo standards(7).

NOTAS

   Chamando diretamente
       Na maioria dos casos, é desnecessário invocar uma chamada do sistema diretamente, mas há momentos em  que
       a  biblioteca  Standard  C  não implementa uma boa função de wrapper para você. Nesse caso, o programador
       deve chamar manualmente a chamada do sistema usando syscall(2). Historicamente, isso também era  possível
       usando uma das macros _syscall descritas em _syscall(2).

   Autores e condições de direitos autorais
       Veja  o  cabeçalho  do  código-fonte  da  página  de  manual  para o(s) autor(es) e condições de direitos
       autorais. Note que estes podem ser diferentes de página para página!

VEJA TAMBÉM

       _syscall(2), syscall(2), syscalls(2), errno(3), intro(3), capabilities(7), credentials(7),
       feature_test_macros(7), mq_overview(7), path_resolution(7), pipe(7), pty(7), sem_overview(7),
       shm_overview(7), signal(7), socket(7), standards(7), symlink(7), system_data_types(7), sysvipc(7),
       time(7)

TRADUÇÃO

       A tradução para português brasileiro desta página man foi criada por Rafael Fontenelle
       <rafaelff@gnome.org>

       Esta tradução é uma documentação livre; leia a Licença Pública Geral GNU Versão 3 ou posterior para as
       condições de direitos autorais.  Nenhuma responsabilidade é aceita.

       Se você encontrar algum erro na tradução desta página de manual, envie um e-mail para a lista de
       discussão de tradutores.

Linux man-pages 6.9.1                              2 maio 2024                                          intro(2)