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?
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.
if we want say in simple word HAL is automatically detect the port when you plug the printer cable to the system in any any port. you don't want to only plug some specific port. HAL is a new method UDEV is not detect the port automatically they only detect the who port what you specify the port what you set in configuration time like port S1. UDEV is old method.
Whats the difference between U&L and wikipedia?
HAL (Hardware Abstraction Layer or rather Hardware Annotation Library) is a software subsystem for UNIX-like operating systems providing hardware abstraction.
HAL is now deprecated on most Linux distributions and on FreeBSD. Functionality is being merged into udev on Linux as of 2008–2010 and devd on FreeBSD. Previously, HAL was built on top of udev.
Some other OS-es which don't have an alternative like udev or devd still use HAL.