精華區beta CSSE 關於我們 聯絡資訊
微軟的作業系統有提供所謂的 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