Recommanded Free YOUTUBE Lecture: <% selectedImage[1] %>

일단은 순서에 연연하지 않고, 필요한 부분을 적은 다음 나중에 정리해서 완성할 계획입니다.

DBUS 에 대해서

DBUS는 기본적으로 IPC(:12)의 고급구현을 위해서 만들어졌다. 고급구현인 만큼 IPC(:12)의 또다른 구현중 하나라고 볼 수 있을 것이다. 물론 다른 몇가지 IPC고급 구현이 있다.

DBUS 이전의 IPC 구현으로는 CORBA(:12)가 있다. CORBA는 객체지향 프로그래밍을 지원하는 강력한 IPC 구현이다. 이에 DCOP이라는 좀더 가볍지만 충분히 강력한 IPC 프레임워크가 등장하였다. SOAP와 XML:::RPC(:12)는 web service에 사용하기 적당하다.

DBUS는 데스크탑 응용과 OS와의 통신이 가능하도록 설계된 가볍고 충분히 강력한 IPC 구현이다.

데스크탑 응용 communication

데스크탑에는 여러개의 다수의 응용프로그램이 동시에 실행된다. 이들은 때때로 서로 통신해야할 필요가 있다. K 데스크탑 환경의 경우에는 DCOP가 사용되지만 단지 QT에만 사용될 수 있다. Bonobo 는 GNOME환경에서 사용되는데, CORBA 기반으로 너무 무겁다.또한 GObject에 강하게 의존적이라서 GNOME 밖에서는 사용하기가 쉽지 않다. DBUS는 DCOP와 Bonobo를 대체할 목적으로 만들어진 간단한 IPC로 이들 데스크탑 환경을 통합하고 있다. 또한 D-BUS는 별다른 의존성 걱정없이 사용할 수 있도록 설계되어져 있다.

데스크탑/운영체제 communication

보수적으로 보자면 운영체제(:12)시스템은 단지 kernel(:12)만을 의미하지만, 일반적으로 시스템 daemon(:12) 프로그램까지를 포함한 것으로 확장해서 보고 있다.

DBUS는 udev, device가 추가되었을 때의 signal을 잡아내는 (USB 카메라와 같은)등의 기능을 제공한다. DBUS는 데스크탑의 하드웨어와 통합되어 있으며, 유저로 하여금 이것들을 효과적으로 다룰 수 있도록 도와준다.

QT 에서의 DBUS

데스크탑 환경에서는 그나마 QT에 좀 익숙한 관계로 QT에서의 DBUS의 사용법을 위주로 살펴보려고 합니다.

참고문서