FSFD入门 - 启

linux7下安装部署FastDFS(文件管理系统)详细教程+报错填坑 1.fastDFS介绍 fastDFS 是以C语言开发的一项开源轻量级分布式文件系统,他对文件进行管理,主要功能有:文件存储,文件同步,文件访问(文件上传/下载),特别适合以文件为载体的在线服务,如图片网站,视频网站等 2.下载 3.安装 wget https://github.com/happyfish100/libfastcommon/archive/V1.0.7.tar.gz 参考: https://www.cnblogs.com/qiaolizhi/p/12461901.html ... 阅读详情

其实文件系统过滤驱动不难。

假如你是新手,我可以先告诉你这句体会。然后是转折——难在业务结合。

 

在这个系列中我不准备长篇大论一些虽然有限但确实已经很详尽的资料中阐述过的基础知识。最权威的资料:1、NTFSI; 2、WDK; 3、fastfat源码。

第3其实就在2中,特意提出来是为了强调源码的重要性,osr上某位MVP说过这么一句话:you should considered it as the document。而且经历过一段学习之后你就会知道,FSFD开发中能有份无误或者说思路正确的源码做参考是件多么幸福的事情。

 

写这个系列是因为我自己走过那段痛苦的探索过程(虽然现在仍然在探索)。不过我的驱动开发经验也十分有限,希望本系列能帮到你。

 

以我自己的体会来讲,刚刚进入FSFD开发的空间的人最头疼的就是FSFD是什么?我凭什么相信你FSFD就能实现透明地过滤和控制IO操作尤其是透明加解密?当初我甚至因为自己的驱动能打印出一条期望中信息或者令系统挂起而小小地激动了把。

 

既然叫FSFD,那么文件系统(FS)就脱不了干系。OS执行体中和FSFD直接关联的内核模式组件有:I/O管理器(I/O M)、虚拟内存管理器(VMM)、缓存管理器(CM)。别看都是mm,都强得顶不住!其他组件也有点联系,不过关系没那么铁。I/O M负责I/O,只要有I/O就跟她有关(用户模式下和内核模式下I/O相关的行动尽在她的掌握),I/O M的主要任务简言之就是把用户模式的IO操作转换为内核模式下的IO操作,并通过几种方式把操作传给各个要对该操作进行处理的部分,然后把处理结果返回给上层应用;出于效率的设计目的,只要你敢在Windows 为NT上动动,就得跟VMM和CM打交道了,都得人家罩着。

为啥我还没说FS那?这里就轮到他了。举个例子,假如你要读磁盘上的某个文件,那你得先打开这个文件createFile()或者openFile(),其实也就是对系统服务API NtCreateFile()或者NtOpenFile()的调用,I/O M会把这个调用转换成majorfunction code为IRP_MJ_CREATE的IRP(I/O请求包),发给FS打开文件,接下来I/O M会作为发起者根据上层服务发出各种IRP来通知FS要做什么事情,然后FS会根据IRP分别跟VMM、CM、磁盘(暂时先简作磁盘)等组件交互,把你交付的任务一一做处理并把结果返回给你。看出来了没?I/O M虽强,但没有兵权,更像是个传令官;其他组件功能相对单一而强大,就像是将军和粮官等,都需要FS指挥和协调。所以,你可以认为文件I/O操作中挂帅掌印的是FS。

而你要写的FSFD,假如是upper filter那就是截获传令官给FS的命令,让他照你说的自己再做判断,由于FS很固执(处理逻辑都是既定的),相当于照你说的来了^.^而FS想返回给上层服务的结果也会在操作完成之后,在某一时刻(此时I/O M还没有检查这个结果)交到你手上,这时候你就可以为所欲为了,如把失败改成功把成功改失败,虽然不能完全把握后果,但理论上你的确可以这么做;假如是lower filter那就是截获FS给将军和粮官等系统其余组件及磁盘的“命令”,这个权力也不小=.=|||。是不是觉得FSFD生就奸臣相了?呵呵,其实NTFSI中有句话说的是正理,你在做的FSFD是FS的增值软件,即要扩展FS的价值。

这篇先到这,时间有点晚了,有空再补全。

S12XS Flash ECC配置与错误处理实战指南 在嵌入式系统中,非易失性存储器(如Flash)是存储程序代码和关键数据的核心。然而,由于数据保持力、耐久性以及单粒子翻转等因素,存储单元可能发生位翻转,导致静默数据损坏。为了确保数据可靠性,现代微控制器普遍集成了ECC(错误检查与纠正)机制,其原理基于汉明码等纠错码,通过增加校验位实现单错纠正、双错检测(SECDED)。这项技术对于构建高可靠性系统,尤其是在汽车电子和工业控制等安全攸关领域,具有至关重要的价值。它能够自动纠正单比特错误,并检测多比特错误,从而将系统从不可预见的硬件故障中保护出来。在实际应用中 阅读详情

相关推荐

S12Z Flash ECC实战:配置、错误处理与可靠性设计

在嵌入式系统中,存储器数据完整性是保障功能安全的核心。Flash存储器基于浮栅晶体管原理存储数据,但其物理特性使其易受宇宙射线、电源噪声等因素影响,导致位翻转。为解决此问题,现代微控制器普遍集成了ECC(错误检查与纠正)机制。ECC能自动检测并纠正单比特错误,并在发生无法纠正的双比特错误时发出警报,为系统提供了关键的数据保护层。其技术价值在于显著提升了系统在复杂电磁环境及长期运行下的鲁棒性,是汽车电子、工业控制等高可靠性领域不可或缺的技术。本文以NXP S12Z系列微控制器为例,深入剖析其Flash模块的硬

weixin_30352645的博客 434

FSFD(一个比较价值的File system Filter Driver)

FSFD(一个比较价值的File system Filter Driver)

NXP S12Z Flash ECC错误处理实战:寄存器配置与调试指南

在嵌入式系统开发中,Flash存储器的可靠性是保障系统稳定运行的基础。其内置的错误检测与校正机制,特别是ECC技术,能够自动检测并纠正因电磁干扰或辐射引发的数据位翻转。从原理上讲,ECC通过在写入数据时生成校验码,并在读取时进行校验与纠错,从而提升数据完整性。这项技术的核心价值在于,它能够有效预防因存储器软错误导致的系统功能异常或宕机,尤其在对安全性要求极高的汽车电子和工业控制领域至关重要。在实际应用中,工程师需要深入理解并正确配置Flash控制器的相关寄存器,例如错误配置寄存器与状态寄存器,以实现对单比特

weixin_32263417的博客 268

Java调用Zebra条码打印机打印条码、中英文数字条码混合标签

Java调用Zebra条码打印机打印条码、中英文数字条码混合标签,可自由控制格式和排版。

分布式文件系统 (fsfd)

在linux系统上安装 fastdfs docker 官网 点击进入下载 docker images 查看 是否有容器 需要关闭 新形防火墙 或者 设置防火墙 find / -name selinux 可查看 看到 /etc/sysconfig/selinux 设置防火墙 请自行学习 编辑 vi /etc/sysconfig/selinux SELINUX= 改 disabled 在动容器...

weixin_43729192的博客 888

文件系统Minifilter驱动(一)

文件系统Minifilter驱动  声明:本系列文章源于WDK,所有权利归原作者所有,翻译的目的只为交流和学习。除了商用你可以随意地使用这篇译文。但请不要删除声明。                                                     ——by jununfly  说明: 所有preoperation及postoperation

听风 1万+

【免费下载】 WinFsp 项目使用教程

WinFsp(Windows File System Proxy)是一个为Windows操作系统提供文件系统开发和运行时支持的平台。它允许开发者编写用户模式下的文件系统程序,而无需了解Windows内核编程。WinFsp类似于Linux和其他UNIX-like系统中的FUSE(Filesystem in Userspace),使得开发者能够轻松创建自定义文件系统,并通过标准的Windows文件AP...

gitblog_00504的博客 3322

FastDFS分布式存储

FastDFS是一个开源的轻量级分布式文件系统,纯C实现,目前提供了C、Java和PHP API。功能包括:文件存储,文件同步,文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以中小文件(建议范围:4KB < file_size <500MB)为载体的在线服务。Fast DFS系统有三个角色:跟踪服务器(Tracker Server)、存储服务器(Storage Server)和客户端(Client)。

henanxiaoman的博客 1814

文件系统Minifilter驱动(六)

二、Minifilter驱动的加载顺序和Altitudes Microsoft Windows XP, Windows 2000 SP4 with Update Rollup 1, 和较新的OS专门为在系统动时加载的FSFD和minifilter驱动提供了一套加载顺序组.  Legacy FSFD可以只绑定到一个现有FSD 栈的顶部,但不可以绑定到某个栈的中间.其结果是,驱动的动类

it技术学习 1699

文件系统过滤驱动之文件重命名解析

转自:http://www.osronline.com/article.cfm?id=85 What's in a Name? - Cracking Rename Operations Filter Drivers are one of the many different types of NT Kernel Mode Device Drivers. A filter driver i

1562

windows下编译xv6

开始学习xv6之前编译它是第一步骤,然而很多人可能和我一样用的是windows跑linux虚拟机,这样来回切换系统和共享文件显得十分麻烦。 在这样的背景下我就想直接在windows编译调试xv6会方便很多。   首先编译xv6涉及的工具包括gcc,binutils,make,qemu。 xv6需要能生成elf32格式的可执行文件的工具链,好在windows下已经有了mingw32这个gcc在

Mumu3w的博客 2583

Windows下编译运行xv6

开始学习xv6之前编译它是第一步骤,然而很多人可能和我一样用的是windows跑linux虚拟机,这样来回切换系统和共享文件显得十分麻烦。在这样的背景下我就想直接在windows编译调试xv6会方便很多。 首先编译xv6涉及的工具包括gcc,binutils,make,qem...

chuyanyi1945的博客 907

FastDFS设置开机

开机动 fdfs_tracker 设置开机动 cp FastDFS/init.d/fdfs_trackerd /etc/init.d/ chkconfig –add fdfs_trackerd chkconfig fdfs_trackerd on fdfs_storafed 设置开机动 cp FastDFS/init.d/fdfs_storaged /etc/init....

天高任鸟飞 6194

[note]Minifilter框架程序

  Windows的fltMgr.sys提供了一个I/O过滤框架,它允许一种被称为文件系统微过滤驱动(MiniFilter)的dirver被加载到系统中. 并向FltMgr注册它要过滤的哪些I/O操作. FltMgr是文件系统过滤管理器,它提供了一个管理框架,以方便开发人员编写文件驱动过滤程序(File System Filter Driver--FSFD). 可过滤的I/O操作包...

a519609598的博客 398

PX4中的二阶巴特沃斯低通滤波

二阶低通滤波器的原理分析与实现

qq_45024292的博客 3926
上一篇: That's Just the Way It Is - How NT Describes I/O Requests
下一篇: Cookie的困扰
jununfly
博客等级 码龄18年 41粉丝 2原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值