시계에 공유 메모리 세그먼트가 필요한 이유는 무엇입니까?

시계에 공유 메모리 세그먼트가 필요한 이유는 무엇입니까?

프로그래밍 질문과 리눅스 질문을 합친 질문인데 여기에 더 잘 맞는 것 같습니다.

ipcs나는 (공유 메모리 세그먼트)로 작동하는 애플리케이션을 작성 중이며, 각 실행 후에 ipcsbash 명령을 사용하여 메모리 세그먼트가 남아 있는지 확인합니다 ipcs. 나는 내가 만든 것보다 훨씬 더 많은 것을 발견했기 때문에 그것이 시스템 소프트웨어의 일부라고 가정했습니다.

나는 각각이 어떻게 연결되어 있는지 확인하기로 결정했습니다. 각 프로세스를 닫은 후 공유 메모리 세그먼트에 연결된 프로세스 중 하나가 시스템 시계라는 것을 알았습니다. 시스템 시계란 CPU 시계가 아니라 패널 오른쪽(또는 설정 방법에 따라 위쪽)에 시간을 표시하는 시계를 의미합니다. 시계가 시스템에서 실행되는 모든 프로세스 간에 메모리 세그먼트를 공유해야 하는 이유는 무엇입니까?

답변1

시스템 시계란 패널 오른쪽에 시간을 표시하는 시계를 의미합니다.

date"시스템 시계"는 일반적으로 GUI 시계와 같은 커널 응용 프로그램(예: 언급한 응용 프로그램) 에 의해 유지되는 시계를 나타냅니다.이와 같이.

시계가 시스템에서 실행되는 모든 프로세스 간에 메모리 세그먼트를 공유해야 하는 이유는 무엇입니까?

Linux에는 아마도 수십 가지의 다양한 GUI 및 DE 기반 시계가 있으므로 구체적으로 말할 방법이 없습니다. 즉, GUI 시계에는 확실히 필요하지 않은 여러 프로세스가 포함되어 있지만 데스크탑과 통합된다면 아직 발견하지 못한 일부 기능이 있을 수도 있습니다.

프로그래밍할 때 IPC와 관련하여 많은 선택 사항이 있습니다. 사용하는 방법은 특정 요구 사항에 따라 다르지만 개인 취향에 따라 달라질 수도 있습니다. 저는 소켓과 직렬화를 선호하지만, 실행하면 ipcs -a"공유 메모리 세그먼트" 아래에 수십 개의 항목이 표시되는 공유 메모리가 매우 널리 사용됩니다. 흥미롭게도 헤드리스 시스템에서 실행하면 아무 것도 얻지 못하므로 아마도 GUI 응용 프로그램과 관련이 있을 것입니다. 글립 혀그리고D 버스그러한 프로그램이 사용하는 공유 메모리 위에 구축된 기능이 있을 수 있습니다.

관련 정보