マニュアルページ、システムコール、libc

マニュアルページ、システムコール、libc

epoll_createライブラリ関数(マンページ、セクション3)としてリストされていないが、acceptライブラリ関数としてリストされているのはなぜですか?どちらの機能もカーネルシステムコールによって提供され、libcどちらもカーネルシステムコールを参照しますが?

私は「なぜ」という質問が一般的に人気がないのかを知っていますが、これはこれらの概念とセクション2および/または3に何かを追加する標準との間、そしてlibcの関係方法間の関係をよりよく理解するための私の要求です。そして、システムコール(すべてのlibcはCプログラム用のインタフェースをカーネル自体に実装するためです。したがって、私が理解している限り、すべてのシステムコールはlibcライブラリがすべてのシステムコールを提供するのでライブラリ関数です。私の説明は?)。

ベストアンサー1

少なくともLinux Man Pagesプロジェクトでは、特定の機能の主な基準を文書化する必要があるセクションは何ですか?セクション 3 はじめに:

このマニュアルのセクション3では、セクション2で説明したシステムコール(システムコールラッパー)を実装する機能を除くすべてのライブラリ関数について説明します。

マニュアルacceptページ「3p」セクションでこのコンテンツに触れた可能性があります。これはPOSIXプログラママニュアルの一部です。 POSIXは、「純粋な」Cライブラリ関数とシステムコールを区別しません。システムインターフェース自分を気にしないでどこ彼らは実装されました。

あなたの付加的な質問に関しては、いくつかのシステムコールにはライブラリ機能がありません。通常、新しいシステムコールはすぐにラッパーを取得しません。さらに、いくつかのシステムコールもあります。init_module少なくともGNU Cライブラリではラッパーを得る運命ではありません。

おすすめ記事