
DOS程序员参考手册:设备状态与控制
下载需积分: 9 | 3.79MB |
更新于2024-08-07
| 142 浏览量 | 举报
收藏
"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
最新资源
- 《C++ Network Programming》精华解读与ACE框架应用
- Alfresco WCM系统:企业版与免费版功能解析
- 汽车牌照识别程序:MATLAB人工神经网络源码分享
- VC++实现的人脸定位源程序源码解析
- 掌握数据库基础与设计:《数据库处理——基础、设计与实现(第八版)》
- 掌握WPF:深度解读《Applications = Code + Markup》
- 深入理解AMBA总线规范及其20版特点
- 简易Blog系统开发:JSP与JavaScript结合Servlet技术
- 通俗易懂的汇编语言入门与深入学习指南
- 河南农业大学老校友制作的学生成绩管理系统详解
- VB6.0实现带图像的Combox控件源代码
- ASP.NET学生管理系统的数据库备份与维护
- Symbian Series 60开发经典:完整代码分享
- VC++实现的人脸定位与识别源代码下载
- Flash制作星座密码动画教程
- VB源码实现汉字输出放大无锯齿模糊技术
- eview_MT4300T_EN:全面解析与应用
- DFMEdit:并行工程技术的高效编辑工具
- PCD8544驱动开发与LPC213x系列微控制器整合指南
- 精通UML与Rational Rose 98i的应用教程
- C#语言实现酒店客房管理系统教程与源码
- 中天迷你FTP服务器:小巧实用、避免误报
- WinPcap V4.01文档:最新学习案例指南
- 完整Java代码分享:打造网上商店