我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:多盈娱乐 > 多路转换通道 >

由于底层磁盘io函数中的错误怎么解决

归档日期:06-06       文本归类:多路转换通道      文章编辑:爱尚语录

  (2)按输入输出传送方式分(UNIX或Linux操作系统):字符型设备、块设备

  (1)按用户需求提出的要求接入外部设备,系统按一定算法分配和管理控制,而用户不必关心设备的实际地址和控制指令;

  (2)尽量提高输入输出设备的利用率,例如发挥主机与外设以及外设与外设之间的真正并行工作能力。主要利用的技术有:中断技术、DMA技术、通道技术、缓冲技术。

  通道(channel):计算机系统中能够独立完成输入输出操作的硬件装置,也称为“输入输出处理机”。

  虽然在CPU与I/O设备之间增加了设备控制器,但CPU的负担仍很重。为此,在CPU和设备控制器之间又增设了I/O通道。其目的是使一些原来由CPU处理的I/O任务转由通道来承担,从而把CPU从繁杂的I/O任务中解脱出来。

  CPU并不直接操作外围设备,他连接通道(I/O处理机),通道连接设备控制器,设备控制器连接设备。CPU只需把“I/O设备启动,并给出相关的操作要求。然后就由通道来处理输入输出事宜,做完后报告CPU。

  中断(Interrupt)是指计算机在执行期间,系统内发生非寻常的或非预期的急需处理事件,使得CPU暂时中断当前正在执行的程序而转去执行响应的事件处理程序。待处理完毕后又返回原来中断处继续执行或调度新的程序执行的过程。中断一般可分成软件中断和硬件中断。

  中断方式(interrupt)被用来控制外围设备和内存与CPU之间的数据传送。这种方式要求CPU与设备(或控制器)之间有相应的中断请求线,而且在设备控制器的控制状态寄存器的相应的中断允许位。

  l在以后的某个时刻,进程调度程序选中提出请求并得到数据的进程,该进程从约定的内存特定单元中取出数据继续工作。

  1)由于在一次数据传送过程中,发生中断次数较多。这将耗去大量CPU处理时间。

  2)当设备把数据放入数据缓冲寄存器并发出中断信号之后,CPU有足够的时间在下一个(组)数据进入数据缓冲寄存器之前取走数据。如果外设的速度也非常快,则有可能造成数据缓冲寄存器的数据丢失。

  DMA 是Direct Memory Access的缩写,其意思是“存储器直接访问”。它是指一种高速的数据传输操作,允许在外部设备和存储器之间直接读写数据,即不通过CPU,也不需要 CPU干预。整个数据传输操作在一个称为“DMA控制器”的控制下进行的。CPU除了在数据传输开始和结束时作一点处理外,在传输过程中CPU可以进行其它的工作。这样,在大部分时间里,CPU和输入输出都处在并行操作。因此,使整个计算机系统的效率大大提高。

  缓冲技术是二种不同速度的设备之间传输信息时平滑传输过程的一种常用手段。它可提高外设利用率,尽可能使外设处于忙状态。引入缓冲的主要原因,可归结为以下几点:

  根据I/O控制方式,缓冲的实现方法有两种:一种是采用专用硬件缓冲器;另一种是在内存划出一个具有n个单元的专用缓冲区,以便存放输入/输出的数据。内存缓冲区又称软件缓冲。

  根据系统设置的缓冲器的个数,可把缓冲技术分为:单缓冲、双缓冲、多缓冲和缓冲池

  SPOOLing,即外围设备联机并行操作,它是一种速度匹配技术、也是一种虚拟设备技术(用一种物理设备模拟另一类物理设备,使各作业在执行期间只使用虚拟的设备而不直接使用物理的独占设备。这种技术可使独占的设备变成可共享的设备,使得设备的利用率和系统效率都能得到提高)。

  它们是在磁盘上开辟的两个大缓冲区。输入井是模拟脱机输入时的磁盘,用于收容I/O设备输入的数据;输出井是模拟脱机输出时的磁盘,用于收容用户程序的输出数据。

  在内存中要开辟两个缓冲区,其中输入缓冲区用于暂存由输入设备送来的数据,以后再传送到输入井;输出缓冲区用于暂存从输出井送来的数据,以后再传送给输出设备。

  进程Spi模拟脱机输入时的外围控制机,将用户要求的数据从输入机通过输入缓冲区再送到输入井。当CPU需要输入数据时,直接从输入井读入内存。Spo进程模拟脱机输出时的外围控制机,把用户要求输出的数据先从内存送到输出井,待输出设备空闲时,再将输出井中的数据经过输出缓冲区送到输出设备上。

本文链接:http://ayraswimwear.com/duoluzhuanhuantongdao/379.html