IO系统
来源:互联网 发布:什么翻译软件好用 编辑:程序博客网 时间:2024/05/17 03:56
I/O
三种常见的设备接口:字符设备(键盘、鼠标),块设备(磁盘、光驱),网络设备(无线、以太网)。
(1)字符设备:以字节为单位顺序访问;get()put(),文件访问接口和语义;
(2)块设备:以数据块为单位,均匀的大数据;I/O接口,文件接口,内存映射;
(3)网络设备:格式化的报文,Send/receive网络报文,网络接口支持网络协议。
(1)阻塞I/O:“wait”,读数据read,进程将进入等待状态,直到完成数据读出;
写数据write,进程将进入等待状态,直到完成数据写入。
(2)非阻塞I/O:“don’t wait”,立即从read或write系统调用返回,返回值为成功传输字节。传输字节有可能为零。
(3)异步I/O tell me later:
CPU与设备的连接:
IO指令:通过I/O端口号访问设备寄存器;
IO请求生存周期
CPU与设别控制器的数据传输:
程序控制I/O,ProgrammeI/O,通过CPU的in,out传输所有的,特点是硬件简单,但消耗CPU,适用于简单的、小型的设备I/O;直接内存访问DMA:适用于高吞吐量I/O,设备控制器可直接访问系统总线,直接与内存互相传输数据。
IO操作系统方式(1)轮询:IO设备在特定的状态寄存器中放置状态和错误信息,操作系统定期检测状态寄存器,开销大。(2)设备中断:CPU在IO之前设置任务参数,发出IO请求后执行其他,IO设备处理请求处理完成后出发CPU中断请求。
磁盘调度:寻道时间(定位到期望的磁道所花费的时间),旋转延迟(从零扇区到目的地花费的时间,平均延时是磁盘转一周时间的一半)。
磁盘调度算法优化磁盘访问时间:寻道时间是磁盘访问最耗时的部分,同时又多个在同一磁盘上的IO请求,随机处理磁盘性能差。
(1)先进先出FIFO算法:
(2)最短服务时间优先SSTF算法:选择当前位置需要移动时间最少的。
(3)扫描算法SCAN:在一个方向上移动,访问所有未完成的请求,调换方向。
(4)循环扫描算法C-SCAN:公平性;
(5)C-LOOK算法:先到达最后一个请求后,折访;
(6)N步扫描N-step-SCAN:磁头粘着现象(磁头停留在某处不动的情况),将其分为n个子队列(先来后到),对每个队列扫描算法。
(7)双队列扫描算法FSCAN:只分为两个队列,交替使用扫描算法。
磁盘缓存:数据传输双方访问速度差异较大时,引入的速度匹配中间层,是磁盘扇区在内存中的缓冲区。单缓存Single Buffer Cache,双缓存Double Buffer Cache
访问频率置换算法Frequency-based Replacement:在短周期中使用LRU,在长周期内使用LFU。
- io系统
- IO系统
- IO系统
- 系统IO
- 系统IO
- IO系统
- [IO系统]01 IO子系统
- Java 的 IO 系统
- Java的IO系统
- Java的IO系统
- Java IO系统
- Java IO 系统
- Java的IO系统
- Java IO系统
- java IO系统
- Java IO系统
- io系统总结
- Java的IO系统
- 指针函数和函数指针
- HDU 钥匙计数之一
- 弗罗贝尼乌斯范数(Frobenius norm)
- ViewPager实现页面滑动的学习与使用
- AVL树旋转操作图解
- IO系统
- HDU 不容易系列之(4)——考新郎
- 内部类
- 【教材】 用Cheat Engine查找特殊码(简易版)
- Valid Parentheses
- SQLite数据库框架ORMLite与GreenDao的简单比较
- 随笔
- 1244的起源
- hdu 2795 Billboard 线段树 点更新