Linked by Eugenia Loli on Tue 30th Sep 2003 05:20 UTC
General Development In the dawn of the renovation of's web site, David Zeuthen announced the release of HAL 0.1. HAL is an implementation of a hardware abstraction layer, as defined by Havoc Pennington's paper. It encompasses a shared library for use in applications, a daemon, a hotplug tool, command line tools and a set of stock device info files. Carlos Perelló Marín also announced the design of a similar concept, but it is expected the two projects to merge. More people are encouraged to join this innovative project. Elsewhere, Gnome's Seth Nickell is giving us a first taste of his effort to replace the Init system.
Permalink for comment
To read all comments associated with this story, please click here.
by oGALAXYo on Tue 30th Sep 2003 08:49 UTC

How comes I don't like this idea ?

HAL is something that should be done between HARDWARE and KERNEL e.g. an abstraction layer that the Kernel uses to get informations about the Hardware. Most Microkernel systems do this in a modern way like MorphOS for example

Hardware <----> HAL <----> Kernel <----> Application

The correct way this has to be done. Keeping the HAL as something on it's own then it's easier to port the Kernel to e.g. other Hardware architecture with different Hardware stuff inside it. What the freedesktop stuff tries to achieve is.

Hardware <----> Kernel <----> HAL <----> Application

That is, the Kernel boots, checks all your Hardware on your System, boot's into GNOME and there are these tools that secretly accesses Kernel related resources. I have only quickly read the Link above so don't blame me here but reading 'There are tools accessing to get Hardware informations (not exactly quotes)' gave me the idea of this to be the case.

Anyways regardless of what I think this is plain wrong, specially on Linux. The idea is good, the implementation not. I simply don't see any benefits to put a HAL layer ontop of an exiting Kernel which had booted and initialized the Hardware already. I think everyone with a little Knowledge in OS writing will agree here. This solution is looks like a hack to make something work that usually should be done completely differently. At least on a different layer.

Btw: I am using QNX right now and write this text with Voyager. QNX rocks.