当前位置: 首页 > news >正文

第五章 I/O管理 八、缓冲区管理

目录

一、定义

 二、缓冲区的作用

三、单缓冲

1、定义:

2、例子1

3、例子2

四、双缓冲

1、定义:

2、例子1:

3、例子2:

五、单缓冲和双缓冲的区别

六、循环缓冲区

1、定义:

七、缓冲池

1、定义:

八、总结


一、定义

缓冲区是一个存储区域,可以由专门的硬件寄存器组成,也可利用内存作为缓冲区。

  • 使用硬件作为缓冲区的成本较高,容量也较小,一般仅用在对速度要求非常高的场合(如存储器管理中所用的联想寄存器,由于对页表的访问频率极高,因此使用速度很快的联想寄存器来存放页表项的副本)
  • 一般情况下,更多的是利用内存作为缓冲区,“设备独立性软件”的缓冲区管理就是要组织管理好这些缓冲区

 二、缓冲区的作用

 如:输出进程每次可以生成一块数据,但I/O设备每次只能输出一个字符

三、单缓冲

1、定义:

假设某用户进程请求某种块设备读入若干块的数据。若采用单缓冲的策略,操作系统会在主存中为其分配一个缓冲区(若题目中没有特别说明,一个缓冲区的大小就是一个块)。

注意:

当缓冲区数据非空时,不能往缓冲区冲入数据,只能从缓冲区把数据传出;当缓冲区为空时,可以往缓冲区冲入数据,但必须把缓冲区充满以后,才能从缓冲区把数据传出。

2、例子1

3、例子2

四、双缓冲

1、定义:

假设某用户进程请求某种块设备读入若干块的数据。若采用双缓冲的策略,操作系统会在主存中为其分配两个缓冲区(若题目中没有特别说明,一个缓冲区的大小就是一个块)

2、例子1:

3、例子2:

五、单缓冲和双缓冲的区别

六、循环缓冲区

1、定义:

将多个大小相等的缓冲区链接成一个循环队列。

七、缓冲池

1、定义:

  • 缓冲池由系统中共用的缓冲区组成。
  • 这些缓冲区按使用状况可以分为:空缓冲队列、装满输入数据的缓冲队列(输入队列)、装满输出数据的缓冲队列(输出队列)。
     

八、总结

http://www.lryc.cn/news/213346.html

相关文章:

  • 笔记软件推荐!亲测好用的8款笔记软件!
  • MPJQueryWrapper 用法
  • 50元买来的iPhone手机刷机经验
  • 数据结构学习笔记——链式表示中的双链表及循环单/双链表
  • DC电源模块去除输出电源中的高频噪声及杂波
  • 【驱动开发】注册字符设备使用gpio设备树节点控制led三盏灯的亮灭
  • 面向制造企业的持续发展,2023数字化工单管理系统创新篇章-亿发
  • mysql 元数据锁 MDL读锁与MDL写锁
  • 批量预处理哨兵2影像
  • Unity地面交互效果——2、动态法线贴图实现轨迹效果
  • 视频剪辑达人教您:如何运用嵌套合并技巧制作固定片尾
  • 【腾讯云 TDSQL-C Serverless 产品体验】TDSQL-C MySQL Serverless最佳实践
  • SQLyog连接数据库报plugin caching_sha2_password could not be loaded......解决方案
  • linux应急排查
  • Apache POI及easyExcel读取及写入excel文件
  • 为什么写作
  • python基于VGG19实现图像风格迁移
  • BoredHackerBlog: Cloud AV RT日记
  • 数据结构之“初窥门径”
  • css:transform实现平移、旋转、缩放、倾斜元素
  • 如何理解AutoGPT
  • 【网络知识必知必会】聊聊网络层IP协议
  • 66. 加一
  • 逻辑(css3)_强制不换行
  • 营收净利双降、股价下跌四成,敷尔佳带伤闯关“双11”
  • C语言KR圣经笔记 2.8自增和自减 2.9位运算 2.10赋值
  • PHP的Excel导出与导入
  • Ubuntu自建git服务器
  • 【面试专题】并发编程篇①
  • Linux Centos7安装后,无法查询到IP地址,无ens0,只有lo和ens33的解决方案