マニュアルページ:いつ新しいシステムコールをパート2に入れ、いつパート3に入れますか?

マニュアルページ:いつ新しいシステムコールをパート2に入れ、いつパート3に入れますか?

大学での練習中、私たちはutctimeうるう秒を正確に計算できるシステムコールでMinix(v2)を拡張するように求められました(Minixの実装ではtimeこれを行いませんでした)。

我々は、新しいシステムコールを生成し<time.h>

これでマニュアルページを追加したいと思いますutctime。ただし、timeセクション2(システムコール)とセクション3(ライブラリコール)のマニュアルページがあります。

utctimeこれら2つを追加する必要がありますか?それとも2標準化されたCライブラリ呼び出しではないからでしょうか?

答え1

2部おすすめです。たとえば、セクション2でのみ説明されているopenシステムコール(実際にはシステムコールを囲むCライブラリ関数ラッパー)を考えてみましょう。open

答え2

関数がユーザー空間Cライブラリではなくカーネル自体に存在する場合は、セクション2に入れます。

セクション3は、libc関数にのみ適用されるのではなく、カーネルの一部ではなく低レベルのオペレーティングシステムサブルーチンを提供する他のライブラリでもあります。たとえば、PAM機能のマニュアルページはパート3に保存されています。

この場合、カーネルシステムコールとライブラリ機能がある場合は、システムコールのマニュアルページをセクション2に配置し、ライブラリ機能のマニュアルページをセクション3に配置します。

関連情報