文件系统
gfang
关注linux、开源和互联网。目前从事SAN文件系统驱动开发.微博:http://weibo.com/frank8609 欢迎交流
展开
-
Linux内核的文件预读详细解析
Linux文件预读算法磁盘I/O性能的发展远远滞后于CPU和内存,因而成为现代计算机系统的一个主要瓶颈。预读可以有效的减少磁盘的寻道次数和应用程序的I/O等待时间,是改进磁盘读I/O性能的重要优化手段之一。Linux文件预读算法磁盘I/O性能的发展远远滞后于C转载 2011-09-21 09:42:27 · 533 阅读 · 0 评论 -
Wdm.h、Ntddk.h 和 Ntifs.h 的组织结构
http://msdn.microsoft.com/zh-cn/library/ff554739(VS.85).aspx在 Windows Vista 版本的 WDK 之前,用于驱动程序开发的主要头文件为 Wdm.h、Ntddk.h 和 Ntifs.h,它们包含很多重复声明。从 Windows Vista 版本的 WDK 开始,Wdm.h、Ntddk.h 和 Ntifs.h原创 2012-10-26 15:33:16 · 2126 阅读 · 0 评论 -
Linux IO调度器相关算法介绍
Linux IO调度器相关算法介绍转自:http://www.realzyy.com/?p=984IO调度器(IO Scheduler)是操作系统用来决定块设备上IO操作提交顺序的方法。存在的目的有两个,一是提高IO吞吐量,二是降低IO响应时间。然而IO吞吐量和IO响应时间往往是矛盾的,为了尽量平衡这两者,IO调度器提供了多种调度算法来适应不同的IO请求场景。其中,对数转载 2012-10-19 14:25:47 · 807 阅读 · 0 评论 -
用poolmon来查找内存泄露
用poolmon来查找内存泄露poolmon C:\WinDDK\7600.16385.1\tools\Other\i386\poolmon.exegflags C:\WinDDK\7600.16385.1\Debuggers\gflags.exe[步骤]:1).修改注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\C原创 2012-04-11 19:05:20 · 3655 阅读 · 0 评论 -
LINUX softraid 管理
转自:http://hi.baidu.com/xms_hero/blog/item/62fd0354dc2c01143b293525.htmlLINUX softraid 管理工具软件包括 mdadm, raidtools 两个软件包, 这两个是相同功能的软件包, mdadm 功能强大,是新的.raidtools 是老的软件包, 功能有限, 但却是 RedHat A转载 2012-03-08 17:38:38 · 987 阅读 · 0 评论 -
linux内核md模块raid10数据落盘方式解析及几个关键参数的解读
关键词: linux software raid, md, raid10, r10_private_data_s, near_copies, far_copies, far_offset内核版本:2.6.18linux内核md模块实现的RAID10有三种laout模式,分别为near, far和offset。当用mdadm命令来创建RAID10盘时,可以选用这三种中的一种(其实ne原创 2012-02-29 19:51:05 · 1550 阅读 · 0 评论 -
修改disk驱动监控文件系统的IO特征
[关键词]:disk.sys 文件系统 IO特征[方法]:DDK中包含了disk和clallpnp的源码(路径:src\storage\class\disk),修改disk的源码并编译成功后(主要是生成CDO,添加对自定义IOCTL的响应及对读写的监控等工作),将其替换system32\dirvers下的disk.sys,可将其用于监控记录我们需要分析其特征的文件系统IO。测试过程原创 2012-02-21 21:00:12 · 655 阅读 · 0 评论 -
STATUS_MUTANT_NOT_OWNED
[关键词]:MUTEX,完成例程,[状况]:驱动IoCallDirver之前先WaitForSingleObject以获取MUTEX,然后设置完成例程。在完成例程里ReleaseMutex,系统蓝屏。[原因]:“A mutex object can be released only by the thread that currently holds the mutex. ”获取MUT原创 2011-12-31 14:17:39 · 871 阅读 · 0 评论 -
驱动开发技巧:去掉try except让驱动蓝屏直接暴露出错位置
个人总结问题:如下的一段驱动代码里发生了异常,执行了ErrorLog(...); 但是FunctionA()里的内容特别丰富,层次多而且调用关系很复杂,单步跟踪费时费力,很难找出异常究竟出在哪。try{FunctionA();}except(EXCEPTION_EXECUTE_HANDLER){ErrorLog(...);}采用办法:原创 2011-11-04 21:52:10 · 1337 阅读 · 0 评论 -
删除驱动符号链接出错-变量作用域和RtlInitUnicodeString的问题
关键词: windows驱动开发 删除符号链接出错 变量作用域问题 RtlInitUnicodeString摘要:NT式驱动中,在DriverUnload()中尝试删除之前创建的符号链接失败,最后发现原因是变量作用域和RtlInitUnicodeString的问题原始存在问题的简化代码如下:typedef struct _DEVICE_EXTENSION { UIN原创 2012-11-06 23:51:26 · 1158 阅读 · 0 评论