ほとんどのLinuxディストリビューションがPOSIXと互換性がないのはなぜですか?私はそうでない場所をいくつかの場所で見ました(例:ほとんどPOSIX規格に準拠しています。)しかし、これを裏付ける実際の説明はありません。
この問題を解決するためにCライブラリやツールで実行できることはありますか(つまり、カーネル自体を変更せずに)?どうすればいいですか?
想定される冗長性は、どのLinuxディストリビューションがPOSIXと互換性があるかを尋ねることです。これは、ほとんどのLinuxディストリビューションがPOSIXと互換性がない理由を尋ねることです。特定のディストリビューションが認証されていない(試みる)理由ではなく、特定の詳細(たとえば、一部の機能やコマンドが互換性がない)を要求することです。
@PhilipCoulingのコメント(ありがとう!)はこれをよく説明します。
コンプライアンスと認証は別々のトピックです。答えは、(非)コンプライアンストピックとは何の関係もない(再)認証費用を指します。
答え1
POSIX はカーネルインタフェースを指定しないので、Linux はデフォルトでは関係ありません。これは、すべてのカーネルに存在できるC標準へのシステムインタフェース、さまざまなツール、および拡張を指定します。言及されていないためPOSIX規格ではないか、言及されていないためPOSIX規格ではありません。選択はあなたの分け前です。
UNIX®認証Linuxディストリビューションしたがって、Linuxを使用してPOSIXと完全に互換性のあるオペレーティングシステムを開発することは確かに可能です。HuaweiのEulerOSはその一つです。ご希望であれば購入できます。残りのほとんどはまだ費用を支払っていないので使用できません。テストスイート一貫性を確認してください。
実際にこの要件を満たすかどうかは不明ですが、一部は他のものよりも一生懸命働いています。私はいくつかのBSDがほとんどのLinuxディストリビューションよりも近いと思いますが、それは推測です。たとえば、execlp("cd", "/", NULL)
ほとんどのLinuxディストリビューションでは失敗しますが、多くのBSDで動作し、POSIXで必要であることがわかります。