基本的なLinuxインストールがデフォルトのOpenBSDインストールよりも多くのプロセスを実行するのはなぜですか?

基本的なLinuxインストールがデフォルトのOpenBSDインストールよりも多くのプロセスを実行するのはなぜですか?

ps -auxGUIなしでUbuntu(またはGNU / Linuxディストリビューション)を使用すると、約100個のプロセスが実行されていることがわかります。 GUIなしでOpenBSDを使用すると、ps -aux約10のプロセスが生成されます。

これの説明/理由は何ですか? *BSDシステムは「もっときれい」ですか(コード)またはただカーネルにすべてを入れますか?

答え1

プロセス数とオペレーティングシステムの「明確さ」との間には相関関係はない。あなたはリンゴとグーズベリーを比較しています。

Linuxシステムでは、ps axメモリを使用しない複数のプロセスが、以下のように角括弧内に名前で表示されます。

root         2  0.0  0.0      0     0 ?        S    Nov02   0:01 [kthreadd]
root         3  0.0  0.0      0     0 ?        S    Nov02   4:39 [ksoftirqd/0]
root         6  0.0  0.0      0     0 ?        S    Nov02   0:00 [migration/0]
root         7  0.0  0.0      0     0 ?        S    Nov02   0:01 [watchdog/0]
root         8  0.0  0.0      0     0 ?        S    Nov02   0:00 [migration/1]

これらのプロセスはカーネルの一部です。カーネル権限で実行されますが、ユーザープロセスのようにスケジューラによって管理されます(ほとんどの場合、ハードウェア要求を処理するため、優先順位が高くなります)。私がこの記事を書いているコンピュータには100を超えるプロセスがあります。プロセスの数は、カーネルバージョン、ハードウェア、実行中のカーネルサービス(たとえば、一部のファイルシステムではカーネルデーモンプロセス)です。

これらのプロセスは、さまざまな数値の大部分を占める可能性があります。私が知る限り、BSDはそのような作業だけを報告しないので、比較は意味がありません。

さらに、デフォルトのOpenBSDインストールには非常に少ないサービスが含まれていますが、デフォルトのUbuntuインストールには通常のユーザーが見つけることを期待しているすべてのサービスが実行されます。 2台のコンピュータに同じソフトウェアをインストールすると、同様の数の非カーネルプロセスを見つけることができます。

答え2

実行中のプロセスの数が必ずしも「明確さ」を示す良い指標ではありません。

devdたとえば、通信にソケットを使用しているがD-Busを使用するFreeBSDを例に挙げますudev(したがって他のプロセスが必要ですdbus-daemon)。プロセス数: 1:2しかし、 Dバスより多くの機能と可能性を提供します。その他多くのシステムデーモンそれも使用してください(dbus-daemon同じプロセスで処理されます)。 今どれがもっと明確ですか?

また、機能を犠牲にすることで(つまり* Kitsを使用しない)、GUIではなくGNU / Linuxシステムが「より少ない数のプロセスを使用する」ようにすることができると思います。そして、BSDとこのシステム間の公正な比較(価値が何であるかについて)はそれほど価値があります。 )機能セットが一致した場合にのみ実行できます。

答え3

たぶんこれはあなたがLinuxをたくさん使うという意味ですか? BSDシステムにさらに多くのサービスをロードすると、時間の経過とともにLinuxのような粗雑なデーモンでいっぱいになります。

これは、最新のLinuxディストリビューションのジャンク量を反映することもできます。 FreeBSD基本システムは実際には非常に軽いです。 Slackwareを新しくインストールするのと比較する方が良い比較かもしれません。私はそれが基本的に50のプロセスに付属しているかどうか疑問に思います。

関連情報