file-type

DOS程序员参考手册:设备状态与控制

PDF文件

下载需积分: 9 | 3.79MB | 更新于2024-08-07 | 142 浏览量 | 15 下载量 举报 收藏
download 立即下载
"DOS程序员参考手册,作者Terry Dettmann,由熊桂喜等人翻译,清华大学出版社出版。本书详细介绍了DOS操作系统的各种功能和编程接口,旨在帮助程序员理解和利用DOS进行软件开发。" 在DOS系统中,设备的管理是通过一系列特定的命令和功能调用来实现的。以下是DOS设备管理的关键知识点: 1. **输出状态**: - 命令代码0Ah用于查询设备的状态。DOS在向设备发送数据前会用此功能检查设备是否忙,以便正确调度输出。驱动程序会处理这个调用,并在请求头的03-04h位置返回设备状态字。如果低8位为0,表示设备准备就绪;否则,状态将用标准代码(表12.3)编码,指示设备的繁忙状态。 2. **清空输出缓冲区**: - 命令代码0Bh用于清空字符设备的输出缓冲区。这个功能只适用于字符设备,块设备会返回"DONE"响应。这个操作可以确保设备在新的输出开始前不包含未处理的数据。 3. **I/O控制写**: - 命令代码0Ch提供直接访问设备的I/O控制写功能。只有当设备头的属性字设置有IOCTL位时,才能使用此功能。这类似于I/O控制读,但信息是写入到驱动程序而不是从驱动程序读取。驱动程序和应用程序需要对传输的内容和格式达成一致。 4. **打开**: - 命令代码0Dh用于打开设备,特别是当OPEN/CLOSE/RM位被设置在设备属性字中时。对于块设备,这个调用用于跟踪设备上的打开文件数。然而,FCB(文件控制块)功能调用不计入这个计数,因为FCB打开的文件不能被自动关闭。字符设备的打开功能可能用于发送特殊启动字符串,如打印机初始化字符串,或者处理多进程访问。 5. **设备关闭**: - 命令代码0Eh帮助跟踪设备的打开状态。关闭功能会减少内部计数器,当计数达到0时清理缓冲区。不过,FCB打开的问题仍然存在,因为它不会影响这个计数。关闭设备时,可以向字符设备发送结束字符串,如换行符。 这些功能对于DOS环境下的设备驱动编程至关重要,理解并熟练使用它们可以帮助开发者更有效地编写和控制与硬件交互的程序。在DOS系统中,这些底层操作提供了对硬件的直接访问,使得开发者能够充分利用有限的系统资源。

相关推荐

集成电路科普者
  • 粉丝: 44
上传资源 快速赚钱