iT邦幫忙

2022 iThome 鐵人賽

DAY 5
0
自我挑戰組

System Software Introduction系列 第 5

System Software - Device Driver

  • 分享至 

  • xImage
  •  

Device Driver是服務kernel的software。負責將控制hardware的功能包裝成API給kernel使用、會直接對hardware提出服務請求。


https://ithelp.ithome.com.tw/upload/images/20230428/20152298ry656oRtw4.jpg

How to Request Hardware Service

Device driver和hardware溝通的interface是hardware內部的control register
Device driver會根據hardware control register spec操作 (read/write)control register來跟hardware溝通。

  • 例如: PMU (performance monitoring unit)的driver想要獲得CPU執行過的instruction數量時,會先向PMU設定好要觀察的event是CPU instruction count,再開啟PMU的counter進行計數。

How to Service Kernel

Device driver會提供API讓kernel呼叫,作為kernel與hardware溝通的介面,讓kernel可以獲得hardware的服務
Device driver會將一連串複雜的hardware操作設計成API,使hardware的細節被包裝起來
Device driver會保持API的一致性,當hardware有變動的時候只需要更改device driver,就可以繼續服務kernel
例如: PMU driver提供給kernel計算event發生次數的API可以在PMU hardware設計改動時保持不變,kerne就不需要更改使用PMU的source code


上一篇
System Software - Firmware
下一篇
System Software - Kernel
系列文
System Software Introduction30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言