作者iincho (世界的盡頭)
看板Soft_Job
標題Re: [心得] 微軟的driver架構 = BullShit
時間Thu Aug 27 00:43:15 2009
※ 引述《meltice (三億兩千萬大散戶)》之銘言:
: 微軟有清楚明白的裝置管理員列出系統上所有裝置及運作狀況
: 有統一的安裝移除driver的方式(DIFxAPI)
: 有資源豐富的MSDN help及各種driver的sample code
: 甚至每個API所能夠被執行的IRQL都列的清清楚楚
: 從kernel層開始就都是native unicode
: 最重要的是所有PC上的hardware幾乎都有windows的driver
資源豐富? 沒搞錯吧? DDK文件清楚的也只有某一些...
新手常常在那邊搞不清楚有哪些東西可以用,
而且沒source code碰到奇怪的狀況可能就要想半天。
但是,我只能說微軟的debug tool實在做得不錯,kernel debugger
掛上去大概很快都能把問題縮小到一個範圍,然後就是try try try...XD
: Linux上我連系統上有哪些裝置缺哪些driver都搞不清楚
: 每種裝置都有各自的規格 LAN, Wireless, Printer, Audio, TVCard, SmartCard ..
: 不同專家都會弄出各種千奇百怪自己為帥氣的安裝設定方式
: 各種混亂不統一的上層API
: 散落各處的各種格式且不知道有沒有被使用到的設定檔
: 搞了老半天還不一定能work
: 不小心還會把整個Linux搞掛點
: 至於Linux的help在哪?
: 專家會說:kernel source就是最好的help
這個是Open source的原罪,但是你說搞半天還不一定能work這點我不同意,
有source code可以看追起來相對較快,唯一的問題是那個爛到爆炸的
kernel debugger,應該是連Windbg的車尾燈都看不到,所以就我所知
大部分的人都還是習慣用printk刷牆。
這個只是你對Linux driver掌握度沒有Windows driver好而已,
對新手來說Windows driver的進入門檻比Linux driver還高很多.
除了有source code可以看以外,沒Windows包那麼多層也是原因。
剛剛想到一個問題可能造成Linux driver不好維護這件事,
基本上Linux kernel不大鳥向下相容那套,所以常常查到的
資料A可以用B不能用,最後還是要看source code....XD
--
Beware of bugs in the above code;
I have only proved it correct, not tried it.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.224.235.182
※ 編輯: iincho 來自: 61.224.235.182 (08/27 00:47)
推 alongalone:同感,也許我對windows不熟..T_T 08/27 00:49
推 meltice:沒用過windbg 幾年前有用過softice 可惜倒了 08/27 00:51
→ meltice:softice真的超強 debug driver就跟一般程式一樣 08/27 00:52
→ meltice:看是要設中斷點 監控變數 監控記憶體變化 ... 08/27 00:52
→ iincho:沒用過WinDBG? 現在這東西和softice根本不是同一檔次..XD 08/27 01:32
※ 編輯: iincho 來自: 61.224.235.182 (08/27 01:36)