作者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)
1F:推 williamyu:受教 03/09 22:20
2F:推 come:我觉得他的问题比较像是在问win怎麽定址ㄟ 03/10 02:16
3F:→ come:记得没错的话win好像是每个process都有4G 03/10 02:16
4F:→ come:前2G是os保护区 所有process共用 後2G是每个process的 03/10 02:17
5F:推 UNARYvvv:楼上所谓的 "前2G" 是 lower 2G 还是 upper 2G? 03/10 20:24
6F:→ UNARYvvv:属於各 process 独立的是 0~0x7FFFFFFF (lower 2GB) 03/10 20:25
7F:→ UNARYvvv:另外系统启动参数如果有加 /3GB 则可让 user addr space 03/10 20:26
8F:→ UNARYvvv:提高到 3GB,相对的 system address space 也只剩 1G 03/10 20:27
9F:→ I0O1:yea.. 是 memory space :) 03/13 11:08