分享
分销 收藏 举报 申诉 / 54
播放页_导航下方通栏广告

类型第8章 输入输出管理.ppt

  • 上传人:xrp****65
  • 文档编号:13221181
  • 上传时间:2026-02-05
  • 格式:PPT
  • 页数:54
  • 大小:7.07MB
  • 下载积分:10 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    第8章 输入输出管理 输入输出 管理
    资源描述:
    单击以编辑,母版标题样式,*,第八章,I/O,管理,1,第八章 输入输出管理,8.1 I/O,管理的概念,8.1.1,引言,计算机外部设备,在计算机系统中除,CPU,和内存储外所有的设备和装置称为计算机外部设备(外围设备、,I/O,设备)。,2,8.1.1,引言,存储设备:用来存放各种信息的设备称为存储设备,例如,软盘、硬盘、光盘和磁带等;,I/O,设备:用来向计算机输入和输出信息的设备,如键盘、鼠标、显示器、打印机等。,在现代计算机系统中有些设备既可以做存储设备,也可以做,I/O,设备,例如,软盘、硬盘等。,I/O,管理就是设备管理,它是操作系统的一个重要的组成部分,负责管理系统中所有的外部设备。,3,8.1.1,引言,计算机外部设备种类繁多,特性各异。,主要表现在以下几个方面:,1.,速度,不同的外部设备的传输速度的差别相当大,如键盘的传输速度不过几十,上百个字符,而磁盘的传输速度则是,60,万字节,/,每秒。,2.,传输单位,有的设备的传输单位是字节,如键盘、打印机、显示器;,有的传输单位是字符块,如软盘、硬盘、磁带等;,有的传输单位是位,如个人计算机中的,Serial Port(s)COM1,、,COM2,4,8.1.1,引言,3.,容许的操作(操作特性),设备完成的操作种类各不相同,如打印机只允许写操作,键盘只能做读操作,而磁盘既可读,也可写。,4.,出错条件,不同的设备,其出错条件也不相同,即数据传输失败的原因各种各样,如打印机有缺纸错,磁盘,I/O,有奇偶校验错等。,5,8.1.1,引言,设计目标:,1.,字符代码的独立性;,现在使用的,ASCII,码(美国信息交换标准码),2.,设备独立性;,3.,效率;,4.,设备处理的一致性;,6,8.1.2 I/O,管理功能,1.,状态跟踪,设备控制块是存放设备管理和控制信息的数据结构。,系统要掌握设备的状态。,2.,设备存取,实现对设备的存取操作。,3.,设备分配,在多用户的环境下,负责设备的分配和回收。,4.,设备控制,设备控制包括设备的驱动、完成和故障中断处理。,7,8.1.3,设备独立性,一、设备独立性的概念,设备独立性是指用户在编程序时所使用的设备与实际设备无关。,两类设备独立性:,1.,一个程序应独立于分配给它的某种类型的具体设备。即在用户程序中只指明,I/O,使用的设备类型即可。如在系统中配备了两台打印机,用户要打印时只要告诉系统要将信息送到打印机即可。,2.,程序要尽可能地与它使用的设备类型无关。即在用户程序中只要指出要输入或输出信息,至于信息,I/O,使用的设备不需用户指明。,8,8.1.3,设备独立性,二、设备独立性的实现,在,UNIX,系统中,把设备与文件统一处理,这比前两种设备独立性又前进了一步,对于用户来说,就没有设备的概念。,9,8.1.3,设备独立性,三、设备独立性的优点,1.,方便用户编程;,2.,使用程序运行不受具体的机器环境的限制,如,UNIX,系统环境下,系统提供标准输入和输出,在用户程序中的输入输出都使用这两个标准的,I/O,,,实际运行时,根据具体情况而定。,如果配备打印机,则将输出信息送到打印机打印,如果没有配备打印机,就把输出重定向到某个指定文件,把要打印的信息送到该文件中。,3.,便于程序移植;,10,8.1.4,设备控制块,一、设备控制块,设备控制块是设备管理的数据结构,用来存放设备的管理和控制信息,每类设备有一个设备控制块。,11,8.1.4,设备控制块,二、设备转换表(设备开关表),设备开关表存放设备驱动和控制程序入口地址。,12,8.2,缓冲技术,8.2.1,概述,CPU,与各种外部设备的速度上的差异很大,设备与设备之间的速度的差异也很大。,系统有时会产生大量的数据需要,I/O,,,有时又会很长时间没有,I/O,。,造成,I/O,负荷的不均匀,要解决这两个方面的问题就要引入缓冲的概念。,缓冲是用来在两种不同速度的设备之间传输信息时平滑传输过程的常用手段。,缓冲技术是用来匹配,CPU,与设备之间速度差异和负荷的不均匀。,常用的缓冲技术有三种:双缓冲、环形缓冲、缓冲池,13,8.2.2,双缓冲,系统设置两个缓冲区,,BUF1,和,BUF2,,,各进程使用这两个缓冲区。这种缓冲技术是最简单的,用于低频度,I/O,活动的系统。,工作过程:首先输入将数据送入,BUF1,,,然后,申请,BUF2,,在向,BUF2,输入数据的同时,输出进程可从,BUF1,中取数据。同理,向,BUF1,输入与从,BUF2,中取数据可以并行。,教材,p203,图,8.2,是双缓冲技术应用的策略图。,14,8.2.3,环形缓冲,在系统中设置若干缓冲区,并把这些缓冲区链接起来,这样若干个缓冲区就形成了一个环,故称环形缓冲区。,15,8.2.3,环形缓冲,环形缓冲技术使用,设置一个输入指针,in,、,一个输出指针,out,、,开始指针,strat,。,系统初始时,,strat,=in=out,。,输入时,要判断,in,是否与,out,相等,若相等,则要等待。否则,将信息送入,in,指向的缓冲区,填满后,将缓冲区中的指向下一个缓冲区的指针,next,置,in,,,如此类推。,输出时,首先判断,out=in,,,若相等,则等待(意味着系统中没有数据可取)。否则,取出缓冲区中的信息,将缓冲区中的,next,置,out,;,16,8.2.4,缓冲池,系统设置多个缓冲区,形成一个缓冲池。这个池中的缓冲区为系统中所有的进程共享使用。例如,,UNIX,系统中,在块设备管理中设置了一个,15,个缓冲区组成的缓冲池。,P204,图,8.3,处理机,输出文件队列,输入文件队列,装入队列,出空队列,输出设备,输入设备,后备队列,17,8.3,设备分配,8.3.1,分配原则,一、静态分配和动态分配,1,、静态分配,当一个作业(或进程)运行时,根据作业要求的设备,系统如果能满足,则将其要求的设备全部分配给它,然后开始运行,运行完成释放其占用的所有设备。,这种分配方式的优点是系统绝不会出现死锁,缺点是设备利用率太低。,2,、动态分配,这种分配方法是在作业(或进程)运行的过程中,需要使用设备时,就向系统申请,系统根据某种分配原则进行分配。,这种方法的优点是设备的利用率高,缺点是系统有出现死锁的可能。,18,8.3,设备分配,8.3.1,分配原则,二、设备分配算法,1,、先来先服务算法,2,、优先级高者优先,三、设备分配的安全性,设备分配应避免死锁。,对于独占设备,,不论采用静态分配还是采用动态分配都不会出现死锁。,对于共享设备,,采用动态分配有可能造成死锁。,独享分配、共享分配、虚拟分配,19,8.3,设备分配,8.3.2,独享分配,输入机,行式打印机,磁带机,绘图仪,设备在不同作业间切换时间过长;慢设备。,20,8.3,设备分配,8.3.3,共享分配,磁盘,磁鼓,快速直接存取设备,介质共享,磁盘驱动器共享,通道共享,21,I/O,通道,8.3,设备分配,8.3.4,虚拟分配,独占设备的优化管理方法,1.Spool(,假脱机系统,)(,与主机脱机和通道联机,),独占设备,输入,/,输出井,用户进程,预输入程序,缓输出程序,井管理程序,22,8.4 I/O,控制,8.4.1 I/O,控制方式,一、循环测试,I/O,方式,早期的设备控制方式采用,主机处理器运行用户程序同时需要不断的测试设备状态。,二、,I/O,中断方式,为了提高,CPU,和设备的利用率,就应使,CPU,与设备并行工作,采用,I/O,中断方式。采用这种方式要求控制寄存器中有一个中断位。主机,CPU,在用户程序,I/O,期间可以运行其他用户进程,该,I/O,进程完成,I/O,后发中断请求主机干预。,23,8.4 I/O,控制,8.4.1 I/O,控制方式,在,I/O,中断方式下,数据的输入(或输出)步骤如下:,1.,要求输入数据的进程把一个启动命令和允许中断位“,1”,写入相应设备的控制状态寄存器中,从而启动了该设备;,2.,该进程因等待输入的完成进入睡眠状态,主机,CPU,运行其他进程;,3.,当输入完成后,输入设备向,CPU,发出完成中断请求信号;,4.,处理机响应中断,处理该中断,并唤醒等待输入完成的进程;,5.,在以后的某个时期,该程序被调度到后,继续运行。,24,8.4 I/O,控制,8.4.1 I/O,控制方式,这种方式的优点是大大地提高了,CPU,的利用效率,缺点是每次,I/O,都要,CPU,的干预,如果系统中配备了多台(套)设备时,,CPU,的利用率也会降低。解决的方法是采用通道技术。,25,8.4 I/O,控制,8.4.1 I/O,控制方式,三、通道,通道是计算机系统中专门用于,I/O,的处理机。在大、中、小型计算机中一般称为通道,结构如图所示。,四、,DMA,在个人计算机系统中采用微通道,针对,PC,机高速随机存储设备的专用通道。,26,8.4.2 I/O,子系统,一、设备接口,1.,块设备接口;,2.,主存映射接口;,3.,字符流设备接口;,4.,网络套接字接口;,27,8.4.2 I/O,子系统,二、,I/O,控制功能,控制设备,I/O,工作的核心模块通常称为设备驱动程序。它包括三个方面的功能:,1.,解释用户,I/O,命令,2.,设备驱动,3.,中断处理,28,8.4.2 I/O,子系统,接受用户的,I/O,请求命令,并把用户的请求转换成,I/O,请求块,挂到相应设备的,I/O,请求队列。,每类设备有一个,I/O,请求队列,在系统初始化时,将系统中所有设备的,I/O,请求队列置为空。在系统初启时,系统为每类设备创建一个进程,执行程序就是该设备的设备驱动程序。由于系统初启时,相应的,I/O,请求队列为空,则在该队列上睡眠。,一旦有,I/O,请求块挂入,唤醒该设备驱动进程。它被调度到时,从队列中取出一个,I/O,请求块,并按该块的内容执行一次,I/O,操作,发出,I/O,完成(或出错)中断信号。然后,检查请求队,若为空,则进入睡眠状态,否则,取下一个请求块。,29,8.4.3 I/O,控制过程,30,8.5,unix,系统设备管理,两种设备类型,1.,块设备,以字符块(一般情况下是,512,字节)为基本,I/O,单位的设备称为块设备,如磁盘、磁带、光盘等;,2.,字符设备,以字符为基本,I/O,单位的设备称为字符设备。,31,8.5 UNIX,系统的设备管理,8.5.1 UNIX,系统设备管理的特点,1.,外部设备看作文件,由文件系统统一处理;,2.,系统设备配置改变灵活、方便;,3.,有效地使用了块设备缓冲技术,大大地提高了块设备存取操作的速度。,32,8.5.2 UNIX,设备驱动程序接口,中断向量表,33,8.5.3,设备管理数据结构,1.,主设备号和次设备号,在系统内部使用的设备名称为设备号。它由两个部分组成,主设备号和次设备号。,主设备号:设备的类型编号;,次设备号:同类设备的设备台号。,34,8.5.3,设备管理数据结构,2.,设备开关表,设备驱动程序入口地址,字符设备开关表,struct,cdevsw,int,(*d_open)();,int,(*d_close)();,int,(*d_read)();,int,(*d_write)();,int,(*,d_sgtty,)();,cdevsw,;,块设备表,struct,devtal,char,d_active,;/*,执行一个,I/O,请求的标志*,/,char,d_errcnt,;/*,出错计数器*,/,struct,buf,*,b_forw,;/*,设备缓冲队列前指针*,/,struct,buf,*,b_back,;/*,设备缓冲队列后指针*,/,struct,buf,*,b_actf,;/*I/O,请求队列头指针*,/,struct,buf,*,b_actl,;/*I/O,请求队列尾指针*,/,bdevsw,;,35,8.5.3,设备管理数据结构,3.,设备管理数据结构的关系,36,8.5.4,缓冲区管理一、缓冲区结构,在,UNIX,系统中采用缓冲池的缓冲技术,系统中设置一个有,15,个缓冲区的缓冲池。每个缓冲区占,514,个字节,其中,512,个字节用来存放数据,,2,个字节用作校验用。,为了管理缓冲区,系统还设置了一个数据结构,称为缓冲区首部,其结构如下:,37,8.5.4,缓冲区管理一、缓冲区结构,struct,buf,int,b_flags;/*,标志*,/,struct,buf,*,b_forw,;/*,设备缓冲队列前指针*,/,struct,buf,*b_back;/*,设备缓冲队列后指针*,/,struct,buf,*,av_forw,;/*,空闲缓冲队列前指针*,/,struct,buf,*ac_back;/*,空闲缓冲队列后指针*,/,int,b_dev;/*,设备号*,/,int,b_wcount,;/*,请求传送的字节数*,/,char *,b_addr,;/*,缓冲区的首地址*,/,char *,b_blkno,;/*,设备的物理块号*,/,char b_error;/*,出错信息*,/,char *,b_resid,;/*,出错时尚末传送的剩余字数*,/,bufNBUF,;,38,8.5.4,缓冲区管理一、缓冲区结构,b_flags,包括:,B_WRITE,写(将信息写到磁盘上去),B_READ,读(从磁盘上读取信息到缓冲区中),B_DONE I/O,操作结束,B_ERROR,因,I/O,出错而中止,B_BUSY,相应的缓冲区正在使用中,B_WANTED,有进程正在等待使用该,buf,,清,B_BUSY,时要唤,醒这种进程,B_ASYNC,异步,I/O,标志,B_DELWRI,延迟写,在相应缓存移作它用时,要将缓存中,的内容写到相应的磁盘块中。,39,8.5.4,缓冲区管理二、空闲缓冲队列和设备缓冲队列,1.,空闲缓冲区队列,当系统中某个进程释放缓冲区时,将释放的缓冲区的,buf,挂到该队列的队尾。分配缓冲区是从该队列队首取出一个,buf,,,分配给申请者。,40,8.5.4,缓冲区管理二、空闲缓冲队列和设备缓冲队列,2.,设备缓冲区队列,当某个设备使用缓冲区时,将该缓冲区的,buf,挂入到相应的设备缓冲队列,并且一直保留在该队列中,直至该缓冲区分配给其它设备为止。这种处理的目的是让缓冲区中的信息尽可能长时间地保留在缓冲区中,以便以后重用。,41,8.5.4,缓冲区管理二、空闲缓冲队列和设备缓冲队列,自由缓冲队列,设备缓冲队列,42,三、缓冲区管理算法,43,三、缓冲区管理算法,1.,读操作的过程,以读的磁盘块号和设备号找到相应的设备缓冲队列;,若已读过(缓冲区中仍保存已读的磁盘块),则把缓冲区的内容复制到用户指定的内存中;(假读),若相应设备缓冲队列中无,说明没有读过,则申请一个空闲缓冲区,作读磁盘块的操作,然后,把读入缓冲区中的内存复制到用户指定的内存区中;(真读),释放缓冲区,把释放的缓冲区挂到空闲缓冲区队列的尾部。,44,三、缓冲区管理算法,2.,写操作,以用户申请的写的磁盘块号和设备号查相应设备的缓冲队列;,找到相应的块(原来写过),则将该缓冲区从空闲缓冲队列中摘出,将指定内存的内容写到缓冲区中;,若写满缓冲区,则将该缓冲区的内容写到磁盘中去,然后,释放缓冲区,,若没有写满一个缓冲区,则将缓冲区置为延迟写标志,并释放该缓冲区。,则没有找到,则申请一个空闲的缓冲区,操作同前。,45,四、缓冲队列的初始状态,缓冲区管理的初始化:,1.,空闲缓冲区队列,2.,设备缓冲队列,每类设备都有一个设备缓冲区队列。,按,UNIX,系统的规定,每个空闲缓冲区同时要存在于两个队列中,空闲缓冲队列和某个设备缓冲队列(也有的系统在实现时,不设设备缓冲队列,而是设置一个全系统的设备缓冲的散列)。,为了保证上述规定,在系统初启时,系统设置了一个特别设备,,NODEV,。,46,四、缓冲队列的初始状态,47,五、缓冲区分配与释放,缓冲区的分配总是先查相应的设备缓冲队列,若存在于设备缓冲队列中,说明该缓冲区中的内容已经有用户使用过,可重复使用,减少物理读、写磁盘的物理操作,加快,I/O,的速度。,释放一个缓冲区时,把释放的缓冲区首部插入空闲缓冲队列的尾部,仍然留在相应的设备缓冲队列中。,缓冲区的分配和释放有五种情况。,48,五、缓冲区分配与释放,1.,用户申请读(或写)的块在某个设备缓冲队列中(散列中),且该缓冲区空闲。,把,buf,中的,b_flags,置为“忙”,并将该缓冲首部从空闲缓冲队列中摘出。,使用缓冲区中的信息:,用户要求读:则把缓冲区中的内容复制到用户指定的内存中;释放该缓冲区,即将其,buf,挂到空闲缓冲队列尾;,用户要求写:则把用户指定的内容写到缓冲区中,缓冲区满,则把其内容写到磁盘上,然后释放;没有写满,则把,b_flags,置,延迟写,释放该磁盘块。,49,五、缓冲区分配与释放,2.,设备缓冲队列中没有找到申请的块,因此,要为申请者分配一个空闲的缓冲区。,从空闲缓冲队列的队首取出一个空闲的缓冲区,并且,,b_flags,中“延迟写”的标志没有置上。,把该缓冲区的,buf,从原,设备缓冲队列中移人申请的设备缓冲队列。,使用该缓冲区:,读操作:把申请的磁盘块读入缓冲区,然后,释放该缓冲区;,写操作:把申请指定的内容写入缓冲区中,写满则写到相应设备中去,否则,,b_flags,置上“延迟写”的标志,然后释放该缓冲区。,”,50,五、缓冲区分配与释放,3.,设备缓冲队列中没有找到申请的块,因此,要为申请者分配一个空闲的缓冲区,但,b_flags,有“延迟写”的标志。,把该缓冲区的,buf,从空闲缓冲队列中摘去,然后以异步写的方式把缓冲区中的内容写到设备上去,去掉“延迟写”标志,将其挂到空闲缓冲队列的头部。,继续取空闲缓冲队列中的空闲缓冲区,直到,找到一个没有“延迟写”写标志的空闲缓冲区为止。然后作读(或写)操作。,51,五、缓冲区分配与释放,4.,没有空闲缓冲区,在等待空闲缓冲区事件上睡眠。,5.,多个进程共享某个缓冲区,例如:,A,进程申请的缓冲区“忙”,即,B,进程正在使用该缓冲区。,A,进程进入睡眠状态;,B,进程使用完后,释放该缓冲区,并唤醒,A,进程。,A,进程得到处理机时,而检查该缓冲区。这是一个非常复杂的过程。,52,8.5.5 UNIX,的,设备,I/O,控制,1.I/O,请求队列,I/O,请求块:操作类型(读或写),信息地址(读:指源地址,写:指目的地址),传送的字节数,将这些信息形成一个,I/O,请求块,并将该请求块挂到相应设备的,I/O,请求队列,若有进程等待在这个队列上,则唤醒该进程。,53,8.5.5 UNIX,的设备,I/O,控制,2.,设备驱动,设备驱动程序对应的进程是在系统初启时创建的,当没有,I/O,请求,进入睡眠状态,一旦有,I/O,请求块挂入该队列,将唤醒它,得到处理机后,取出队列中的一个请求块,做,I/O,工作,完成后发出完成中断信号。然后取下一个,I/O,请求块,若无则进入睡眠状态。,54,
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:第8章 输入输出管理.ppt
    链接地址:https://www.zixin.com.cn/doc/13221181.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork