论文摘要
随着计算机应用的不断发展,对应用系统执行效率的优化越来越重要。一个首要的问题就是要了解现有系统的运行状况,发现其中的规律和存在的问题,从而进行系统的改进或重新设计。这需要采集计算机软硬件运行时所产生的各种信息和数据,而目前在Windows平台上并没有很好的工具来采集这些信息,因此设计一个基于Windows平台的监控系统变得重要。设计并实现了文件级的I/O监控系统。此监控系统是一个文件系统过滤器,位于I/O管理器和底层文件系统驱动之间,在文件系统驱动之上。它不需要处理所有的文件系统操作,可以只截取指定进程或目录的I/O操作部分来处理,而将不需要处理的I/O操作传递给底层的文件系统驱动去完成。系统设计分为内核模块,用户模块和通信模块,用户模块用于在应用层监控进程并提供可监控的进程列表,内核模块在文件系统层监控进程获得进程的详细I/O信息,比如I/O操作的对象、路径、起始时间、花费时间等,通信模块将用户模块的用户指定监控进程标识传递给内核模块和将内核模块得到的监控信息反馈给应用模块,并详细讲述了各个模块的具体实现。文件系统过滤驱动是扩展操作系统功能强有力的方法。通过测试QQ软件,发现软件读写文件的规律,I/O管理器会按缓存大小将读写需求量大的操作分成一些读写需求适量的操作并连续发送给文件驱动,并找到了QQ软件最常读写的文件,可以针对最频繁读取的文件做读取优化,提高软件运行效率。经验证此系统有很好的稳定性,但还有很多功能待完善。总的来说为系统优化提供了一定的信息以供分析,有重要的理论和实践意义。