资源预览内容
第1页 / 共57页
第2页 / 共57页
第3页 / 共57页
第4页 / 共57页
第5页 / 共57页
第6页 / 共57页
第7页 / 共57页
第8页 / 共57页
第9页 / 共57页
第10页 / 共57页
亲,该文档总共57页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第5章 软件接口技术第5章 软件接口技术 第5章 软件接口技术本章主要内容: 软件接口概述 DOS系统中的接口调用方法 Windows系统中的接口调用方法 Linux系统中的接口调用方法第5章 软件接口技术5.1 软件接口概述 操作系统是用户与计算机硬件系统之间的接口,是人与计算机之间进行交流的桥梁,因此也称操作系统为“人机接口”。操作系统为用户提供了命令接口和程序接口两种操作方式。 命令接口由操作命令及作业控制语言组成,它是管理和控制运行的程序,可以通过交互式方式直接或间接控制作业的运行。 程序接口是由一组系统调用命令组成的,是操作系统提供给程序设计人员的接口。用户通过在应用程序中使用系统调用命令来请求操作系统提供服务。第5章 软件接口技术 系统调用命令(简称系统调用)是用户应用程序与计算机的接口, 它是用户在程序设计中直接调用操作系统提供的一组功能子程序 ,是一种特殊的过程调用,一般借助一条特殊的机器指令(如软 中断INT指令)来实现。 系统调用过程如下: (1) 把系统调用所需的参数或参数区首地址装入指定的通用寄存器 ,然后设置一条调用指令; (2) 将系统调用的功能编号装入指定的通用寄存器中,有的系统直 接在调用指令中将功能编号给出,有的系统将功能编号作为系统 调用的参数; (3) 当用户程序执行到调用指令时,产生访管中断(又称软件中断 ),系统处理该中断,即为用户程序保留“现场”,然后提取系 统调用编号,访问系统调用入口表,找到相应子程序入口地址转 去执行; (4) 系统调用命令执行返回,恢复“现场”,并把返回参数或参数 区首地址放入指定的通用寄存器中,以供用户程序使用。与中断 一样,系统调用也可以实现嵌套调用。第5章 软件接口技术系统调用分为:(1) 与进程有关的系统调用(2) 与存储管理有关的系统调用(3) 与文件管理有关的系统调用(4) 与设备管理有关的系统调用(5) 访问系统核心数据的系统调用(6) 控制类的系统调用第5章 软件接口技术5.2 接口软件及层次结构操作系统驱动软件硬件层应用软件图5.1驱动软件的层次接口第5章 软件接口技术DOSBIOS硬件层应用软件应用环境驱动软件硬件层应用软件设备管理用户空间内核空间B) Windows的调用层次A)dos系统的调用层次图5.2 设备调用层次第5章 软件接口技术5.3 DOS系统下的接口调用 DOS系统是单用户的操作系统 DOS系统提供给用户的编程界面,大体有如下几 种:裸机层软件开发,利用芯片或板卡(适配器)支持的寄存器或 内存数据区编程。需要用户非常清楚设备的硬件细节,编程较 复杂,但软件实现速度最快。BIOS级软件开发,利用BIOS基本输入输出系统所提供的一些服 务功能编程。系统功能级软件开发,利用DOS系统提供的系统功能编程。第5章 软件接口技术5.3.1 BIOS中断调用及实现1BIOS级软件接口(中断调用)概述 BIOS基本输入输出系统由一批子程序组成,负责管理系统内的输入输出设备 直接为DOS操作系统和应用程序提供底层设备驱动服务。 大多数的驱动程序以软件中断方式调用,少数由硬件中断 调用。第5章 软件接口技术基本步骤为:(1) 设置分功能号:按实现的操作功能的要求,给指定寄 存器(通常为AH)送入分功能号。(2) 置入口参数:按操作要求,给寄存器填写相应参数的 内容(某些调用无参数)。(3) 使用中断语句INT n:执行调用的功能,其中n为中断 号。(4) 分析出口参数。1) BIOS调用的基本操作第5章 软件接口技术表5.1 常用BIOS服务功能BIOS服务功能号功 能 打印屏幕服务05H将当前视频页内容送到默认打印机视频服务10H为显示适配器提供I/O支持软盘服务13H提供软盘的读、写、格式化、初始化、 诊断 硬盘服务13H提供硬盘的读、写、格式化、初始化、 诊断 串行通信服务14H为串行适配器提供字符输入/输出系统服务15H系统级子服务键盘服务16H为键盘提供I/O支持并行打印机服务17H为并行打印机提供I/O支持 日期时间服务1AH设置和读取时间、日期、声源等第5章 软件接口技术2视频服务 INT l0HAH寄存器选择视频服务功能 待写的字符或像素值一般在AL寄存器中传递。功能调用保存BX、CX、DX及段寄存器的值。其他寄存 器的内容(特别是SI、DI)不保存 X坐标(列号)在CX(图形功能)中或DL(正文功能) 中传递 显示页在BH中传递,显示页从零开始计数 第5章 软件接口技术例如:利用BIOS视频服务的AH=0CH子功能实现写像素点。 调用子程序之前,需要用DX保存行号,CX保存列号 ,AL保存颜色值,这是0CH子功能要求的。WRITINGPIXEL PROCNEAR PUSHAXMOVAH,0CH INT10H POPAX WRITINGPIXELENDP第5章 软件接口技术3键盘服务 键盘ISR(键盘中断服务程序) INT 09H硬件中断 键盘DSR(键盘设备服务程序),INT 16H软件中断BIOS键盘服务包括3个子功能:0号功能、1号功能、2号功能 第5章 软件接口技术子功能号 含 义出 口 参 数AH=0从键盘输入一 个字符AL=ASCII码(或0) AH=扫描码(或扩展扫描码)AH=1判断键盘有无 字符输入ZF=0 有键按下,键代码保存在 AX中 ZF=1 无键按下AH=2当前键盘特殊 键状态AL=KB-FLAG的变量第5章 软件接口技术4并行打印机服务 INT 17H 0号功能(给打印机传送个字符) 1号功能(初始化打印机) 2号功能(读打印机状态) 均可通过AH返回打印机状态字节 =1,不忙,打印机可用=1,打印机表示响应=1,打印机无纸=1,打印机选中=1,打印机出现超时错误未定义未定义=1,打印机出错D7 D6 D5 D4 D3 D2 D1 D0第5章 软件接口技术BIOS I7H号中断指令提供了由AH寄存器指定的三种不同的操作。(1) BIOS中断17H号的功能0是打印一个字符。要打印输出的字符放在AL中,打印机号放在DX中,BIOS最多允许连接三台打印机,机号分别为0,1和2。如果只有一台打印机,那么就是0号打印机,打印机的状态信息被回送到AH寄存器。MOVAH,0;请求打印MOVAL,CHAR;写入打印字符MOVDX,0;设置0#打印口INT17H;调用BIOS第5章 软件接口技术(2) 17H号的功能1是初始化打印机并回送打印机状态到AH寄存器。如果把打印机开关关上然后又打开,打印机各部分就复位到初始值。此功能和打开打印机时的作用一样。在每个程序的初始化部分可以用17H号的功能1来初始化打印机。MOVAH,01;初始化打印机MOVDX,0;设置0#打印口INT17H;调用BIOS第5章 软件接口技术lBIOS串行通信口功能通过INT 14H调用ROM BIOS串行通信口中断服务程序。该中断服务程序包括将串行口初始化为指定的字节结构和传输速率,检查控制器的状态,读/写字符等功能。第5章 软件接口技术表 串行通信口BIOS功能(INT 14H)AH功能调用参数返回参数0初始化串行通信口AL=初始化参数 DX=通信口号: COM1=0 COM2=1,etcAH=通信口状态 (AL)=调制解调器状态1向串行通信口写字符AL=所写字符 DX=通信口号: COM1=0 COM2=1,etc写字符成功: (AH)=0,(AL)=字符 写字符失败: (AH)7=1,(AH)06=通信口状态2从串行通信口读字符DX=通信口号: COM1=0 COM2=1,etc读成功: (AH)7,=0(AL)=字符 读失败: (AH)7=1,(AH)06=通信口状态3取通信口状态DX=通信口号: COM1=0 COM2=1(AH)=通信状态 AL=调制解调器状态第5章 软件接口技术图 串行通信口初始化参数第5章 软件接口技术【例】 要求0号通信口的传输率为2400波特,字长为8位,终止位为1位,无奇偶校验。MOV AH,0;串行通信口初始化MOV AL,0A3H;0A3H=10100011BMOV DX,0;指向COM1INT 14H;调用BIOS第5章 软件接口技术5.3.2 DOS功能级软件接口及调用实例1DOS功能级软件接口调用概述主要包括:磁盘管理、内存管理、基本输入输出管 理等。 子功能都有一个00H57H的功能编号 INT 21H 第5章 软件接口技术 00H0CH:字符I/O管理。包括键盘、显示器、打印机、 异步通信口的管理 0DH24H:文件管理。包括复位、选择磁盘,打开、关闭、 删除文件,顺序读、写文件,建立文件,重命名文件,查 找驱动器分配表信息,随机读、写文件,查看文件长度 25H26H:非设备系统调用。包括设置中断向量,建立新程 序段 27H29H:文件管理。包括随机块读写、分析文件名 2AH2EH:非设备系统调用。包括读取、设置日期、时间 2FH38H:扩充的系统调用。包括读取DOS版本号,终止进 程,读取中断矢量,读取磁盘空闲空间 39H3BH:目录组。包括建立子目录,修改当前目录,删除 目录项第5章 软件接口技术 3CH46H:扩充的文件管理。包括建立、打开、关闭 文件,从文件或设备读写数据,在指定路径删除、移 动文件,修改文件属性,设备I/O控制,复制文件标志 47H取当前目录组。 48H4BH:扩充的内存管理。包括分配内存、释放已 分配的内存、分配内存块、装入或执行程序等 4CH4FH:扩充的系统调用。包括终止进程、查询子 程序的返回代码、查找第一个相匹配的文件、查找下 一个相匹配的文件 50H53H:扩充的系统调用。供DOS内部使用 54H57H:扩充的系统调用。包括读取校验状态、重 新命名文件、设置读取日期及时间第5章 软件接口技术2基本I/O功能调用 键盘输入(1号调用) 无回显的键盘输入(8号调用) 控制台输入输出(6号调用) 无回显的控制台输入(7号调用) 打印输出(5号调用) 输出字符串(9号调用) 输入字符串(0AH调用) 异步通信输入输出(3、4号调用) 日期与时间的设置与获取(2AH、2BH、2CH、2DH调用)第5章 软件接口技术系统功能调用(INT 21H)的使用方法如下:设置功能号n(AH)设置入口参数执行INT 21H分析出口参数第5章 软件接口技术3DOS功能调用实例;利用9号功能显示字符串MOVAX,MYDATAMOVDS,AXDISP:MOVDX,OFFSET MESSEGEMOVAH,09HINT21H;利用10号功能接收字符到缓冲区KEY: MOVDX,OFFSET PARAMETERSMOVAH,10INT21H第5章 软件接口技术5.4 Windows下的接口调用 5.4.1 Windows的体系结构Win32位子 系统虚拟设备管理层VXDIntel硬件平台应用软件虚拟DOS机硬件抽象层HAL多种硬件平台应用软件NT系统管理用户态内核态B) Windows NTA)Windows 9X 图5.4 Windows的体系结构虚拟 DOS机虚拟机管理层VMM设备驱动层内核Win32位子 系统其它系统Win32位子系 统第5章 软件接口技术5.4.2 Windows操作系统的内核进程1Windows 9X的内核进程 系统工作在基于Intel 32位CPU的硬件平台上,运行在 32全位地址空间的保护模式下。 系统核心进程空间工作在CPU的最高特权级0, 用户空间工作在 CPU的低特权级3。 系统核心进程是由虚拟设备驱动层VXD和虚拟机管理层VMM构成的 第5章 软件接口技术5.4.2 Win
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号