作者I0O1 (I0O1)
看板CSSE
標題Re: [問題] 請問一下作業系統以及驅動程式的問題
時間Thu Mar 9 19:42:12 2006
微軟的作業系統有提供所謂的 API 和 SPI
API 是給使用者端的 application developer "呼叫" 的, 例如加解密用的 crypto api
SPI 是給廠商 "遵循" 的, 例如設計智慧卡(smart card)的廠商, 必須撰寫符合
crypo spi 的 dll, device driver 等
並且 "註冊" 到系統中 (例如放到特定 registry 內)
另外, 微軟作業系統很多部分是使用 layer 概念
所謂的 layer, 可以看作一層層的 interface,
下層(靠近硬體)實作時要遵循 interface
上層(靠近使用者)實作時可以呼叫 interface (當然, 也要實做自己層的 interface)
例如 file system 或 網路相關的 NDIS
以 file system 來說,
做 "加解密檔案系統" 的廠商, 可以在比較高階的 file system 上攔截 read, write
做硬碟的廠商, 必須寫低階的, 符合自己硬體的 driver
不同 layer 的 "interface" 不一定相同
註冊方式也不一樣
更詳細的資料, 可以去讀微軟提供的 DDK (Driver Development Kit)
至於, 廠商有什麼要注意的..
當然就是.. 不要弄當系統, 效能要好之類的
以前我們寫的時候, 兩台電腦用 softice debug, 配上一條 RS232 傳輸線....
好多年沒寫這東西了, 還請各位大大指正
※ 引述《jackghost (~~風城XD人~~)》之銘言:
: 記得老師上課的時候有說過
: win有配置一部分空間來供應各家廠商開發驅動程式
: 可是我還是聽得很模糊
: 那麼到底是怎麼去規劃這所謂的空間呢
: 還有和驅動程式的關係?
: 如果我今天是某個廠商驅動程式的開發者
: 我有什麼需要注意的嗎?
: 感謝感謝..
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.209.4
※ 編輯: I0O1 來自: 140.113.209.4 (03/09 19:46)
推 williamyu:受教 03/09 22:20
推 come:我覺得他的問題比較像是在問win怎麼定址ㄟ 03/10 02:16
→ come:記得沒錯的話win好像是每個process都有4G 03/10 02:16
→ come:前2G是os保護區 所有process共用 後2G是每個process的 03/10 02:17
推 UNARYvvv:樓上所謂的 "前2G" 是 lower 2G 還是 upper 2G? 03/10 20:24
→ UNARYvvv:屬於各 process 獨立的是 0~0x7FFFFFFF (lower 2GB) 03/10 20:25
→ UNARYvvv:另外系統啟動參數如果有加 /3GB 則可讓 user addr space 03/10 20:26
→ UNARYvvv:提高到 3GB,相對的 system address space 也只剩 1G 03/10 20:27
→ I0O1:yea.. 是 memory space :) 03/13 11:08