· 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 love peace.


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.0044 sec