上一页 1 ··· 3 4 5 6 7 8 9 下一页
摘要: 标 题: 【分享】缓存管理器作 者: yaolibing时 间: 2009-07-31,21:48:35链 接: http://bbs.pediy.com/showthread.php?t=94762简言之,就是会预先读入文件和延迟写入文件。当ReadFile时,会调用NtReadFile()系统调用,它会构造一个IRP下发到FSD,FSD会检查这个IRP看是不是可以缓存的,是的话,如果还没有为此文件建立缓存的话,就会调用CcInitializeCacheMap()函数建立缓存,它里面会调用内存管理器(VMM)函数建立一个节对象。当用到时,会把这个节对象(和文件关联)映射到内核空间。如果IRP 阅读全文
posted @ 2012-04-27 11:44 onemuji 阅读(487) 评论(0) 推荐(0) 编辑
摘要: Windows 文件过滤驱动经验总结作者:ai3000本文转载自驱动开发网看了 ChuKuangRen 的第二版《文件过滤驱动开发教程》后,颇有感触。我想,交流都是建立在平等的基础上,在抱怨氛围和环境不好的同时应该先想一想自己究竟付出了多少?只知索取不愿付出的人也就不用抱怨了,要怪也只能怪自己。发自己心得的人无非是两种目的,一是引发一些讨论,好纠正自己错误的认识,以便从中获取更多的知识使自己进步的更快。二是做一份备忘,当自己遗忘的时候能够马上找到相关资料。我这里也总结了近几年做文件过滤驱动时所积累下来的一些小小经验,这分笔记也是看了 ChuKuangRen 的教程后,临时想到的一小部分而已,是 阅读全文
posted @ 2012-04-27 11:40 onemuji 阅读(871) 评论(0) 推荐(0) 编辑
摘要: 转自:http://hi.baidu.com/xms_hero/blog/item/62fd0354dc2c01143b293525.htmlLINUX softraid 管理工具软件包括 mdadm, raidtools 两个软件包, 这两个是相同功能的软件包, mdadm 功能强大,是新的.ra... 阅读全文
posted @ 2012-03-08 17:38 onemuji 阅读(602) 评论(0) 推荐(0) 编辑
摘要: 关键词: linux software raid, md, raid10, r10_private_data_s, near_copies, far_copies, far_offset内核版本:2.6.18linux内核md模块实现的RAID10有三种laout模式,分别为near, far和of... 阅读全文
posted @ 2012-02-29 19:51 onemuji 阅读(536) 评论(0) 推荐(0) 编辑
摘要: [关键词]:disk.sys 文件系统 IO特征[方法]:DDK中包含了disk和clallpnp的源码(路径:src\storage\class\disk),修改disk的源码并编译成功后(主要是生成CDO,添加对自定义IOCTL的响应及对读写的监控等工作),将其替换system32\dirvers下的disk.sys,可将其用于监控记录我们需要分析其特征的文件系统IO。测试过程中,利用IOCTL选择性地记录IO信息是效率的关键。 阅读全文
posted @ 2012-02-21 21:00 onemuji 阅读(407) 评论(0) 推荐(0) 编辑
摘要: [关键词]:过滤驱动,设备堆栈,绕过设备堆栈[问题描述]:需要分析读写驱动发往disk.sys的IO特征来为性能提升提供支持,因此准备做一个过滤驱动diskFilter attach到disk.sys设备栈,然后在过滤驱动里记录发往下层的读写IO信息。工作流程都设计好了,准备开始编码了,突然发现不行,很可能没有效果。为什么呢?因为disk的设备堆栈可能从底向上为disk---PartMgr---diskFilter。但问题在于,处于安全性和效率的考虑,读写驱动直接绕过了上述的设备堆栈,直接列举出disk.sys的设备对象,然后把IO直接发到这些设备对象。然后diskFilter就干等吧,啥也等 阅读全文
posted @ 2012-02-07 22:07 onemuji 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 关键词:双向链表 其实是比较简单的问题 经验丰富的人就不用往下看了。驱动中把所有找到的盘插入到双向链表尾(listHead),然后再从头遍历链表,把符合条件的结点放入另一个链表(disks)中。默认listHead中的第一个结点肯定符合条件,将其插入disks尾。完成这个动作之后,再取第二个结点时,listHead里的链接就变了。看起来很奇怪的问题。LIST_ENTRY listHead; LIST_ENTRY disks;struct DISK_INFO { LIST_ENTRY entry; ... }... pListEntry = listHead.Flink; Di... 阅读全文
posted @ 2012-02-02 19:01 onemuji 阅读(292) 评论(0) 推荐(0) 编辑
摘要: [关键词]:MUTEX,完成例程,[状况]:驱动IoCallDirver之前先WaitForSingleObject以获取MUTEX,然后设置完成例程。在完成例程里ReleaseMutex,系统蓝屏。[原因]:“A mutex object can be released only by the thread that currently holds the mutex. ”获取MUTEX的线程和完成例程中试图释放MUTEX的线程不是同一个。[Debug过程]:略[DUMP]: 部分 SYSTEM_THREAD_EXCEPTION_NOT_HANDLED (7e) This is a very 阅读全文
posted @ 2011-12-31 14:17 onemuji 阅读(254) 评论(0) 推荐(0) 编辑
摘要: NAS(Network-attached storage,网络连接存储)是一种连接到局域网的基于IP的文件共享设备,它消除了对多个文件服务器的需求,通过文件级的数据访问和共享,提供了存储的整合。文件共享是指在网络上进行文件存储和访问。文件共享环境的实现例子:FTP,分布式文件系统(DFS),由文件共享协议实现的传统的客户/服务器模型。NAS设备拥有以下组件:NAS头(包括CPU和内存);一个或多个网络接口卡;一个优化过的操作系统,用于管理NAS的功能;工业标准存储协议,用于连接和管理物理存储资源,如ATA、SCSI或FC等。客户端通过采用标准协议的IP网络对NAS设备进行访问。NAS使用网络和 阅读全文
posted @ 2011-11-30 15:42 onemuji 阅读(1364) 评论(0) 推荐(0) 编辑
摘要: 这里先大致介绍一下Hadoop. 本文大部分内容都是从官网Hadoop上来的。其中有一篇介绍HDFS的pdf文档,里面对Hadoop介绍的比较全面了。我的这一个系列的Hadoop学习笔记也是从这里一步一步进行下来的,同时又参考了网上的很多文章,对学习Hadoop中遇到的问题进行了归纳总结。 言归正传,先说一下Hadoop的来龙去脉。谈到Hadoop就不得不提到Lucene和Nutch。首先,Lucene并不是一个应用程序,而是提供了一个纯Java的高性能全文索引引擎工具包,它可以方便的嵌入到各种实际应用中实现全文搜索/索引功能。Nutch是一个应用程序,是一个以Lucene为基础实现的搜索引擎 阅读全文
posted @ 2011-11-26 13:13 onemuji 阅读(183) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 下一页