在UNIX系统中,块设备的延迟写有什么作用?系统是如何处理延迟写的?

admin2016-05-14  30

问题 在UNIX系统中,块设备的延迟写有什么作用?系统是如何处理延迟写的?

选项

答案写是指把某个内存区的信息传到缓冲区,然后把缓冲区的信息写到指定的物理设备上去。但当一次写操作未写满缓冲区时,就采用“延迟写”,即不急于写到设备上去,而是把这个缓冲区的标志置延迟写,表示具体写操作延迟到以后的某个时机进行,将其立即释放,并把这个buf挂到自由buf队尾,以实现缓存的充分共享,同时该缓冲仍留在原设备的buf队列中,这样可以减少写盘操作。当延迟写缓存被再次按原状使用并全部写满后,就可用异步方式写到块设备上去。 已经设置“延迟写”标志的缓存,虽然已经在自由buf队列中,实际上其内容尚未写到相应设备上。当它已经移到自由buf队列队首准备移作他用时,不应将其按一般自由buf处理,即不能立即对它进行重新分配,而是要提出I/O请求,将其内容写到相应设备的指定字符块上。为此将它从自由buf队列中抽出,而只留在原设备buf队列中。写操作结束后,这种缓存又被释放进入自由buf队列的末尾(也有插到队列首的算法),同时仍保留在原设备buf队列中。 延迟写的优点是提高了写操作的效率,但是由于没有将信息及时送到盘上去,所以在系统发生故障时可能丢失信息。为此,应当采取措施周期性地将延迟写缓存的内容写到块设备上去。在系统即将发生掉电故障时,也要做及时的刷新缓存的写盘处理工作。

解析
转载请注明原文地址:https://jikaoti.com/ti/dREaFFFM
本试题收录于: 操作系统题库理工类分类
0

最新回复(0)