40、Windows 2000 文件缓存性能与调优解析

Windows 2000 文件缓存性能与调优解析

1. MDL 接口概述

MDL 即内存描述符列表(Memory Descriptor List),它是一组一个或多个实际地址文件缓存指针。与映射接口类似,MDL 接口比通用复制接口更高效,因为它将文件数据仅存储在内存的一个位置。不过,使用 MDL 接口的应用程序必须能够处理管理实际地址的所有复杂性。

1.1 MDL 接口的工作原理

Windows 2000 文件服务器服务和 IIS 都会使用 MDL 接口,将实际地址缓存指针直接发送到直接内存访问(DMA)网络接口卡(NIC)。支持 DMA 的外围卡可以直接访问 PC 内存,而无需 CPU 干预。但 DMA 卡只能处理实际地址,若使用虚拟地址则需要进行虚拟到实际地址的转换,这只有处理器才能完成。因此,为了避免占用 CPU 资源,DMA 卡必须仅在实际内存位置上操作。

当 DMA 设备接收到有效的实际地址后,它可以在该实际内存位置读写数据,而无需处理器进一步干预。操作完成后,DMA 设备会发出中断信号,表明请求的操作已完成。几乎所有的 NIC 都支持 DMA,有时会看到“总线主控 DMA”等规格说明,表明该卡使用了 DMA。即便卡的文档未明确提及 DMA,但如果它能直接读写 PC 内存,也意味着支持 DMA。

由于 MDL 接口处理的是实际地址而非虚拟地址,缓存管理器会确保这些缓存页面一直保留在内存中,直到文件服务器服务将它们标记为已完成。与映射接口一样,文件服务器服务必须向缓存管理器发出信号,表明它已使用完文件缓存指针。具体做法是,当 DMA 操作完成时,NIC 会生成一个中断,该中断由文件服务器服务的延迟过程调用(DPC)处理,DPC

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值