接口软件技术课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《接口软件技术课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 接口 软件技术 课件
- 资源描述:
-
1、 本章的内容有:接口概述 DOS和Windows下的接口调用方法 COM编程技术5.1 接口概述5.1.1 接口的功能 一般来说,由于CPU在与I/O设备进行数据交换时通常存在:速度不匹配,时序不匹配,信息格式不匹配 信息类型不匹配 接口软件(驱动软件)的功能 1接口初始化接口初始化 2分析与检查功能调用分析与检查功能调用 3完成相关硬件的功能调用完成相关硬件的功能调用 4异常情况的处理异常情况的处理5.1.2 驱动软件的运行方式 1无条件同步方式无条件同步方式 2异步查询方式异步查询方式 3中断方式中断方式 无条件同步方式无条件同步方式 可在任意时刻对硬件进行驱动,不必考虑硬件的接受能力 这
2、只有在硬件的执行速度很快,在任意时机都能响应驱动软件的驱动控制时才有可能。只在非常简单或速度非常高的系统中才可能存在。异步查询方式 驱动程序应该对外设硬件的状态进行查询,在适当的时机进行硬件功能的驱动或结果的取回。使用异步查询方式时,外设硬件必须能根据硬件的运行情况,将状态送给驱动程序,以供驱动程序查询。由于驱动程序必须在程序中反复判断外设的硬件状态,等待硬件确定工作状态的到来,因此程序的运行效率不高。返回 中断方式 驱动程序分为两个部分 第一部分负责对外设硬件的启动驱动,完成之后,这部分驱动程序就退出运行,CPU转而执行其他的应用程序 第二部分:中断服务程序。透明地窃取应用程序的极少量执行时
3、间。中断运行方式是效率最高的调用方式,但要求硬件必须有产生中断源的能力,并且需要占用系统的一些软、硬件中断控制资源。5.1.3 接口缓冲区 1CPU中的通用寄存器中的通用寄存器 适用于交互数据较少的情况,最快、最方便、最简单可靠的方式。2公用存储区公用存储区 公用存储区是由外设调用者和外设双方都可寻址的一块连续内存块,用于双方的数据交互。3堆栈堆栈 堆栈是一种后进先出的数据结构。使用堆栈时,要特别注意栈中各个数据项的先后次序,以及堆栈指针的设置和恢复操作。5.1.4 接口软件及层次结构操作系统驱动软件硬件层应用软件图5.1接口软件的层次接口DOSBIOS硬件层应用软件应用环境驱动软件硬件层应用
4、软件设备管理用户空间内核空间B)Windows的调用层次A)dos系统的调用层次图5.2 设备调用层次5.2 DOS系统下的接口调用 DOS系统是单用户的操作系统DOS系统提供给用户的编程界面大体有如下几种:裸机层软件开发,利用芯片或板卡(适配器)支持的寄存器或内存数据区编程。需要用户非常清楚设备的硬件细节,编程较复杂,但软件实现速度最快。BIOS级软件开发,利用BIOS基本输入输出系统所提供的一些服务功能编程。系统功能级软件开发,利用DOS系统提供的系统功能编程。5.2.1 BIOS功能级软件接口及实现1BIOS级软件接口概述级软件接口概述 BIOS基本输入输出系统由一批子程序组成,基本输入
5、输出系统由一批子程序组成,负责管理系统内的输入输出设备负责管理系统内的输入输出设备 直接为直接为DOS操作系统和应用程序提供底层操作系统和应用程序提供底层设备驱动服务。设备驱动服务。大多数的驱动程序以软件中断方式调用大多数的驱动程序以软件中断方式调用,少少数由硬件中断调用。数由硬件中断调用。表5.1 常用BIOS服务功能BIOS服务功能号功 能打印屏幕服务05H将当前视频页内容送到默认打印机视频服务10H为显示适配器提供I/O支持软盘服务13H提供软盘的读、写、格式化、初始化、诊断硬盘服务13H提供硬盘的读、写、格式化、初始化、诊断串行通信服务14H为串行适配器提供字符输入/输出系统服务15H
6、系统级子服务键盘服务16H为键盘提供I/O支持并行打印机服务17H为并行打印机提供I/O支持 日期时间服务1AH设置和读取时间、日期、声源等2视频服务 INT l0H AH寄存器选择视频服务功能 待写的字符或像素值一般在AL寄存器中传递。功能调用保存BX、CX、DX及段寄存器的值。其他寄存器的内容(特别是SI、DI)不保存 X坐标(列号)在CX(图形功能)中或DL(正文功能)中传递 显示页在BH中传递,显示页从零开始计数 例如:利用BIOS视频服务的AH=0CH子功能实现写像素点。调用子程序之前,需要用DX保存行号,CX保存列号,AL保存颜色值,这是0CH子功能要求的。WRITINGPIXEL
7、 PROCNEARPUSHAX MOVAH,0CHINT10HPOPAXWRITINGPIXELENDP3键盘服务 键盘ISR(键盘中断服务程序)INT 09H硬件中断、键盘DSR(键盘设备服务程序),INT 16H软件中断 BIOS键盘服务包括3个子功能:0号功能、1号功能、2号功能 子功能号 含 义出 口 参 数AH=0从键盘输入一个字符AL=ASCII码(或0)AH=扫描码(或扩展扫描码)AH=1判断键盘有无字符输ZF=0 有键按下,键代码保存在AX中ZF=1 无键按下AH=2当前键盘特殊键状态AL=KB-FLAG的变量4并行打印机服务 INT 17H 0号功能(给打印机传送个字符)1号
8、功能(初始化打印机)2号功能(读打印机状态)均可通过AH返回打印机状态字节=1,不忙,打印机可用=1,打印机表示响应=1,打印机无纸=1,打印机选中=1,打印机出现超时错误未定义未定义=1,打印机出错D7 D6 D5 D4 D3 D2 D1 D05.2.2 DOS功能级软件接口及调用实例1DOS功能级软件接口调用概述功能级软件接口调用概述 主要包括:磁盘管理、内存管理、基本输入输主要包括:磁盘管理、内存管理、基本输入输出管理等。出管理等。子功能都有一个00H57H的功能编号 INT 21H 00H0CH:字符I/O管理。包括键盘、显示器、打印机、异步通信口的管理 0DH24H:文件管理。包括复
9、位、选择磁盘,打开、关闭、删除文件,顺序读、写文件,建立文件,重命名文件,查找驱动器分配表信息,随机读、写文件,查看文件长度 25H26H非设备系统调用。包括设置中断向量,建立新程序段 27H29H文件管理。包括随机块读写、分析文件名 2AH2EH非设备系统调用。包括读取、设置日期、时间 2FH38H扩充的系统调用。包括读取DOS版本号,终止进程,读取中断矢量,读取磁盘空闲空间 39H3BH目录组。包括建立子目录,修改当前目录,删除目录项 3CH46H:扩充的文件管理。包括建立、打开、关闭文件,从文件或设备读写数据,在指定路径删除、移动文件,修改文件属性,设备I/O控制,复制文件标志47H取当
10、前目录组。48H4BH:扩充的内存管理。包括分配内存、释放已分配的内存、分配内存块、装入或执行程序等 4CH4FH:扩充的系统调用。包括终止进程、查询子程序的返回代码、查找第一个相匹配的文件、查找下一个相匹配的文件 50H53H:扩充的系统调用。供DOS内部使用 54H57H:扩充的系统调用。包括读取校验状态、重新命名文件、设置读取日期及时间2基本I/O功能调用 键盘输入(1号调用)无回显的键盘输入(8号调用)控制台输入输出(6号调用)无回显的控制台输入(7号调用)打印输出(5号调用)输出字符串(9号调用)输入字符串(0AH调用)异步通信输入输出(3、4号调用)日期与时间的设置与获取(2AH、
11、2BH、2CH、2DH调用)3DOS功能调用实例MOVAX,MYDATAMOVDS,AXDISP:MOVDX,OFFSET MESSEGEMOVAH,09HINT21H;利用9号功能显示字符串KEY:MOVDX,OFFSET PARAMETERSMOVAH,10INT21H;利用10号功能接收字符到缓冲区5.3 Windows下的接口调用 5.3.1 Windows的体系结构的体系结构Win32位子系统虚拟设备管理层VXDIntel硬件平台应用软件虚拟DOS机硬件抽象层HAL多种硬件平台应用软件NT系统管理用户态内核态B)Windows NTA)Windows 9X图5.4 Windows的体
12、系结构虚拟DOS机虚拟机管理层VMM设备驱动层内核Win32位子系统其它系统Win32位子系统5.3.2 Windows操作系统的内核进程1Windows 9X的内核进程的内核进程 系统工作在基于Intel 32位CPU的硬件平台上,运行在32全位地址空间的保护模式下。系统核心进程空间工作在CPU的最高特权级0,用户空间工作在 CPU的低特权级3。系统核心进程是由虚拟设备驱动层VXD和虚拟机管理层VMM构成的 VXD VXD目的:为硬件提供多任务的支持,增强操作系统对于硬件设备的适应能力 VXD中的X是指某类设备(鼠标的虚拟设备驱动程序称为VMD,通过VMD就可直接驱动鼠标;键盘的虚拟设备驱动
13、程序称为VKD)VMM 位于虚拟设备驱动层VXD之上 用户通过调用Win32的接口API函数,就可以通过VMM获得系统内核及设备驱动的功能服务 2Windows NT的内核进程执行层执行层I/O管管理器理器(核(核心驱心驱动程动程序)序)对象对象管理管理器器安全安全引用引用监视监视进程进程管理管理器器局部局部过程过程调用调用内存内存管理管理器器CACHE管理管理器器窗口管理窗口管理器和图形器和图形设备接口设备接口图形设备图形设备驱动驱动微核层微核层硬件抽象层硬件抽象层 硬件抽象层 微核层 微核是一些被操作系统内核调用的微型软件模块 微核的作用是为操作系统中所有低层次的通用功能提供支持,例如处理
展开阅读全文