网站收录登录入口,品牌设计包括哪些设计,网站长图怎么做,手机制作ppt的软件免费常见设备接口类型#xff1a;
1、字符设备#xff1a;键盘鼠标、串口 a.以字节为单位顺序访问 b.I/O命令通常使用文件访问接口和语义
2、块设备#xff1a;磁盘、磁带、光驱 a.均匀的数据块访问 b.I/O命令通常使用文件系统接口#xff0c;也可以使用内存映射访问
3、网络…常见设备接口类型
1、字符设备键盘鼠标、串口 a.以字节为单位顺序访问 b.I/O命令通常使用文件访问接口和语义
2、块设备磁盘、磁带、光驱 a.均匀的数据块访问 b.I/O命令通常使用文件系统接口也可以使用内存映射访问
3、网络设备以太网、无线、蓝牙 a.格式化的报文交换 b.I/O网络报文通过网络接口支持多种网络协议。
同步与异步I/O
1、阻塞I/O发出请求后等待数据读出或写入完毕
2、非阻塞I/O发出请求后不等待立即返回返回值为成功传输的字节数
3、异步I/O读数据时使用指针标记好用户缓冲区立即返回稍后内核将填充缓冲区并通知用户写数据内核写入完毕后通知用户
I/O结构
北桥连高速设备南桥连IO设备。 I/O数据传输
CPU与设备控制器的数据传输
1、程序控制I/O a. 通过CPU的in/out或者load/store传输所有数据 b. 特点是硬件简答编程容易但是小伙CPU时间适用于简单的小型的设备I/O
2、直接内存访问DMA a. 设备控制器可直接访问系统总线 b. 控制器直接与内存湘湖传输数据 c. 特点是设备传输数据不影响CPU只需要CPU参与设置适用于高吞吐量的I/O。 I/O设备通知操作系统的机制
1、CPU主动轮询 a. I/O设备在特定状态寄存器中放置状态和错误信息 b. 操作系统定期检测状态寄存器 c. 特点是简单I/O操作频繁或不可预测时开销较大并且延时较大
2、设备中断 a. CPU在I/O之前设置任务参数 b. CPU在发出I/O请求之后继续执行其他任务 c. I/O设备处理I/O请求 d. I/O设备处理完成时触发CPU中断请求 e. CPU接收中断分发到相应中断处理例程 f. 特点是处理不可预测事件事件效果好但是中断较多时开销较高 g. 实际操作系统中一些高带宽设备可能结合了轮询和设备中断第一次传入数据包之前采用中断轮询后面的数据包知道硬件缓存为空。 磁盘调度 通过优化磁盘访问请求顺序来提高磁盘访问性能。
1、寻道时间是磁盘访问最耗时的部分
2、同时会有多个在同一磁盘上的I/O请求
3、随机处理磁盘访问请求的性能表现很差
调度算法
1、FIFO按顺序处理请求公平对待所有进程在有很多进程的情况下接近随机调度的性能 2、SSTF最短服务时间优先选择离磁臂当前位置最近的请求执行 3、扫描算法磁臂在一个方向上移动访问所有未完成的请求直到磁臂到达该方向上最后的磁道也称电梯算法 4、循环扫描算法限制为仅在一个方向上扫描当最后一个磁道也被访问过了后磁臂返回到磁盘的另外一端再次进行
5、C-LOOK算法磁臂先到达该方向上最后一个请求的位置然后立即反转
6、N步扫描算法一侧请求过多时磁头会有粘着现象后面磁道无法响应将磁盘请求队列分成长度为N的子队列按FIFO算法依次处理所有队列扫描算法处理每个队列
7、双队列扫描算法只有两个队列交替使用扫描算法处理两个队列新生成的I/O请求放入另一个队列中。
磁盘缓存
概念
缓存是数据传输双方访问速度差异较大时引入的速度匹配中间层。
磁盘缓存是磁盘扇区在内存中的缓存区。类似于虚拟内存管理只是方向相反。但是磁盘的访问频率是远低于虚拟存储中的内存访问频率因此次磁盘缓存调度算法会比虚拟存储复杂。
单缓存与双缓存 单缓存只有一个缓存区任意时刻只有一端可以对缓存区进行操作速度受到限制双缓存包含两个缓存区设备与用户进程可以分别操作一个缓冲区当一个缓冲区1写完并且缓冲区2读完了可以将两个缓冲区交换继续操作。
访问频率置换算法
在一段密集磁盘访问之后 LFU算法的引用计数会增加到很大之后的变化无法反应当前的引用情况。因此该算法考虑磁盘访问的密集特征对密集引用不计数在短周期内使用LRU算法在长周期中使用LFU算法。 具体实现过程为维护一个特殊栈LRU的要求栈中缓存块被访问时移到栈顶。与LRU不同是栈被分为三个区域新区域、中间区域和旧区域。如果该块在新区域中引用计数不变否则引用计数加1在旧区域中找计数最小的块置换出去。这样就将LRU与LFU结合在一起并且避免了密集访问的影响。