D-bus란?
리눅스 상에서 프로세스 간 통신(IPC)을 위한 시스템 혹은 RPC 프로토콜. 다양한 컴포넌트 간에 데이터를 교환하고 이벤트를 전달하는 데에 활용.
리눅스 환경이 제공하는 서비스들을 표준화하기 위해 개발되었다.
IPC (Inter-Process Communication)란?
프로세스들 사이에 서로 데이터를 주고받는 행위 또는 그에 대한 방법이나 경로.
구조
기존 리눅스 IPC
D-bus IPC
구성
System Bus
시스템 전체에서 사용되며 시스템 레벨의 이벤트 및 서비스 간 통신에 사용.
Session Bus
세션 버스는 사용자 세션 내에서 동작하며 사용자 레벨의 프로세스 간 통신에 사용.
통신 방식
Method Call
- 양방향 또는 한 방향으로 통신 가능
- peer to peer (일대일) 통신 패턴
- 애플리케이션에게 직접 메시지를 보내고 특정 메서드를 호출하여 결과를 요청
Signal
- 한방향 통신, 이벤트를 전달하는 즉시 반환값을 기대하지 않음
- broadcast 통신 패턴
- 넓은 범위에 메시지를 전달하는 형태, 여러 개의 애플리케이션이 해당 이벤트를 수신
'프로그래밍' 카테고리의 다른 글
jspdf를 활용한 PDF 생성 (0) | 2023.12.20 |
---|---|
[linux] apt 저장소 변경하기 (sources.list 변경) (0) | 2023.12.18 |
[PHP] PHP를 업데이트해야 하는 이유 (0) | 2023.12.15 |
libpng warning: iCCP: known incorrect sRGB profile 경고 (0) | 2023.12.13 |
[linux] 우분투(Ubuntu) 20.04(Focal Fossa)에 Phalcon 프레임워크 설치하기 (0) | 2023.12.10 |