時計に共有メモリセグメントが必要なのはなぜですか?

時計に共有メモリセグメントが必要なのはなぜですか?

プログラミングの質問とLinuxの質問を合わせた質問ですが、ここでよりよく合うようです。

ipcs私は(共有メモリセグメント)として動作するアプリケーションを作成していますが、各実行後にipcsbashコマンドを使用してメモリセグメントが残っていることを確認しますipcs。私が作ったよりもはるかに多くを見つけたので、それはシステムソフトウェアの一部であると仮定しました。

私はそれぞれがどのように接続されているかを確認することにしました。各プロセスを閉じた後、共有メモリセグメントに接続されたプロセスの1つがシステムクロックであることがわかりました。システム時計とは、CPU時計ではなく、パネルの右側(または設定方法によって上側)に時間を表示する時計を意味します。時計がシステムで実行されているすべてのプロセス間でメモリセグメントを共有する必要があるのはなぜですか?

答え1

システム時計とは、パネルの右側に時刻を表示する時計を意味します。

date「システムクロック」は、通常、GUIクロックなどのカーネルアプリケーション(たとえば、前述のアプリケーションなど)によって保持される時計を指します。このように

時計がシステムで実行されているすべてのプロセス間でメモリセグメントを共有する必要があるのはなぜですか?

Linuxにはおそらく何十もの異なるGUIとDEベースの時計があるので、具体的に言う方法はありません。つまり、GUIクロックには不必要なプロセスがいくつか含まれていますが、デスクトップと統合されている場合はまだ見つからない機能がいくつかある可能性があります。

プログラミング時にIPCに関して多くの選択肢があります。使用方法は特定の要件によって異なりますが、個人的な好みによっても変わることがあります。私はソケットと直列化を好みますが、実行すると、ipcs -a「共有メモリセグメント」の下に何十ものエントリが表示される共有メモリが非常に広く使用されています。興味深いことに、ヘッドレスシステムで実行すると何も得られないので、おそらくGUIアプリケーションに関連しているでしょう。 グリップ舌そしてDバスそのようなプログラムが使用する共有メモリの上に構築された機能があるかもしれません。

関連情報