Man pages: Quando colocar uma nova chamada de sistema na seção 2 e quando na seção 3?

1

Para um exercício na universidade, somos solicitados a estender o Minix (v2) com uma chamada de sistema utctime que calcula corretamente os segundos bissextos (que a implementação do Minix ' time não faz).

Criamos uma nova chamada de sistema e criamos uma nova função de biblioteca que envolve essa chamada de sistema que foi adicionada a <time.h> .

Agora, gostaríamos de adicionar uma página de manual para utctime . No entanto, time tem uma página do manual na seção 2 (chamadas do sistema), bem como a seção 3 (chamadas da biblioteca).

Devemos adicionar o utctime a ambos? Ou apenas para 2 porque não é uma chamada de biblioteca C padronizada?

    
por Qqwy 21.03.2018 / 15:09

2 respostas

2

Sugiro a seção 2. Considere, por exemplo, a chamada do sistema open - na verdade, o wrapper da função da biblioteca C sobre a chamada do sistema open - que está documentado apenas na seção 2.

    
por 21.03.2018 / 15:13
1

Se a função estiver no próprio kernel, não em uma biblioteca C do userspace, coloque-a na seção 2.

A seção 3 não é apenas para as funções da libc, elas podem ser outras bibliotecas que fornecem sub-rotinas de sistema operacional de baixo nível que não fazem parte do kernel. Por exemplo, as páginas de manual da função PAM são armazenadas na seção 3.

Neste caso, se você tiver uma chamada de sistema do kernel e uma função de biblioteca, coloque a página de manual para a chamada de sistema na seção 2 e a página de manual para a função de biblioteca na seção 3.

    
por 21.03.2018 / 15:25