UnixLinux操作系统内核结构2017秋-复习大纲-思考题-有答案.docxVIP

  • 22
  • 0
  • 约5.24千字
  • 约 5页
  • 2020-05-17 发布于湖南
  • 举报

UnixLinux操作系统内核结构2017秋-复习大纲-思考题-有答案.docx

结构上数据缓冲池是由若干个数据缓冲区hash链表所构成,每个hash链表中的缓冲区具有相同的hash值。当hash值的取值范围增大时,hash链的个数增加,每个hash链的平均长度减少,在链中的查询时间就会降低。请问hash值的取值范围是否越大越好?为什么? 答:hash值的取值范围不是越大越好,原因如下: 因为hash值取值范围越大,数据缓冲池中的数据缓冲区hash链表也就越多,由于每个hash链都有一个表头标,所以当hash链较多时,系统为表头标分配的内存空间也就越多,每个hash链上的缓冲区也就越少(缓冲区数量固定的情况下),有可能每个hash链上就只跟了1、2个缓冲区,却也要为这一hash链分配一个表头标,整个hash链所占用的将近一半的内存被用来分配个表头标,从内存空间的利用效率上来说是非常低的; 同时,hash链越多,给管理数据缓冲池也带来了更多的麻烦,散列函数把缓冲区均匀地分布在一组hash链上;根据该数据块所对应的设备号和块号数据对取余计算其 hashno(散列、杂凑)值,根据其 hashno 的值放入到相应 hash 链表的链头。当hash链越多,每个hash链上缓冲区的数量的均匀性无法保证。 在一个较大的物理磁盘空间上建立文件系统时,一种方法是建立一个单一的采用两级存储结构的文件系统,另一种方法是建立多个采用一级存储结构的文件系统。分析这两种方法各自的优缺点

文档评论(0)

1亿VIP精品文档

相关文档