The Design and Implementation of a Unified Hardware Abstraction Layer for Linux Operating System

碩士 === 國立成功大學 === 電腦與通信工程研究所 === 103 === With the advance in technology of computer hardware and software, computer applications nowadays require diversity in hardware devices. Nevertheless, each hardware device needs its device driver in the software side. Taking Linux operating system as an exampl...

Full description

Bibliographic Details
Main Authors: Pei-LiWang, 王裴立
Other Authors: Jing Chen
Format: Others
Language:zh-TW
Published: 2015
Online Access:http://ndltd.ncl.edu.tw/handle/90222324756079675271
id ndltd-TW-103NCKU5652014
record_format oai_dc
spelling ndltd-TW-103NCKU56520142016-08-22T04:18:00Z http://ndltd.ncl.edu.tw/handle/90222324756079675271 The Design and Implementation of a Unified Hardware Abstraction Layer for Linux Operating System Linux作業系統統一化硬體抽象層之設計與實作 Pei-LiWang 王裴立 碩士 國立成功大學 電腦與通信工程研究所 103 With the advance in technology of computer hardware and software, computer applications nowadays require diversity in hardware devices. Nevertheless, each hardware device needs its device driver in the software side. Taking Linux operating system as an example, each type of device must have a matching device driver in its kernel space. The application in user space communicates with the device driver through system calls. This is in fact a realization of an abstract concept that, for an application using a hardware device, it needs to communicate with the hardware device through the device driver. The commonly used approaches of the communication is invoking library functions, in user space, which are provided by hardware device maker, and this is convenient for application development. Inspired by the above, this study aims to design and implement a unified hardware abstraction layer (for short, UHAL) on Linux operating system via providing libraries for application developers, and to realize the abstraction of hardware devices. Application programs can invoke suitable application program interfaces in the libraries, without understanding the details of hardware device. The UHAL is constructed in the user space of Linux operating system. No modification of the Linux operating system is required and the design can be applied to various devices. The works in this study includes: (1) Develop a unified structure for developers to make use of the logical devices so that application programs can operate physical hardware devices easily. (2) Provide a management mechanism on the usage of logical devices to avoid interference among applications when the hardware device is used. (3) Support application operating interfaces that can be adapted to various scenarios. The implementation of UHAL takes advantage of Android HAL to be basic architecture to construct the desired hardware abstraction layer in Linux operating system. The result of this includes: (1) Application program interfaces and logical device server which support application development in various scenarios. (2) Logical device management system which manages the usage of logical devices. (3) Non-traditioned logical devices including sensors, GPS, and vibrators. (4) Providing user management interface for users to operate this system. The main contribution of this work is the construction of a unified hardware abstraction layer for Linux operating system with a management mechanism. The unified hardware abstraction layer can be applied to various devices, including existing devices equipped on Linux operation system. When applications operate various devises on Linux operation system, the hardware devices can be accessed via the structure proposed in this study. Jing Chen 陳敬 2015 學位論文 ; thesis 84 zh-TW
collection NDLTD
language zh-TW
format Others
sources NDLTD
description 碩士 === 國立成功大學 === 電腦與通信工程研究所 === 103 === With the advance in technology of computer hardware and software, computer applications nowadays require diversity in hardware devices. Nevertheless, each hardware device needs its device driver in the software side. Taking Linux operating system as an example, each type of device must have a matching device driver in its kernel space. The application in user space communicates with the device driver through system calls. This is in fact a realization of an abstract concept that, for an application using a hardware device, it needs to communicate with the hardware device through the device driver. The commonly used approaches of the communication is invoking library functions, in user space, which are provided by hardware device maker, and this is convenient for application development. Inspired by the above, this study aims to design and implement a unified hardware abstraction layer (for short, UHAL) on Linux operating system via providing libraries for application developers, and to realize the abstraction of hardware devices. Application programs can invoke suitable application program interfaces in the libraries, without understanding the details of hardware device. The UHAL is constructed in the user space of Linux operating system. No modification of the Linux operating system is required and the design can be applied to various devices. The works in this study includes: (1) Develop a unified structure for developers to make use of the logical devices so that application programs can operate physical hardware devices easily. (2) Provide a management mechanism on the usage of logical devices to avoid interference among applications when the hardware device is used. (3) Support application operating interfaces that can be adapted to various scenarios. The implementation of UHAL takes advantage of Android HAL to be basic architecture to construct the desired hardware abstraction layer in Linux operating system. The result of this includes: (1) Application program interfaces and logical device server which support application development in various scenarios. (2) Logical device management system which manages the usage of logical devices. (3) Non-traditioned logical devices including sensors, GPS, and vibrators. (4) Providing user management interface for users to operate this system. The main contribution of this work is the construction of a unified hardware abstraction layer for Linux operating system with a management mechanism. The unified hardware abstraction layer can be applied to various devices, including existing devices equipped on Linux operation system. When applications operate various devises on Linux operation system, the hardware devices can be accessed via the structure proposed in this study.
author2 Jing Chen
author_facet Jing Chen
Pei-LiWang
王裴立
author Pei-LiWang
王裴立
spellingShingle Pei-LiWang
王裴立
The Design and Implementation of a Unified Hardware Abstraction Layer for Linux Operating System
author_sort Pei-LiWang
title The Design and Implementation of a Unified Hardware Abstraction Layer for Linux Operating System
title_short The Design and Implementation of a Unified Hardware Abstraction Layer for Linux Operating System
title_full The Design and Implementation of a Unified Hardware Abstraction Layer for Linux Operating System
title_fullStr The Design and Implementation of a Unified Hardware Abstraction Layer for Linux Operating System
title_full_unstemmed The Design and Implementation of a Unified Hardware Abstraction Layer for Linux Operating System
title_sort design and implementation of a unified hardware abstraction layer for linux operating system
publishDate 2015
url http://ndltd.ncl.edu.tw/handle/90222324756079675271
work_keys_str_mv AT peiliwang thedesignandimplementationofaunifiedhardwareabstractionlayerforlinuxoperatingsystem
AT wángpéilì thedesignandimplementationofaunifiedhardwareabstractionlayerforlinuxoperatingsystem
AT peiliwang linuxzuòyèxìtǒngtǒngyīhuàyìngtǐchōuxiàngcéngzhīshèjìyǔshízuò
AT wángpéilì linuxzuòyèxìtǒngtǒngyīhuàyìngtǐchōuxiàngcéngzhīshèjìyǔshízuò
AT peiliwang designandimplementationofaunifiedhardwareabstractionlayerforlinuxoperatingsystem
AT wángpéilì designandimplementationofaunifiedhardwareabstractionlayerforlinuxoperatingsystem
_version_ 1718380083554549760