Penguin

Differences between current version and previous revision of HAL.

Other diffs: Previous Major Revision, Previous Author, or view the Annotated Edit History

Newer page: version 3 Last edited on Tuesday, December 26, 2006 4:08:32 pm by LawrenceDoliveiro
Older page: version 2 Last edited on Thursday, April 7, 2005 1:16:56 pm by CraigBox Revert
@@ -2,4 +2,14 @@
  
 Used in most operating systems to enable device drivers etc to be written more easily. 
  
 Under [Linux] there is a [HAL daemon|http://freedesktop.org/wiki/Software_2fhal] that allows easy userspace device management with [UDev] and [D-BUS]. 
+  
+!!Clarification: Who Does What  
+  
+* D-BUS is purely a channel for communication between different processes. It can be used for lots of purposes besides keeping track of system hardware.  
+* The job of HAL is to act as a dynamic central repository of information about the current hardware configuration. The structure of this repository is quite open-ended; in particular it is possible to attach any additional attributes you like to objects, by setting up appropriate rules in the HAL configuration. Other processes can register their interest with HAL, so that they get notifications (via D-BUS) of any configuration changes.  
+* The job of udev is to maintain entries in the /dev directory, nothing more. As hardware is added, the appropriate device special files are created; as the hardware is removed, those files are deleted. What is done with those entries (e.g. automounting of removable drives) has to be handled elsewhere. You can customize the behaviour of udev by writing rules, so that, for instance, your USB flash drive always gets the same device name assigned, regardless of what other USB devices might or might be already plugged in.  
+  
+Note that udev is part of the Linux kernel project, while HAL and D-BUS are not. Thus, udev knows nothing about HAL or D-BUS.  
+  
+I think (but am not sure) that, in current Linux kernel versions, HAL and udev actually operate in parallel, independently of each other; they both receive notifications about hardware changes from the kernel, and perform their own individual actions in response.