HAL
Från Unix.se, den fria unixresursen.
Hårdvara
HAL står för Hardware Abstraction Layer och ingår som en del i Project Utopia vars syfte är att få hårdvara att bara funka på fria operativsystem. HAL:s roll är att underhålla en lista över enhetsobjekt i systemet. Poängen med detta är att enhetsobjekten är abstraherade från hårdvaran på plattforms- och enhetsoberoende sätt. HAL lagrar också nyckel/värde-par för diverse enhetsinformation. Kommunikation med klientapplikationer sker via DBus, en annan teknologi i Project Utopia.
Här följer ett exempel i Python som listar lagringsenheter:
import dbus bus = dbus.Bus(dbus.Bus.TYPE_SYSTEM) hal_service = bus.get_service('org.freedesktop.Hal') hal_manager = hal_service.get_object('/org/freedesktop/Hal/Manager', 'org.freedesktop.Hal.Manager') storage_devs = hal_manager.FindDeviceByCapability("storage") for dev_name in storage_devs: dev = hal_service.get_object(dev_name, 'org.freedesktop.Hal.Device') try: print dev.GetPropertyString('info.product') except: pass
Film
HAL är också skeppsdatorn ombord på skeppet Discovery i filmen 2001 - A Space Odyssey (http://www.imdb.com/title/tt0062622/) av Arthur C Clarke och Stanley Kubrick. Namnet HAL sägs komma från att man förskjutit bokstäverna i IBM (som vid filmens skapande var ett av de "stora" företagen) ett steg bakåt.
Externa länkar
- HAL på freedesktop.org (http://freedesktop.org/Software/hal)
- HAL (skeppsdatorn) (http://www.robothalloffame.org/hal.html)