IO缓冲区
目的
解决CPU与设备之间速度不匹配的矛盾,协调逻辑记录大小和物理记录大小不一致的问题,提高CPU和设备的并行性,减少I/O操作对CPU的中断次数,防空对CPU中断响应时间的要求。
缓冲区
在内存中开辟的存储区,专门用于临时存放I/O操作的数据。
操作
写操作
将数据送至缓冲区,直到装满,进程继续计算,同时系统将缓冲区的内容写到设备上。
读操作
系统将设备上的物理记录读至缓冲区,根据要求将当前所需要的数据从缓冲区中读出并传送给进程。
单缓冲
操作系统在主存的系统区中开设一个缓冲区
输入
将数据读至缓冲区,系统将缓冲区数据送至用户区,应用程序对数据进行处理,同时系统读入接下来的数据。
输出
把数据从用户区复制到缓冲区,系统将数据输出后,应用程序继续请求输出。
双缓冲
输入
设备先将数据输入缓冲区1,系统从缓冲区1把数据传到用户区,供应用程序处理,同时设备将数据传送到缓冲区2。
输出
应用程序将数据从用户区传送到缓冲区1,系统将数据传送到设备,同时应用程序将数据传送到缓冲区2.
循环缓冲
操作系统分配一组缓冲区,每个缓冲区都有指向下一个缓冲区的链接指针,构成循环缓冲。
解决设别和进程速度不匹配的问题
为系统公共资源,供进程共享并由系统统一分配和管理
Last updated