43、Solaris文件系统缓存:原理、优化与性能分析

Solaris文件系统缓存:原理、优化与性能分析

1. 文件缓存简介

文件系统的一个重要特性是能够缓存文件数据,但在Solaris中,文件系统缓存是在虚拟内存系统中实现的。下面将介绍传统Unix的文件系统缓存方法以及Solaris的新缓存方法。

1.1 传统Unix文件系统缓存

传统Unix在I/O子系统中通过块缓存来实现文件系统缓存,它会将最近读写的块的副本保存在块缓存中。这个块缓存位于磁盘之上,用于缓存与物理磁盘扇区对应的数据。

当一个进程读取文件的一部分时,它会向操作系统发出读系统调用。文件系统需要在文件的直接/间接块中查找对应的磁盘块编号,然后向I/O系统请求该块。第一次读取时,I/O系统会从磁盘中检索该块;后续的读取则可以从块缓冲区缓存中读取磁盘块。需要注意的是,即使磁盘块已经缓存在内存中,每次进行缓存读取时,仍需要调用文件系统并查找物理块编号。

传统的缓冲区缓存通常由内核配置参数静态设置大小。更改缓冲区缓存的大小需要重新构建内核并重启系统。

1.2 Solaris页面缓存

Solaris采用了一种新的方法——页面缓存来缓存文件系统数据。页面缓存是Sun在1985年对SunOS 4的虚拟内存进行重写时开发的,并被System V Release 4 Unix所采用。如今,Linux和Windows NT也使用了页面缓存的衍生版本。

页面缓存与旧的缓存方法有两个主要区别:
- 动态大小 :它可以使用应用程序未使用的所有内存。
- 缓存文件块 :它缓存的是文件块,而不是磁盘

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值