Provided by: manpages-pt-br_4.15.0-9_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).

DE ACORDO COM

       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)

COLOFÃO

       Esta página faz parte da versão 5.13 do projeto Linux man-pages. Uma descrição do projeto,
       informações sobre relatórios de bugs e a versão mais recente desta página podem ser
       encontradas em https://www.kernel.org/doc/man-pages/.

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
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ 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 ⟨debian-l10n-portuguese@lists.debian.org⟩.