操作系统之输入输出(补充)

什么是缓冲区?缓冲区的作用是啥?

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

缓存区的作用

1)缓和cpu与io设备之间速度不匹配的矛盾

2)减少对cpu的中断频率 放宽对cpu中断相应时间的限制

3)解决数据粒度不匹配的问题

4)提高cpu与io设备之间的并行性

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

缓冲区管理的策略

单缓冲:在设备和处理机之间设置一个缓冲区.设备和处理机交换数据时,先把被交换的数据写入缓冲区,然后需要数据的设备或处理机从缓冲区取走数据.

双缓冲:在单缓冲的基础上,提高了处理机和输入设备的并行操作速度

循环缓冲:包含多个大小相等的缓冲区,每个缓冲区中有一个连接指向下一个缓冲区,最后一个缓冲区指向第一个缓冲区,多个缓冲区构成一个环形.

缓冲池:多个系统共用的缓冲区组成的,缓冲区按其使用情况可以形成三个队列:空缓冲队列,装满输入数据的缓冲队列和装满输出数据的缓冲队列.

当输入进程需要输入数据时并从空缓冲队列的队首摘下一个空缓冲区把它作为收容输入工作缓冲区然后把输入数据输入其中装满后再将它挂在输入队尾 当计算进程需要输入数据数时从输入这里取得一个缓冲区作为提取输入工作缓冲区计算进程从中提取数据数据用完后再将它挂到空缓冲队尾当计算进程需要输入数据时便从空缓冲队列的队收取一个空缓冲区作为收容输出工作缓冲区当其中装满输出数据后再把它挂到空缓冲队列的队尾.

高速设备和缓冲区的异同

高速缓存和缓冲区都是介于高速设备和低速设备之间的

高速缓存存放数据存放的是低速设备上的某些数据的复制数据。就是高速缓存上有的,低速设备上必然有

高速缓存存放的是高速设备,经常要访问的数据,若高速设备要访问的数据不在高速设备中的高速设备,就要访问低速设备

缓冲区存放的是低速设备传送给高速设备的数据。而这些数据在低速设备上却不一定有备份,那些数据再从缓冲区传送到高速设备,高速设备和低速设备的通信都要经过缓冲区,高速设备永远不会直接去访问低速设备

展开阅读全文

页面更新:2024-05-21

标签:处理机   寄存器   粒度   缓冲区   队列   存储器   输入输出   频率   进程   操作系统   内存   作用   速度   硬件   数据   设备   工作   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top