看板 Tech_Job 關於我們 聯絡資訊
硬體抽象層(Hardware Abstraction Layer) 是介於作業系統和硬體間的一道介面,也就是兩者之間溝通的中間人 上網Google後好像得到的答案也只是概論而已 但這東西"應該"超級重要才對,因為他是系統可移植性的最後一道門。 我猜測他的運作與設計是分為兩側: 硬體: 不管硬體的指令跟架構如何,在傳輸訊號給作業系統之前 應該要有一個約定成俗的溝通模式,把硬體傳輸/接收的訊號傳送前進行轉換。 作業系統: 不管上層的軟體怎麼寫,同樣的在傳送訊號給硬體前也要進行協調好的模式進行溝通。 並且以適當的方式傳給硬體。 我會這麼想是因為 "兩側應該要互相合作,不然要達成系統相容的部分會是場惡夢" 我不確定這樣對不對, 而我也想問台灣有從事這方面的公司嗎? 只是問問而已...謝謝.. 補充: Hi 又查了一些東西,他的確存在一些工業規範。 ISA, EISA, PCI, PCIe, 都是。 作業系統應該就是寫在核心(Kernel)中的驅動程式(Drivers) 來協調。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.160.75.248 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Tech_Job/M.1762423337.A.6C9.html ※ 編輯: wa007123456 (118.160.75.248 臺灣), 11/06/2025 18:28:35
owen5566: 你的說法很像沒摸過os的學生估狗的答案 42.72.169.82 11/06 18:31
owen5566: ,我建議你是先去看os 42.72.169.82 11/06 18:31
orz811017: 這工作在台灣一堆 SOC或是OEM ODM都會 223.140.77.156 11/06 18:33
orz811017: 用 223.140.77.156 11/06 18:33
owen5566: 這系統豬屎軟韌都有機會碰到,你不用管 42.72.169.82 11/06 18:34
owen5566: bus什麼架構,driver不用關心,除非你 42.72.169.82 11/06 18:34
owen5566: 弄豬屎 42.72.169.82 11/06 18:34
haoboo: 這東西不會專門有職位在做吧,都是每個功能223.143.195.101 11/06 18:35
haoboo: 底層的owner自己要摸熟223.143.195.101 11/06 18:35
owen5566: 那你看的概念會跟系統廠他們用起來差異 42.72.169.82 11/06 18:36
owen5566: 很大,不過會有類似的東西 42.72.169.82 11/06 18:36
應該是類似,這東西被歸類在作業系統中。 例如下圖的舊版WindowsNT架構: https://reurl.cc/DbvKoN ※ 編輯: wa007123456 (118.160.75.248 臺灣), 11/06/2025 18:40:26
owen5566: …我意思是soc在bus處理上不會單純axi 42.72.169.82 11/06 18:44
owen5566: apb之類,不是這東西被歸類在哪 42.72.169.82 11/06 18:44
我覺得你們說的會不會是硬體那一側轉換的標準? 也就是寫好的韌體去控制他.. 其實我想問這個問題是因為 "為什麼換了相同腳位但不同牌子的CPU作業系統還是可以運作?" 的觀點出發... 另外也感謝你 我會再去看一次作業系統的部分... ※ 編輯: wa007123456 (118.160.75.248 臺灣), 11/06/2025 18:57:58
owen5566: 不是,你在講啥?寫好的韌體是指什麼? 42.72.169.82 11/06 18:56
類似BIOS的程式 ※ 編輯: wa007123456 (118.160.75.248 臺灣), 11/06/2025 18:58:45
owen5566: HAL跟你原本的問題根本沒什麼關係好嗎 42.72.169.82 11/06 19:01
owen5566: 跟bios也無關 42.72.169.82 11/06 19:01
我會去看看 booting 的細節... ※ 編輯: wa007123456 (118.160.75.248 臺灣), 11/06/2025 19:03:25
owen5566: 你的問題還比較像是要知道isa或interru 42.72.169.82 11/06 19:06
owen5566: pt 那些 42.72.169.82 11/06 19:06
是 中斷 跟 指令集 是OS運作的重點 可是每個CPU的指令不可能都完全一樣 我只是好奇作業系統是怎麼辨別的.. ※ 編輯: wa007123456 (118.160.75.248 臺灣), 11/06/2025 19:11:14
owen5566: Kernel, hal對不同isa有實作 42.72.169.82 11/06 19:15
yugi2567: 大學生? 171.97.102.41 11/06 22:39
demintree: 可以參考linux,裡面有不同的arch和dr 174.195.83.238 11/07 01:01
demintree: iver目錄 174.195.83.238 11/07 01:02
chuegou: 但凡搞過linux kernel 都不會這樣問223.140.200.208 11/07 09:17
gino0717: 我覺得HAL是個很好當作聊天的話題 114.36.11.23 11/07 09:30
gino0717: 從怎麼設計到誰該負責啥可以聊很久 114.36.11.23 11/07 09:30
jason222333: Win 跟 Linux 定義都不同223.140.179.182 11/07 09:50
jason222333: 你講的比較像windows 的定義 42.72.209.134 11/07 11:36
shanaandlai: 然後聊到最後發現沒人要寫 39.9.104.124 11/07 12:57
Narcissussss: 去修os跟ca 你就會找到答案了 101.10.49.160 11/07 16:31
wa007123456: 好的 謝謝大家 118.160.75.248 11/08 08:14
gsrr: os 靠driver跟硬體溝通。 49.216.195.153 11/08 12:18
dildoe: 負責硬體跟軟體的問題 抽象問題你來XD118.168.185.116 11/09 07:17
exeex: 啊不就聯發科 android firmware 36.228.122.234 11/14 16:31