PTT推薦

[請益] 有關硬體抽象層(HAL)的工作

看板Tech_Job標題[請益] 有關硬體抽象層(HAL)的工作作者
wa007123456
(大笨羊)
時間推噓 6 推:6 噓:0 →:26

硬體抽象層(Hardware Abstraction Layer)

是介於作業系統和硬體間的一道介面,也就是兩者之間溝通的中間人

上網Google後好像得到的答案也只是概論而已

但這東西"應該"超級重要才對,因為他是系統可移植性的最後一道門。

我猜測他的運作與設計是分為兩側:

硬體:

不管硬體的指令跟架構如何,在傳輸訊號給作業系統之前
應該要有一個約定成俗的溝通模式,把硬體傳輸/接收的訊號傳送前進行轉換。

作業系統:

不管上層的軟體怎麼寫,同樣的在傳送訊號給硬體前也要進行協調好的模式進行溝通。 並且以適當的方式傳給硬體。




我會這麼想是因為 "兩側應該要互相合作,不然要達成系統相容的部分會是場惡夢"


我不確定這樣對不對,

而我也想問台灣有從事這方面的公司嗎?

只是問問而已...謝謝..


補充:

Hi 又查了一些東西,他的確存在一些工業規範。 ISA, EISA, PCI, PCIe,

都是。 作業系統應該就是寫在核心(Kernel)中的驅動程式(Drivers) 來協調。
--

※ PTT留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.160.75.248 (臺灣)
PTT 網址
※ 編輯: wa007123456 (118.160.75.248 臺灣), 11/06/2025 18:28:35

owen5566 11/06 18:31你的說法很像沒摸過os的學生估狗的答案

owen5566 11/06 18:31,我建議你是先去看os

orz811017 11/06 18:33這工作在台灣一堆 SOC或是OEM ODM都會

orz811017 11/06 18:33

owen5566 11/06 18:34這系統豬屎軟韌都有機會碰到,你不用管

owen5566 11/06 18:34bus什麼架構,driver不用關心,除非你

owen5566 11/06 18:34弄豬屎

haoboo 11/06 18:35這東西不會專門有職位在做吧,都是每個功能

haoboo 11/06 18:35底層的owner自己要摸熟

owen5566 11/06 18:36那你看的概念會跟系統廠他們用起來差異

owen5566 11/06 18:36很大,不過會有類似的東西

應該是類似,這東西被歸類在作業系統中。 例如下圖的舊版WindowsNT架構:

https://reurl.cc/DbvKoN

※ 編輯: wa007123456 (118.160.75.248 臺灣), 11/06/2025 18:40:26

owen5566 11/06 18:44…我意思是soc在bus處理上不會單純axi

owen5566 11/06 18:44apb之類,不是這東西被歸類在哪

我覺得你們說的會不會是硬體那一側轉換的標準? 也就是寫好的韌體去控制他.. 其實我想問這個問題是因為 "為什麼換了相同腳位但不同牌子的CPU作業系統還是可以運作?" 的觀點出發... 另外也感謝你 我會再去看一次作業系統的部分...

※ 編輯: wa007123456 (118.160.75.248 臺灣), 11/06/2025 18:57:58

owen5566 11/06 18:56不是,你在講啥?寫好的韌體是指什麼?

類似BIOS的程式

※ 編輯: wa007123456 (118.160.75.248 臺灣), 11/06/2025 18:58:45

owen5566 11/06 19:01HAL跟你原本的問題根本沒什麼關係好嗎

owen5566 11/06 19:01跟bios也無關

我會去看看 booting 的細節...

※ 編輯: wa007123456 (118.160.75.248 臺灣), 11/06/2025 19:03:25

owen5566 11/06 19:06你的問題還比較像是要知道isa或interru

owen5566 11/06 19:06pt 那些

是 中斷 跟 指令集 是OS運作的重點 可是每個CPU的指令不可能都完全一樣 我只是好奇作業系統是怎麼辨別的..

※ 編輯: wa007123456 (118.160.75.248 臺灣), 11/06/2025 19:11:14

owen5566 11/06 19:15Kernel, hal對不同isa有實作

yugi2567 11/06 22:39大學生?

demintree 11/07 01:01可以參考linux,裡面有不同的arch和dr

demintree 11/07 01:02iver目錄

chuegou 11/07 09:17但凡搞過linux kernel 都不會這樣問

gino0717 11/07 09:30我覺得HAL是個很好當作聊天的話題

gino0717 11/07 09:30從怎麼設計到誰該負責啥可以聊很久

jason222333 11/07 09:50Win 跟 Linux 定義都不同

jason222333 11/07 11:36你講的比較像windows 的定義

shanaandlai 11/07 12:57然後聊到最後發現沒人要寫

Narcissussss 11/07 16:31去修os跟ca 你就會找到答案了

wa007123456 11/08 08:14好的 謝謝大家

gsrr 11/08 12:18os 靠driver跟硬體溝通。

dildoe 11/09 07:17負責硬體跟軟體的問題 抽象問題你來XD