预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共19页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第十四讲设备控制原理、设备使用方法目的与要求:掌握I/O控制的原理、设备的使用方法。重点与难点:三种不同的I/O控制方式;三种不同的设备使用方法。第六章设备管理6.1I/O硬件概念2.设备控制器(I/O部件)PCI总线控制器控制器的任务是在外设与内存之间完成比特流与字节块之间的转换。或外设与CPU之间完成比特流(或外部信号)与字节流之间的转换。每个控制器都有一些用来与CPU通讯的I/O寄存器。操作系统通过向这些寄存器写命令字来实现I/O功能。3.输入输出控制方式向I/O部件发读指令二、中断控制方式向I/O部件发读指令三、DMA方式向DMA部件发读指令6.2设备I/O子系统说明:上述的系统调用主要用于对人机交互类慢速外设的使用。对于存储类外设,用户程序一般通过对文件的访问,由文件管理模块读写存储外设间接使用它们,系统也提供直接使用存储类外设的接口供DBMS等高级应用程序使用。对于网络通讯外设,用户级程序也不直接使用它们,用户通过SOCKET通讯系统调用接口调用TCP/IP层程序,由IP层程序调用网络通讯设备驱动程序。在UNIX中,你也可以用如下的系统调用将数据直接写入软盘中:fd=open(“/dev/fd0”,O_RDRW);申请软盘,/dev/fd0代表软盘。lseek(fd,1024,0);将软盘当前I/O位置定位到1024字节位置。write(fd,buffer,36);将用户缓冲区buffer中的36个字节写入软盘1024-1059字节。…close(fd);释放软盘。显然,这样的使用方式绕过了文件管理,而直接读/写软盘空间。当然你必须清楚软盘的什么位置存放了什么信息,你才能做到正确的读写。二、3种设备使用方式独占式分时式SPOOLing虚拟设备方式1、独占式使用设备所谓独占式使用设备是以一次设备使用过程(包含多次I/O操作)为单位使用设备。在申请设备时,如果设备空闲,就将其独占,不再允许其它进程申请使用,一直等到该设备被释放,才允许被其它进程申请使用。2、分时式共享使用设备如果一个逻辑上完整的数据可以用设备的一次I/O操作完成,那么我们就不必要独占该设备。反过来说,如果一次I/O操作的数据逻辑上完整,我们就不必要对该设备进行独占方式的申请使用。在申请这种设备时,不必检查是否已被占用,只要简单累加设备使用者计数即可。所谓分时式共享就是以一次I/O为单位分时使用设备,不同进程的I/O操作请求以排队方式分时地占用设备进行I/O。3、SPOOLing方式使用外设SPOOLing技术是在批处理操作系统时代引入的,即所谓假脱机输入输出技术。原用于作业输入、输出,利用磁盘上的输入、输出井模拟慢速外设。现在利用文件模拟出多设备。例如:同一进程所有输出数据在进程运行时被写到同一文件当中,文件排到打印输出队列,打印daemon进程占用打印机后,成批读出文件中数据,并送打印机打印出去。