Linux作業系統統一化硬體抽象層之設計與實作

Translated title of the thesis: The Design and Implementation of a Unified Hardware Abstraction Layer for Linux Operating System
  • 王 裴立

Student thesis: Master's Thesis

Abstract

隨著科技的發展,應用程式對於硬體裝置之種類的需求亦趨向多樣化。以Linux作業系統為例,各種硬體裝置在核心空間(kernel space)必須有對應之驅動程式,應用程式在使用者空間(user space)透過系統呼叫(system call)與核心空間之驅動程式溝通。這樣的架構,即是一種抽象化的實現。應用程式欲使用一硬體裝置,必須經由其驅動程式與硬體裝置溝通;常見的方式乃硬體裝置供應商提供使用者空間之函式庫,方便應用程式發開。本論文根據前述之概念設計與實作Linux作業系統之統一化硬體抽象層(UHAL),提供應用程式開發者函式庫,以實現硬體裝置抽象化。使用者依照標準流程使用此標準函式庫,無需瞭解實體裝置之規格或使用方式。 本論文之設計建構於Linux作業系統的使用者空間,不需要修改Linux作業系統架構,並且可擴充適用於各種裝置設備;主要的內容包含:(1)制定邏輯裝置使用之統一標準;應用程式開發者透過此標準使用該硬體裝置。(2)建立管理機制;在邏輯裝置的使用上,建立有效的管理機制,避免應用程式同時使用裝置之互相干擾。(3)提供應用程式操作介面,以便於適應各種使用環境。 本論文之實作以Android HAL為基礎框架,於Linux系統建構硬體抽象層。實作內容包含:(1)應用程式操作介面與介面通訊伺服器,提供應用程式開發者在各種環境使用。(2)邏輯裝置管理系統,管理邏輯裝置使用情況。(3)包含感測器、GPS、震動器等類型之邏輯裝置。(4)提供使用者管理介面,使用者可透過此介面操作本系統。 本論文之主要貢獻為:將統一化硬體抽象層加入Linux系統中,並建立其管理機制。此統一化硬體抽象層,可擴充應用於其它硬體裝置,並且可包含Linux作業系統現有常見之裝置與週邊設備。應用程式透過本論文之架構存取硬體裝置,可簡化存取硬體裝置之流程,降低使用硬體裝置之負擔。
Date of Award2015 Feb 13
Original languageChinese
SupervisorJing Chen (Supervisor)

Cite this

'