手册页:何时将新的系统调用放入第 2 部分以及何时放入第 3 部分?

手册页:何时将新的系统调用放入第 2 部分以及何时放入第 3 部分?

在大学的一次练习中,我们被要求通过一个系统调用来扩展 Minix (v2),utctime该系统调用可以正确计算闰秒(Minix 的实现time不这样做)。

我们创建了一个新的系统调用,并创建了一个新的库函数来包装添加到<time.h>.

现在,我们想添加一个手册页utctime。但是,time第 2 节(系统调用)和第 3 节(库调用)都有手册页。

我们应该添加utctime到这两个吗?或者只是2因为它不是标准化的 C 库调用?

答案1

我建议第 2 节。例如,考虑open系统调用 — 实际上是系统调用的 C 库函数包装器open— 仅在第 2 节中记录。

答案2

如果该函数存在于内核本身中,而不是用户空间 C 库中,则将其放在第 2 部分中。

第 3 节不仅适用于 libc 函数,它们还可以是提供不属于内核一部分的低级操作系统子例程的其他库。例如,PAM 函数手册页存储在第 3 部分中。

在这种情况下,如果您有内核系统调用和库函数,请将系统调用的手册页放在第 2 节中,将库函数的手册页放在第 3 节中。

相关内容