[請益] 有關硬體抽象層(HAL)的工作
硬體抽象層(Hardware Abstraction Layer)
是介於作業系統和硬體間的一道介面,也就是兩者之間溝通的中間人
上網Google後好像得到的答案也只是概論而已
但這東西"應該"超級重要才對,因為他是系統可移植性的最後一道門。
我猜測他的運作與設計是分為兩側:
硬體:
不管硬體的指令跟架構如何,在傳輸訊號給作業系統之前
應該要有一個約定成俗的溝通模式,把硬體傳輸/接收的訊號傳送前進行轉換。
作業系統:
不管上層的軟體怎麼寫,同樣的在傳送訊號給硬體前也要進行協調好的模式進行溝通。 並且以適當的方式傳給硬體。
我會這麼想是因為 "兩側應該要互相合作,不然要達成系統相容的部分會是場惡夢"
我不確定這樣對不對,
而我也想問台灣有從事這方面的公司嗎?
只是問問而已...謝謝..
補充:
Hi 又查了一些東西,他的確存在一些工業規範。 ISA, EISA, PCI, PCIe,
都是。 作業系統應該就是寫在核心(Kernel)中的驅動程式(Drivers) 來協調。
--
你的說法很像沒摸過os的學生估狗的答案
,我建議你是先去看os
這工作在台灣一堆 SOC或是OEM ODM都會
用
這系統豬屎軟韌都有機會碰到,你不用管
bus什麼架構,driver不用關心,除非你
弄豬屎
這東西不會專門有職位在做吧,都是每個功能
底層的owner自己要摸熟
那你看的概念會跟系統廠他們用起來差異
很大,不過會有類似的東西
應該是類似,這東西被歸類在作業系統中。 例如下圖的舊版WindowsNT架構:
https://reurl.cc/DbvKoN※ 編輯: wa007123456 (118.160.75.248 臺灣), 11/06/2025 18:40:26
…我意思是soc在bus處理上不會單純axi
apb之類,不是這東西被歸類在哪
我覺得你們說的會不會是硬體那一側轉換的標準? 也就是寫好的韌體去控制他.. 其實我想問這個問題是因為 "為什麼換了相同腳位但不同牌子的CPU作業系統還是可以運作?" 的觀點出發... 另外也感謝你 我會再去看一次作業系統的部分...
※ 編輯: wa007123456 (118.160.75.248 臺灣), 11/06/2025 18:57:58不是,你在講啥?寫好的韌體是指什麼?
類似BIOS的程式
※ 編輯: wa007123456 (118.160.75.248 臺灣), 11/06/2025 18:58:45HAL跟你原本的問題根本沒什麼關係好嗎
跟bios也無關
我會去看看 booting 的細節...
※ 編輯: wa007123456 (118.160.75.248 臺灣), 11/06/2025 19:03:25你的問題還比較像是要知道isa或interru
pt 那些
是 中斷 跟 指令集 是OS運作的重點 可是每個CPU的指令不可能都完全一樣 我只是好奇作業系統是怎麼辨別的..
※ 編輯: wa007123456 (118.160.75.248 臺灣), 11/06/2025 19:11:14Kernel, hal對不同isa有實作
大學生?
可以參考linux,裡面有不同的arch和dr
iver目錄
但凡搞過linux kernel 都不會這樣問
我覺得HAL是個很好當作聊天的話題
從怎麼設計到誰該負責啥可以聊很久
Win 跟 Linux 定義都不同
你講的比較像windows 的定義
然後聊到最後發現沒人要寫
去修os跟ca 你就會找到答案了
好的 謝謝大家
os 靠driver跟硬體溝通。
負責硬體跟軟體的問題 抽象問題你來XD
85
Re: [閒聊] 欸不是,買個顯卡還要買驅動= =另外開一篇 在Docker/Container概念開始流行之前,多重環境同時執行的概念 從"模擬",也就是用軟體進行binary translation,這種只靠CPU進行軟體運算的 環境 到"虛擬",在原生硬體上建立多個"楚門的世界",並且都享有原生硬體效能72
[討論] 是不是只剩硬體工程師不怕被AI取代了軟體工程師:AI幫寫程式碼,只是還要debug QA工程師:自動化測試 硬體工程師:AI有辦法取代硬體訊號量測/layout/洗板等雜事嗎? 其它? --40
[心得] 看了嵌入式系統開發之道如題 最近在看《嵌入式系統開發之道拉》 雖然還沒看完 但這大概就是理想中的系統廠開發流程八 對硬體建立抽象層、模組之間沒有依賴性、程式碼版本管理、BUG管理26
Re: [請益] 電機系和通訊系那個對將來就業較有優勢重點是修課 通訊理論少修點 訊號處理少修點 各種排隊理論蝦米碗糕數學課少修點 嵌入式系統22
Re: [請益] 同家NAS 為何出ARM架構與X86架構?TL;DR 1. 硬體成本一定有差,苦命工程師只能想辦法支援 2. 軟體開發成本只有前期比較高,後面可以一直沿用 3. 況且很多都是開源的東西,不是單一廠商在做 4. 軟體開發非常講究可移植性,你認為的跨平台問題都不是問題![Re: [請益] 同家NAS 為何出ARM架構與X86架構? Re: [請益] 同家NAS 為何出ARM架構與X86架構?](https://img.youtube.com/vi/aXlcNVKK-7Q/mqdefault.jpg)
20
Re: [情報]取代x86蘋果月底將宣布基於ARM處理器的Mac以軟體面來說應該沒什麼問題。反正Apple從硬體到軟體都是一手包辦。但過渡期這方面 就不好說 單純軟體的話,在Mac OS轉換至OS X時,兩者是架構不一樣的系統。Apple是使用 Classic環境的方式來進行相容。使用的手法是利用軟體和硬體抽象層的模擬方式來相容 。但這個在10.5之後就不再支援。且Intel Mac不支援這套模擬器。至於針對moto 68k20
[請益] 豬屎屋工作,求書單Hi all 目前正在豬屎屋工作,仍處在讀書的階段, 每次在讀前輩們的 Code ,心裡都會想“這種 Code 我大概寫不出來” QQ,或者是硬體相關知識不太明白, 比方說為什麼要設 memory barrier 這些, 甚至是 Linux 的 READ_ONCE 也是我工作之後才知道![[請益] 豬屎屋工作,求書單 [請益] 豬屎屋工作,求書單](https://i.imgur.com/sRT1HBZb.jpg)
5
[討論] 硬體職 or 軟體職真的能二分法嗎想問個小問題 無論是硬體職位還是軟體職位,很多時候實務上會碰到很多不同領域的東西 例如: 1. A雖然頭上掛的是DE designer,很多時候也需要打扣做功能驗證 2. B做的是算法開發,但需要懂編程也需要懂硬體架構1
[問卦] 軟體和硬體到底哪個重要?如題 軟體就好比C++ Python Java這些寫網頁、作業系統、應用程式的 像微軟、Google這種公司 硬體就CPU、記憶體、顯卡、硬碟等等 像黃仁勳就是搞硬體的
Re: [問卦] C語言根本可以淘汰了吧?誰叫C是事實上的標準,根本取代不了 基本上主流的作業系統,都支援C的呼叫約定cdecl 用C寫的library不用做什麼特殊處理,就能輕易被其他語言寫的程式link進去 然後C本身的硬體抽象,也成為硬體的標準 現在CPU為了讓C跑得更有效率,都設計成貼近C本身的抽象