为什么时钟需要共享内存段?

为什么时钟需要共享内存段?

这是一个编程和 Linux 问题的组合,但我认为它更适合这里。

ipcs我正在编写一个与(共享内存段)一起使用的应用程序,每次运行后我都会ipcs使用 bash 命令检查是否还剩下任何内存段ipcs。我注意到的东西比我创造的要多得多,所以我认为它们是系统软件的一部分。

我决定逐一检查,看看它们之间的联系。关闭每个进程后,我注意到连接到共享内存段的进程之一是系统时钟。我所说的系统时钟是指在面板右侧显示时间的时钟(或向上显示,具体取决于您如何设置),而不是 CPU 时钟。为什么系统运行的所有进程中,时钟需要共享内存段?

答案1

我所说的系统时钟是指在面板右侧显示时间的时钟

“系统时钟”一般是指内核维护的时钟;应用程序,例如dateGUI 时钟)(例如您提到的应用程序)对其进行调用像这样

为什么系统运行的所有进程中,时钟需要共享内存段?

Linux 可能有几十种不同的基于 GUI 和 DE 的时钟可用,所以没有办法具体说。这意味着它涉及多个进程,这对于 GUI 时钟来说当然不是必需的,但如果它与桌面集成,谁知道呢——它还可能拥有一些您尚未发现的功能。

编程时,就 IPC 而言,您有很多选择。您使用什么方法取决于具体的要求,但也可能取决于个人喜好。我更喜欢套接字和序列化,但共享内存非常流行;当我跑步时ipcs -a我在“共享内存段”下得到几十个条目。有趣的是,如果我在无头系统上运行它,我什么也得不到,所以想必这些都与 GUI 应用程序相关。 油嘴滑舌D总线可能有建立在此类程序使用的共享内存上的设施。

相关内容