I'm just beginning to dive into the internals of Linux, and I was wondering what the difference is between udev and the hal daemon. From what I gather, both seem to be responsible for managing hot pluggable devices... is hald used by udev to listen, or are they two separate things?
One important difference is that HAL is deprecated.
hald is responsible for providing a unified interface to the current hardware configuration of the machine. udev is responsible for managing the various operations required when the hardware configuration changes while the system is live.
HAL is responsible for Abstraction information a bout hard-ware devices. i mean it's not important that you knows all information a bout what you plug-in for example you are using some wireless card and the models of it is TP-link hal is responsible to make additional information shorter if you use "ifconfig" you saw wlan0 not TP-LINK
the udev is responsible to move devices in regular way and set some rules on them. for example you can tell udev: when i plug-in my blue flash you should copy my backups to flash
sorry if i have typos or relevment mistake have nice day.