· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
Project Utopia

유토피아의 구성

  • 리눅스 2.6
  • sysfs
  • 리눅스 2.6에서는 하드웨어의 정보를 일반화시켜서 볼 수 있는 sysfs가 추가되었다.
  • proc에서 subsystem마다 각기 따로 관리하던 정보를 단일하고 일반화된 방식으로 접근이 가능하다.
  • 현재 시스템에서 동작되고 있는 장치들을 물리적, 또는 논리적인 구조로 원하는 방향에서 찾아 볼수 있다.
  • 아래에서 시스템에서 동작하고 있는 ide인터페이스 장치들을 물리적인 구조및 논리적인 구조로 보여주고 있다.
  • 또한 서로의 정보가 심볼릭 링크가 되어 있어서 관련 정보를 쉽게 얻을 수 있다.
ganadist@ganadist sys $ tree -d devices/pci0000\:00/0000\:00\:09.0
devices/pci0000:00/0000:00:09.0
|-- ide0
|   |-- 0.0
|   |   |-- block -> ../../../../../block/hda
|   |   `-- power
|   |-- 0.1
|   |   |-- block -> ../../../../../block/hdb
|   |   `-- power
|   `-- power
`-- power
ganadist@ganadist sys $ tree -d block/hd*
block/hda
|-- device -> ../../devices/pci0000:00/0000:00:09.0/ide0/0.0
|-- hda1
|-- hda10
|-- hda11
|-- hda12
|-- hda2
|-- hda5
|-- hda6
|-- hda7
|-- hda8
|-- hda9
`-- queue
`-- iosched
block/hdb
|-- device -> ../../devices/pci0000:00/0000:00:09.0/ide0/0.1
|-- hdb1
|-- hdb2
|-- hdb5
|-- hdb6
|-- hdb7
`-- queue
`-- iosched
  • LinuxHotplug
  • 커널 2.4에서 일부 시스템(usb, ieee1394, pci)에서만 적용되던 LinuxHotplug가 subsystem 전체(block, net, scsi_host, scsi_device, input, etc)에 적용되게 되었다.
  • hotplug 이벤트가 발생할 때 sysfs의 경로를 가리켜서 새로 연결된 장치의 정보를 참조할 수 있도록 한다.
  • ProjectUtopia에서는 3가지의 hotplug agent가 실행된다.
  • linux-hotplug agent : 기존의 리눅스 2.4에서 쓰이던 hotplug agent이다. 필요한 커널 모듈을 커널에 적재하며 필요한 쉘 스크립트를 실행한다.
  • udev agent : 새로 연결된 장치에 접근할 수 있는 장치노드를 사용자 설정에 따라 만든다.
  • hal agent : 새로 연결된 장치에 대한 정보를 dbus를 통해 시스템 전체에 알린다.
  • [http]D-BUS Message Bus System
  • 데스크탑 프로그램들을 위한 IPC(interprocess communication) 시스템
  • dbus-daemon은 -system 모드와 -session 모드로 동작한다.
  • system모드로 시작한 데몬은 하드웨어 추가/제거 또는 프린트 큐 상태 같은 시스템 전체 메세지를 전달하며 모든 사용자가 접근 가능하다.
  • session모드로 시작한 데몬은 세션 데몬의 주소를 반환하며 그 세션에서 실행되는 프로그램 사이의 IPC메세지를 전달 할 수 있다.
  • c, c++, c#, java, python 등의 여러가지 언어 바인딩이 제공되어 진다.
  • [http]Hardware Abstraction Layer
  • 다양한 OS상에서 각종 하드웨어의 상태를 동일한 인터페이스로 접근 가능하게 하는 Framework
  • dbus를 이용하여 현재 하드웨어의 연결,제거 또는 상태에 대한 정보를 얻어낼 수 있다.
  • 현재는 hal agent가 리눅스 2.6에서만 구현되어 있다. hal agent만 구현되면 다른 OS에서도 동작이 가능하다.
  • Gnome Volume Manager
  • HAL에서 전달된 메세지를 파악해서 시스템에 연결된 디스크 장치를 자동으로 마운트, 또는 필요한 프로그램을 실행한다.



ID
Password
Join
You have a strong desire for a home and your family interests come first.


sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2005-03-07 13:53:21
Processing time 0.0049 sec