概述
傳統(tǒng)的Linux系統(tǒng)把對(duì)硬件的支持完全實(shí)現(xiàn)在內(nèi)核空間母截,即把對(duì)硬件的支持完全實(shí)現(xiàn)在硬件驅(qū)動(dòng)模塊中蜒灰。
Android系統(tǒng)的硬件抽象層(Hardware Abstract Layer)運(yùn)行在用戶空間中衷旅,它向下屏蔽硬件驅(qū)動(dòng)模塊的實(shí)現(xiàn)細(xì)節(jié)霉晕,向上提供硬件訪問(wèn)服務(wù)较店。通過(guò)HAL笼痛,Android系統(tǒng)把對(duì)硬件的支持分成了兩層裙秋,一層放在用戶空間,一層放在內(nèi)核空間晃痴,其中残吩,硬件抽象層運(yùn)行在用戶空間,而Linux內(nèi)核驅(qū)動(dòng)程序運(yùn)行在內(nèi)核空間倘核。
下面這個(gè)圖闡述了硬件抽象層在Android系統(tǒng)中的位置泣侮,以及它和其它層的關(guān)系: