hal:Hardware Abstraction Layer