Linuxでのスレッド/プロセスプログラミングの基本サポートと非基本サポートはありますか?

Linuxでのスレッド/プロセスプログラミングの基本サポートと非基本サポートはありますか?
  1. POSIXスレッド(pthread)とOpenMPはスレッドプログラミング用のライブラリです。しかし、彼らはLinuxの基本ではありませんか?つまり、後でユーザーがインストールする必要がありますか?

    それでは、Linuxの基本的なライブラリまたは機能は何ですか? pthreadとOpenMPを実装するために使用されますか?

  2. プロセスプログラミングとの比較のために私が正しい場合、Linuxはデフォルトでfork()、exec *()、waitpid()、およびパイプライン()機能を提供しますが、MPIは提供しません。プロセスプログラミングのための基本関数にMPIが実装されていますか?

ベストアンサー1

「非原魚民」とはどういう意味ですか?各ディストリビューションには独自のデフォルトのインストールパッケージセットがあり、そのセットを簡単に調整できるため、「基本インストール」は明確に定義されていません。

POSIXスレッドこれは組み込まれていないLinuxシステムの不可欠な部分であるGNU libcの一部です(小さなシステムに代わるものがあり、メインシステムにはpthreadのサポートも含まれていると思います)。 Linuxカーネルにはスレッドの基本的なサポートが含まれています。 pthreadではありませんが、カーネル単独でサポートするものとカーネルの上にある標準ライブラリがサポートするものとの区別はほとんど有用ではありません。

MPを開くgccの一部であるGOMPから。標準ライブラリ(Glibc)とは異なり、通常のLinuxシステムにlibgompをインストールすることができます。

実装する方法はいくつかあります。MPILinuxの場合は、次のものが含まれます。MPICHそしてMPIを開く。通常のLinuxシステムにもこれらの機能はありません。

すべては最終的に上記で実現されます。システムコールつまりカーネルが提供する機能です。 MP、MPI、およびその他のライブラリは、プロセス管理、プロセス間通信(パイプ、ソケット、共有メモリなど)、およびマルチスレッド(ロック、条件など)のためのシステムコールの観点から実装されています。

おすすめ記事