《软件接口技术》PPT课件.ppt
《《软件接口技术》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《软件接口技术》PPT课件.ppt(57页珍藏版)》请在三一办公上搜索。
1、第5章 软件接口技术,本章主要内容:软件接口概述DOS系统中的接口调用方法Windows系统中的接口调用方法Linux系统中的接口调用方法,5.1 软件接口概述,操作系统是用户与计算机硬件系统之间的接口,是人与计算机之间进行交流的桥梁,因此也称操作系统为“人机接口”。操作系统为用户提供了命令接口和程序接口两种操作方式。命令接口由操作命令及作业控制语言组成,它是管理和控制运行的程序,可以通过交互式方式直接或间接控制作业的运行。程序接口是由一组系统调用命令组成的,是操作系统提供给程序设计人员的接口。用户通过在应用程序中使用系统调用命令来请求操作系统提供服务。,系统调用命令(简称系统调用)是用户应用
2、程序与计算机的接口,它是用户在程序设计中直接调用操作系统提供的一组功能子程序,是一种特殊的过程调用,一般借助一条特殊的机器指令(如软中断INT指令)来实现。系统调用过程如下:(1)把系统调用所需的参数或参数区首地址装入指定的通用寄存器,然后设置一条调用指令;(2)将系统调用的功能编号装入指定的通用寄存器中,有的系统直接在调用指令中将功能编号给出,有的系统将功能编号作为系统调用的参数;(3)当用户程序执行到调用指令时,产生访管中断(又称软件中断),系统处理该中断,即为用户程序保留“现场”,然后提取系统调用编号,访问系统调用入口表,找到相应子程序入口地址转去执行;(4)系统调用命令执行返回,恢复“
3、现场”,并把返回参数或参数区首地址放入指定的通用寄存器中,以供用户程序使用。与中断一样,系统调用也可以实现嵌套调用。,系统调用分为:(1)与进程有关的系统调用(2)与存储管理有关的系统调用(3)与文件管理有关的系统调用(4)与设备管理有关的系统调用(5)访问系统核心数据的系统调用(6)控制类的系统调用,5.2 接口软件及层次结构,DOS,BIOS,硬件层,应用软件,应用环境,驱动软件,硬件层,应用软件,设备管理,用户空间,内核空间,B)Windows的调用层次,A)dos系统的调用层次,图5.2 设备调用层次,5.3 DOS系统下的接口调用,DOS系统是单用户的操作系统DOS系统提供给用户的编
4、程界面,大体有如下几种:裸机层软件开发,利用芯片或板卡(适配器)支持的寄存器或内存数据区编程。需要用户非常清楚设备的硬件细节,编程较复杂,但软件实现速度最快。BIOS级软件开发,利用BIOS基本输入输出系统所提供的一些服务功能编程。系统功能级软件开发,利用DOS系统提供的系统功能编程。,5.3.1 BIOS中断调用及实现,1BIOS级软件接口(中断调用)概述 BIOS基本输入输出系统由一批子程序组成,负责管理系统内的输入输出设备直接为DOS操作系统和应用程序提供底层设备驱动服务。大多数的驱动程序以软件中断方式调用,少数由硬件中断调用。,基本步骤为:(1)设置分功能号:按实现的操作功能的要求,给
5、指定寄存器(通常为AH)送入分功能号。(2)置入口参数:按操作要求,给寄存器填写相应参数的内容(某些调用无参数)。(3)使用中断语句INT n:执行调用的功能,其中n为中断号。(4)分析出口参数。,1)BIOS调用的基本操作,表5.1 常用BIOS服务功能,2视频服务,INT l0HAH寄存器选择视频服务功能 待写的字符或像素值一般在AL寄存器中传递。功能调用保存BX、CX、DX及段寄存器的值。其他寄存器的内容(特别是SI、DI)不保存 X坐标(列号)在CX(图形功能)中或DL(正文功能)中传递 显示页在BH中传递,显示页从零开始计数,例如:利用BIOS视频服务的AH=0CH子功能实现写像素点
6、。调用子程序之前,需要用DX保存行号,CX保存列号,AL保存颜色值,这是0CH子功能要求的。WRITINGPIXEL PROCNEARPUSHAX MOVAH,0CHINT10HPOPAXWRITINGPIXELENDP,3键盘服务,键盘ISR(键盘中断服务程序)INT 09H硬件中断键盘DSR(键盘设备服务程序),INT 16H软件中断BIOS键盘服务包括3个子功能:0号功能、1号功能、2号功能,4并行打印机服务,INT 17H 0号功能(给打印机传送个字符)1号功能(初始化打印机)2号功能(读打印机状态)均可通过AH返回打印机状态字节,BIOS I7H号中断指令提供了由AH寄存器指定的三种
7、不同的操作。(1)BIOS中断17H号的功能0是打印一个字符。要打印输出的字符放在AL中,打印机号放在DX中,BIOS最多允许连接三台打印机,机号分别为0,1和2。如果只有一台打印机,那么就是0号打印机,打印机的状态信息被回送到AH寄存器。MOVAH,0;请求打印MOVAL,CHAR;写入打印字符MOVDX,0;设置0#打印口INT17H;调用BIOS,(2)17H号的功能1是初始化打印机并回送打印机状态到AH寄存器。如果把打印机开关关上然后又打开,打印机各部分就复位到初始值。此功能和打开打印机时的作用一样。在每个程序的初始化部分可以用17H号的功能1来初始化打印机。MOVAH,01;初始化打
8、印机MOVDX,0;设置0#打印口INT17H;调用BIOS,BIOS串行通信口功能 通过INT 14H调用ROM BIOS串行通信口中断服务程序。该中断服务程序包括将串行口初始化为指定的字节结构和传输速率,检查控制器的状态,读/写字符等功能。,表 串行通信口BIOS功能(INT 14H),图 串行通信口初始化参数,【例】要求0号通信口的传输率为2400波特,字长为8位,终止位为1位,无奇偶校验。MOV AH,0;串行通信口初始化MOV AL,0A3H;0A3H=10100011BMOV DX,0;指向COM1INT 14H;调用BIOS,5.3.2 DOS功能级软件接口及调用实例,1DOS功
9、能级软件接口调用概述主要包括:磁盘管理、内存管理、基本输入输出管理等。子功能都有一个00H57H的功能编号 INT 21H,00H0CH:字符I/O管理。包括键盘、显示器、打印机、异步通信口的管理0DH24H:文件管理。包括复位、选择磁盘,打开、关闭、删除文件,顺序读、写文件,建立文件,重命名文件,查找驱动器分配表信息,随机读、写文件,查看文件长度25H26H:非设备系统调用。包括设置中断向量,建立新程序段27H29H:文件管理。包括随机块读写、分析文件名2AH2EH:非设备系统调用。包括读取、设置日期、时间2FH38H:扩充的系统调用。包括读取DOS版本号,终止进程,读取中断矢量,读取磁盘空
10、闲空间39H3BH:目录组。包括建立子目录,修改当前目录,删除目录项,3CH46H:扩充的文件管理。包括建立、打开、关闭文件,从文件或设备读写数据,在指定路径删除、移动文件,修改文件属性,设备I/O控制,复制文件标志47H取当前目录组。48H4BH:扩充的内存管理。包括分配内存、释放已分配的内存、分配内存块、装入或执行程序等4CH4FH:扩充的系统调用。包括终止进程、查询子程序的返回代码、查找第一个相匹配的文件、查找下一个相匹配的文件50H53H:扩充的系统调用。供DOS内部使用54H57H:扩充的系统调用。包括读取校验状态、重新命名文件、设置读取日期及时间,2基本I/O功能调用,键盘输入(1
11、号调用)无回显的键盘输入(8号调用)控制台输入输出(6号调用)无回显的控制台输入(7号调用)打印输出(5号调用)输出字符串(9号调用)输入字符串(0AH调用)异步通信输入输出(3、4号调用)日期与时间的设置与获取(2AH、2BH、2CH、2DH调用),系统功能调用(INT 21H)的使用方法如下:,3DOS功能调用实例,;利用9号功能显示字符串 MOVAX,MYDATAMOVDS,AXDISP:MOVDX,OFFSET MESSEGEMOVAH,09HINT21H;利用10号功能接收字符到缓冲区KEY:MOVDX,OFFSET PARAMETERSMOVAH,10INT21H,5.4 Wind
12、ows下的接口调用,5.4.1 Windows的体系结构,5.4.2 Windows操作系统的内核进程,1Windows 9X的内核进程系统工作在基于Intel 32位CPU的硬件平台上,运行在32全位地址空间的保护模式下。系统核心进程空间工作在CPU的最高特权级0,用户空间工作在 CPU的低特权级3。系统核心进程是由虚拟设备驱动层VXD和虚拟机管理层VMM构成的,5.4.2 Windows系统中用户态到内核态的转换过程,首先,这些API函数要将用户程序的请求转换为对内核态I/O系统服务的请求然后,设备驱动程序将结果交给I/O管理器,由I/O管理器转换CPU运行空间,将处理结果返回给Win32
13、 API函数,最终由所请求的Win32 API将结果交给用户。,5.4.3 Windows的系统调用在Windows系统中,对于用户提出的设备使用请求,是通过调用Win32子系统中的API函数实现的。,Windows的功能调用,Windows系统中,对于用户提出的设备使用请求,是通过调用Win32子系统中的API函数实现的。Windows 9X与Windows NT中的Win32子系统并不相同,两个子系统是相互独立的 Windows NT中,Win32子环境有两类:一类位于用户态空间,用户态API而另一类位于内核态空间,内核态API,5.4.4 Windows的功能调用函数API的分类及特征,
14、API分类窗口管理类API图形设备接口类API系统服务类APIWindows的API函数担负着为所有的应用程序提供所有的服务功能。它们的主要特征是:支持多任务采用模块化的结构支持动态装载链接,5.4.5 API应用举例 1.Windows关于文件操作的主要API接口函数,建立文件函数CreatFile 文件打开操作函数HFILE_lopen HFILE_lopen(LPCSTR lpPathName,int iReadWrite)文件建立操作函数HFILE_lcreat HFILE_lcreat(LPCSTR lpPathName,int iAttribute)移动文件的读写指针函数SetFi
15、lePoint DWORD SetFilePoint(HANDLE hFile,LONG iDistanceToMove,PLONG lpDistanceToMoveHigh,DWORD dwMoveMethod)移动文件指针操作函数LONG_llseek LONG_llseek(HFILE hFile,LONG LOffset,int LOrigin)读文件函数ReadFile及写文件函数WriteFile,HANDLE CreateFile(LPCTSTR lpFileName,DWORD dwDesiredAccess,DWORD dwShareMode,LPSECURITY_ATTRI
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件接口技术 软件 接口 技术 PPT 课件
链接地址:https://www.31ppt.com/p-5610146.html