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

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)