
设备控制原理.pptx
23页单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,1,第九讲 设备控制原理、设备使用方法,目的与要求,:,掌握I/O控制的原理、设备的使用方法,理解I/O的层次结构,重点与难点,:,三种不同的I/O控制方式;I/O的层次结构,作业,:,2,3,4,5,第六章 设备管理,6.1 输入输出硬件概念,1.常见I/O设备的分类,人机交互设备,(,字符设备,发送接收以字符方式),存储类型设备,(,块设备,读写以数据块方式),网络通讯的设备,I/O设备的特点:,数据传输速率不同,数据传输单位不同,控制的复杂性不同,设备的使用目的不同,2.,设备控制器(I/O部件,),I/O设备通常包含一个机械部件和一个电子部件电子部件被称作I/O部件或设备控制器操作系统一般只与控制器打交道,而非设备本身早期CPU是直接控制外部设备的,在引入I/O部件之后,I/O指令功能加强,才将CPU逐渐从与外设的交互细节中解放出来PCI总线控制器,处理机,内存,显卡,外设,光盘,磁盘,IDE总线控制器,外设控制器,控制器,控制器,连接CPU、内存、设备控制器和I/O设备模型,控制器的任务是在外部设备与CPU(内存)之间完成比特流(外部信号)和字节流(块)之间的转换,。
磁盘 控制器,主存,比特流,字节块,转换、校验,字符显示控制器,主存经CPU,显示信号,字节流,转换,每个控制器都有一些用来与CPU通讯的,I/O寄存器,操作系统通过向这些寄存器写命令字来执行I/O功能键盘,060-063,硬盘,320 32F,打印机,378 37F,软盘,3F0 3F7,彩色显示器,3D0 3DF,IBM PC的I/O地址,3.,输入输出控制方式,一、程序直接控制方式,CPU直接控制I/O操作的全过程,包括传输数据、发送读写命令、测试设备状态因此,处理机指令集应包括控制类、测试类、读写类I/O指令I/O部件接收到相应的命令后,将I/O状态寄存器的相应位置上随着操作的执行更改状态位,由CPU执行相应指令读取I/O完成状态I/O数据通过CPU寄存器转发向I/O部件发读命令,读I/O部件状态寄存器,检查状态,从I/O部件读字数据,将该字写入内存,未OK,OK,出错,该块读完?,OK,下一,指令,未OK,二、中断控制方式,CPU向I/O部件发出命令后,,转去做其他有用的工作,当I/O部件准备好数据后,利用中断通知CPU,再由CPU完成数据传输CPU不必反复测试寄存器状态,节约了时间。
但总体看来,中断控制方式仍然消耗大量的CPU时间,因为,每个字的数据传输都必须经过CPU寄存器转发,向I/O部件发读命令,读I/O部件状态寄存器,检查状态,从I/O部件读字数据,将该字写入内存,OK,出错处理,该块读完?,OK,下一,指令,未OK,中断,三、DMA,方,方式,前两种方式,的,的缺陷:,I/O的传,输,输速率受CPU测试或,中,中断响应的,速,速度限制,CPU为管,理,理I/O耗,费,费大量时间,DMA(直,接,接内存存取,),)负责完成,整,整个I/O,操,操作,无需,再,再经CPU,寄,寄存器转发,,,,并在全部,传,传输结束后,向,向CPU发,中,中断信号CPU向DMA部件发,送,送I/O命,令,令后,即可,进,进行其他工,作,作给DMA的命令中,应,应包括:操,作,作类别、I/O设备的,地,地址、读写,数,数据在内存,中,中的首地址,、,、字数向DMA部,件,件发读命令,读取DMA,部,部件状态,中断,下一条指令,DMA的功,能,能可以以独,立,立的DMA,部,部件在系统I/O总线,上,上完成,也,可,可整合到I/O部件中,完,完成读写内存时,,,,DMA部,件,件需要控制,总,总线,CPU可能在涉,及,及存储访问,时,时因此而忙等待。
CPU直接,控,控制外部设,备,备,引入I/O,部,部件,CPU直接控制I/O部件,引入中断驱,动,动方式,引入DMA,I/O通,道,道或I/O处,理,理机,输入,输,输出,控,控制,方,方式,的,的发,展,展过,程,程,6.2,设,设备,输,输入,输,输出,子,子系,统,统,6.2.1.,设,设备,的,的使,用,用方,法,法,一、,设,设备,相,相关,系,系统,调,调用,简,简介,申请设,备,备,该系统,调,调用中,有,有参数,说,说明了,要,要申请,的,的设备,名,名称,,操,操作系,统,统处理,该,该系统,调,调用时,,,,会按,照,照设备,特,特性(,是,是独占,还,还是分,时,时共享,式,式使用,),)及设,备,备的占,用,用情况,来,来分配,设,设备,,返,返回申,请,请是否,成,成功标,志,志将数据,写,写入设,备,备,从设备,读,读取数,据,据,释放设,备,备,这是申,请,请设备,的,的逆操,作,作,说明,:,上述的,系,系统调,用,用主要,用,用于对,人,人机交,互,互类慢速外,设,设的使用,对于存储类,外,外设,用户,程,程序一,般,般通过,对,对文件,的,的访问,,,,由文,件,件管理,模,模块读,写,写存储,外,外设间,接,接使用,它,它们,,系,系统也,提,提供直,接,接使用,存,存储类,外,外设的,接,接口。
对于网络通,讯,讯外设,用户,级,级程序,也,也不直,接,接使用,它,它们,,用,用户通,过,过SOCKET通讯,系,系统调,用,用接口,调,调用TCP/IP层,程,程序,,由,由IP,层,层程序,选,选择调,用,用网络,通,通讯设,备,备驱动,程,程序在Unix中,,,,你也,可,可以用,如,如下的,系,系统调,用,用将数,据,据直接,写,写入软,盘,盘中:,fd=open(“/dev/fd0”,ORDRW);申请软,盘,盘,/dev/fd0代表,软,软盘,lseek(fd,1024,0);将软盘,当,当前I/O位,置,置定位,到,到1024字,节,节位置,Write(fd,buffer,36);将用户,缓,缓冲区buffer,中,中的36个字,节,节写入,软,软盘1024,1059字,节,节,close(fd),;,;释放软,盘,盘,显然,,这,这样的,使,使用方,式,式绕过,了,了文件,管,管理,,而,而直接,读,读写,软,软盘空,间,间当,然,然你必,须,须清楚,软,软盘的,什,什么位,置,置存放,了,了什么,信,信息,,你,你才能,做,做到正,确,确的读,写,写二、独,占,占式共,享,享使用,设,设备,所谓独,占,占式共,享,享使用,设,设备是,以,以一次,设,设备使,用,用过程,(,(包含,多,多次I/O操,作,作)为,单,单位使,用,用设备,。
在申请,设,设备时,,,,如果,设,设备空,闲,闲,就,将,将其独,占,占,不,再,再允许,其,其它进,程,程申请,使,使用,,一,一直等,到,到该设,备,备被释,放,放,才,允,允许被,其,其它进,程,程申请,使,使用三、分,时,时式共,享,享使用,设,设备,独占式,共,共享使,用,用设备,时,时,设,备,备利用,率,率很低,如果一,个,个逻辑,上,上完整,的,的数据,可,可以用,设,设备的,一,一次I/O操,作,作完成,,,,那么,我,我们就,不,不必要,独,独占该,设,设备反,反过来,说,说,如,果,果一次I/O,操,操作的,数,数据逻,辑,辑上完,整,整,我,们,们就不,必,必要对,该,该设备,进,进行独,占,占方式,的,的申请,使,使用在,在申请,这,这种设,备,备时,,不,不必检,查,查是否,已,已被占,用,用,只,要,要简单,累,累加设,备,备使用,者,者计数,即,即可所谓分,时,时式共,享,享就是,以,以一次I/O,为,为单位,分,分时使,用,用设备,,,,不同,进,进程的I/O,操,操作请,求,求以排,队,队方式,分,分时地,占,占用设,备,备进行I/O,四、SPOOLing方式,使,使用外,设,设,SPOOLing,技,技术是,在,在批处,理,理操作,系,系统时,代,代引入,的,的,即,所,所谓假,脱,脱机输,入,入输出,技,技术。
把,把这种,技,技术用,于,于对设,备,备的使,用,用实质,就,就是对,输,输入,输,输出数,据,据成批,处,处理例如:,所,所有输,出,出数据,在,在进程,运,运行时,已,已经写,到,到文件,当,当中,,文,文件排,到,到打印,输,输出队,列,列,打,印,印进程,申,申请占,用,用打印,机,机后,,成,成批读,出,出文件,中,中数据,,,,并送,打,打印机,打,打印出,去,去打印请求队列(含要打印文件),打印daemon 进程,打印机,6.2.2,I/O,层次结,构,构,整个输,入,入输出,系,系统的,结,结构可,以,以看作,三,三层:,设备驱,动,动及中,断,断处理,硬件,用户层I/O,系统调,用,用接口,、,、设备,无,无关的I/O,I/O,库,库函数,,,,如C,库,库中的,函,函数fopen(),fread(),fwrite(),fclose()等,I/O,相,相关的,系,系统调,用,用函数,,,,如UNIX,的,的open(),read(),write(),close(),等,等与设备,无,无关的I/O,设备名,与,与设备,驱,驱动程,序,序的映,射,射,设备保护,,,,包括使,用,用权限的,验,验证等,缓冲,错误报告,分配及释,放,放设备,文件系统,管,管理模块,设备驱动,与,与中断处,理,理,操作系统,会,会规定一,个,个统一的设备驱动,程,程序接口由设备无,关,关层的软,件,件调用,,这,这个接口,就,就是一些,函,函数,由,设,设备驱动,程,程序实现,。
如UNIX的设,备,备驱动程,序,序接口标,准,准DDI/DKI,(,(设备驱,动,动接口/,驱,驱动核心,接,接口)规,范,范中断处理:解除相,应,应进程的,阻,阻塞状态,,,,处理下,一,一个设备,驱,驱动请求,演讲完毕,,,,谢谢观,看,看!,。
