IO设备管理

IO设备管理,第1张

I/O系统不仅包括 各种I/O设备 ,还包括与设备相连的 设备控制器 ,有些系统还配备了专门用于输入/输出控制的专用计算机( 通道 ),此外: I/O系统要通过总线与CPU、内存相连

I/O系统的结构分为两大类:

CPU与内存之间可以直接进行信息交换,但是 不能直接与设备进行信息交换 ,必须经过 设备控制器

主机I/O系统采用四级结构,包括: 主机、通道、设备控制器和设备

一个通道可以控制多个设备控制器。

一个设备控制器可以控制多个设备。

设备控制器是 CPU与I/O设备之间的接口 ,接收I/O命令并 控制设备 完成I/O工作。

设备控制器是一个 可编址设备 ,链接多个设备时可有多个设备地址。

一种特殊的处理机,它具有执行I/O指令的能力,并通过执行通道程序来控制I/O *** 作。

大型主机系统中 专门用于I/O的专用计算机

引入通道能够使CPU从控制I/O *** 作的任务中解脱,使 CPU与I/O并行工作 ,提高CPU利用率和系统吞吐量。

目的:尽量 减少 主机对输入/输出控制的 干预 提高 主机与输入/输出的 并行程度

工作流程:

缺点:

使CPU经常处于 循环检测状态 ,造成 CPU的极大浪费 ,影响整个进程的 吞吐量

现在计算机系统广泛采用中断控制方式完成对I/O控制。

工作流程:

优点:

使CPU和I/O设备在某些时间段上 并行工作 ,提高 CPU利用率 系统吞吐量

DMA控制器结构:

DMA控制器中的寄存器:

工作流程:

缓冲区是用来 保存两个设备之间或设备与应用程序之间传输数据的内存区域

由于CPU的速度远远高于I/O设备,为了 尽可能使CPU与设备并行工作 ,提高系统的性能,通常需要 *** 作系统在设备管理软件中提供缓冲区管理功能。

在数据到达速率与数据离去速率不同的地方,都可以引入缓冲区。

引入缓冲的原因:

引入缓冲的主要作用:

最简单 的缓冲类型,在主存储器的系统区中 只设立一个缓冲区

用户进程发出I/O请求时, *** 作系统为该 *** 作分配一个位于主存的缓冲区。

当一个进程往这一个缓冲区中传输数据(或从这个缓冲区读取数据)时, *** 作系统正在清空(或填充)另一个缓冲区,这个技术称为双缓冲(Double Buffering),或缓冲交换(Buffering Swapping)。

在数据到达和数据离去的速度差别很大的情况下,需要增加缓冲区的数量。

多个缓冲区:

多个指针:

Getbuf过程:

Releasebuf过程:

进程使用完缓冲区后,使用Releasebuf过程 释放缓冲区

公共缓冲池中设置多个可供若干进程共享的缓冲区,提高缓冲区的利用率。

缓冲池的组成:

支持设备分配的数据结构需要记录设备的状态(忙或空闲)、设备类型等基本信息。

系统为每个设备建立一张设备控制表,多张设备控制构成设备控制表集合。

每张设备控制表,包含:

系统为每个控制器设置一张 用于记录该控制器信息 的控制器控制表。通常包含:

系统为每个通道设备设一张通道控制表,通常包含:

记录了 系统中全部设备 的情况,每个设备占一个表目,其中包括:

关键点:是否具备 “请求和保持” 的条件。

基本含义: 应用程序独立于具体使用的物理设备

应用程序中,使用 逻辑设备名称 来请求使用某类设备。

系统在实际执行时,必须使用 物理设备名称

实现设备独立性 带来的好处

设备独立软件的功能:

独占设备的分配程序:

在多道程序环境下,利用 一道程序 来模拟 脱机输入 时的 外围控制机 的功能,把低速I/O设备上的数据传送到高速输出磁盘上,再利用 另一道程序 来模拟 脱机输出 外围控制机 的功能,把数据从磁盘传送到低速输出设备上。

这种在 联机情况下实现的同时外围 *** 作 称为SPOOLing。

SPOOLing的 组成

利用SPOOLing技术 实现共享打印机

SPOOLing的 特点

输入输出软件总体目标是 将软件组织成一种层次结构

低层软件 用来屏蔽硬件的具体细节。

高层软件 则主要是为用户提供一个简洁、规范的界面。

设备管理的4个层次:

将发出I/O请求而被阻塞的进程唤醒。

设备驱动程序是 I/O进程与设备控制器之间的通信程序 ,其主要任务接受上层软件发来的抽象的I/O请求,如 read 和 write 命令,把它们转换为具体要求后,发送给设备控制器启动设备去执行。

磁盘存储器不仅 容量大,存取速度快 ,而且可以实现 随机存取 ,是存放大量程序和数据的理想设备。

磁盘管理的 重要目标 :提高磁盘 空间利用率 和磁盘 访问速度

一个物理记录存储在一个扇区上,磁盘存储的物理记录数目是由 扇区数、磁道数 磁盘面数 决定的。

磁盘类型:

磁盘访问时间:

磁盘调度的一个重要目标是 使磁盘的平均寻道时间最少 。包括有:

最简单 的磁盘调度算法。

根据进行 请求访问磁盘的先后顺序 进行调度。

优点:公平、简单,且每个进程的请求都能依次得到处理,不会出现某一进程的请求长期得不到满足的情况

缺点:平均寻道时间较长

该算法选择的进程:其 要求访问的磁道 当前磁头所在的磁道 距离 最近 ,以使每次的寻道时间最短。

优点:每次的寻道时间最短

缺点:可能导致某个进程发生 饥饿 现象

又叫 电梯调度算法 ,不仅考虑到要访问的磁道与当前磁道的距离,更优先考虑磁头当前的移动方向。

优点:有较好的寻道性能,防止 “饥饿” 现象

缺点:有时候进程请求被大大推迟

在扫描算法的基础上,规定磁头是单向移动的。将最小磁道号紧接着最大磁道号构成循环,进行循环扫描。

NStepSCAN :FCFS + SCAN

FSCAN

具体 *** 作如下:

1、打开力控开发系统,双击IO设备组态,在PLC类别中选择MITSUBISHI-A、ANA系列以太网。

2、新建一个设备,输入设备名称,点击下一步。

3、设备IP地址处填入YC8000-FX模块的IP地址,端口填入5551,点击下一步。

4、设备类型选择BINARY,点击完成。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/6867022.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-29
下一篇 2023-03-29

发表评论

登录后才能评论

评论列表(0条)

保存