Lapisan abstraksi perangkat keras
Lapisan abstraksi perangkat keras (Inggris: hardware abstraction layer disingkat HAL) adalah sebuah lapisan logis antara perangkat keras fisik dari sebuah komputer dan perangkat lunak yang berjalan di dalam komputer yang bersangkutan. Fungsi dari HAL adalah untuk menyembunyikan perbedaan-perbedaan di dalam perangkat keras dan maka dari itu menyediakan platform yang konsisten untuk menjalankan aplikasi di atasnya.
Perangkat lunak
Perangkat lunak atau peranti lunak (bahasa Inggris: "software") adalah istilah khusus untuk data yang diformat, dan disimpan secara digital, termasuk program komputer, dokumentasinya, dan berbagai informasi yang bisa dibaca, dan ditulis oleh komputer. Dengan kata lain, bagian sistem komputer yang tidak berwujud. Istilah ini menonjolkan perbedaan dengan perangkat keras komputer.