欢迎来到天天文库
浏览记录
ID:48486167
大小:169.00 KB
页数:40页
时间:2020-01-18
《10 Windows接口控制.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第十章WINDOWS接口控制1、Windows环境下编程的基本知识2、Windows环境下的端口操作3、Windows操作系统的API调用4、Windows下DLL编程技术及应用5、Windows下的串行通信接口6、线程控制技术Windows接口控制的必要性Windows操作系统为PC机用户提供了标准的用户图形界面。其强大的图形处理能力和简单灵便的操作,使很多即使对计算机不是很了解的人也很容易使用计算机,深受广大用户欢迎。大多数计算机检测、控制等应用程序的开发,都已转向或逐渐转向Windows环境下的编程。在Windows环境下实现对计算机硬件资源和内存资源的访问(如端口
2、I/O、DMA、中断、直接内存访问等),对外设的控制和管理是目前工业控制、数据采集系统开发的重要方面。Windows环境下编程的基本知识1、处理器的工作模式80X86处理器的工作模式有三种:实模式、保护模式和虚拟86模式。其中实模式和虚拟86模式是为了和早期的8086处理器兼容而设计的,以保证用户早期设计的软硬件资源得以继续使用。计算机系统在不同的环境和条件下在这三种模式中切换工作。1)实模式80386处理器被复位或加电时,以实模式启动。这时处理器中的各寄存器以实模式的初始化值工作。80386处理器相当于一个快速的8086处理器在工作。虽然80386是32位机,但在实模式
3、时的存储器寻址方式和8086的16位机一样,由段寄存器的内容乘以16做基地址,加上段内的偏移地址形成最终的物理地址。这时候它的32位地址线只使用了低20位,最大寻址空间1MB。实模式下的中断处理方式和8086处理器一样,也用中断向量表来定位中断服务程序地址。中断向量表的结构也和8086处理器一样,每4个字节组成一个中断向量,其中包括两个字节的段地址和两个字节的偏移地址。实模式下80386不支持优先级,所有的指令相当于工作在特权级(优先级0),所以所有的特权级的指令都可以执行,包括读写控制寄存器CR0等。80386开机时就是在实模式下初始化32位的4个控制寄存器CR0~CR
4、3、48位的全局描述符表寄存器GDTR、16位的局部描述符表寄存器LDTR、48位的中断描述符表寄存器IDTR、任务状态段寄存器TR等管理寄存器及页表等,然后再通过修改CR0寄存器,使其保护模式的使能位PE(位0)置位(=1)而进入保护模式工作的。实模式下不支持硬件上的多任务切换。2)保护模式当80386工作在保护模式下时,它的所有功能都是可用的。它的32根地址线都可寻址,物理寻址空间高达4GB。在保护模式下,支持内存分页机制,提供了对虚拟内存的良好支持。与8086只可寻址1M的物理地址空间相比,80386可寻址的4G物理地址空间确实是够大的了,但是至今,实际的微机系统仍
5、不可能安装如此巨大的物理内存。因此,为了运行大型程序和真正实现多任务,虚拟内存技术就成为必须的了在保护模式下80386支持多任务,可以依靠硬件,仅在一条指令中实现任务切换。任务环境的保护工作是由处理器自动完成的。在保护模式下,80386还支持优先级机制,不同的程序可以在不同的优先级上运行。优先级分0~3共4个级别。操作系统运行在最高级0上,应用程序则运行在比较低的级别上。配合良好的检查机制后,系统既可以在任务间实现数据的安全共享,也可以很好地隔离各任务。实现从实模式切换到保护模式,首先要建立保护模式必需的一些数据表,如全局描述符表GDT和中断描述符表等,然后通过修改控制寄
6、存器CR0的控制位PE(位0)来实现。DOS操作系统运行于实模式下,而Windows操作系统运行于保护模式下。3)虚拟86模式虚拟86模式是为了操作系统运行在支持多任务的保护模式下,仍能执行8086程序而设置的。虽然80386处理器已经提供了实模式来兼容8086程序,但80386在实模式下的8086程序实际上只是运行得快一些,对CPU的管理还是独占的。而且,在保护模式的多任务环境下运行8086程序时,程序中的很多指令和保护模式的环境是格格不入的,如段寻址方式、对中断的处理和I/O操作的特权问题等。为此,80386处理器又设计了一个虚拟86模式。虚拟86模式是以任务的形式在
7、保护模式上运行的。在80386上可以同时支持由多个真正的80386任务和虚拟86模式构成的任务。在虚拟86模式下,80386支持任务切换和内存分页。在Windows操作系统中,有一部分程序专门用来管理虚拟86模式的任务,称为虚拟86管理程序。为了和8086程序的寻址方式兼容,虚拟86模式采用和8086一样的寻址方式,即用段寄存器乘以16做基地址,再配合偏移地址形成线性地址,寻址1MB的空间。当多个虚拟86任务要运行时,Windows操作系统利用分页机制将不同虚拟86任务的地址空间影射到不同的物理地址上去,使每个虚拟86任务看起
此文档下载收益归作者所有