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的价值。

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

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

相关推荐

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

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

weixin_32263417的博客 270

分布式文件系统 (fsfd)

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

weixin_43729192的博客 889

windows下编译xv6

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

Mumu3w的博客 2585

文件系统Minifilter驱动(一)

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

听风 1万+

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

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

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

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

FastDFS分布式存储

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

henanxiaoman的博客 1818

IP2315高效同步降压充电IC在快充应用中的硬件与软件控制策略

本文深入解析IP2315高效同步降压充电IC在快充应用中的硬件与软件控制策略,涵盖其核心特性、硬件电阻调节技巧、I2C动态控制方案、散热设计优化及典型问题排查。IP2315支持多种快充协议,如Type-C PD、华为FCP等,适用于便携设备快速充电需求,并通过I2C实现灵活的充电参数设置,提升充电效率与安全性。

weixin_29248313的博客 539

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

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

gitblog_00504的博客 3393

Excel也能玩转K-means聚类?手把手教你用表格搞定用户分群(附完整公式)

本文详细介绍了如何在Excel中实现K-means聚类算法,无需编程即可完成用户分群。通过SUMIF、SQRT等基础函数,从数据预处理到最终分群全流程手把手教学,特别强调数据标准化和迭代优化的关键步骤,帮助运营团队低成本高效分析用户行为数据。

weixin_30555125的博客 181

VC Spyglass实战指南:从零开始掌握CDC约束配置与调试

本文详细介绍了如何使用VC Spyglass进行CDC约束配置与调试,从基础环境搭建到典型CDC问题调试实战,帮助开发者快速掌握跨时钟域验证技术。通过TCL脚本和SDC约束的深度解析,提升CDC验证效率,避免常见设计风险。

weixin_26757925的博客 296

S12XS Flash ECC配置与错误处理实战指南

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

weixin_33747129的博客 393

ESP32 BLE Mesh Provisioner实战:手把手教你用ESP-IDF配网智能灯泡(附常见错误排查)

本文提供了一份基于ESP-IDF的ESP32 BLE Mesh Provisioner实战指南,详细解析了配网器的核心角色与工作流程。文章手把手教你从工程搭建、代码初始化到核心回调解析,并重点针对常见的‘Model not bound to AppKey’等错误提供了深度排查思路与解决方案,帮助你构建一个稳定可靠的智能照明网关。

desk3的博客 513

文件系统Minifilter驱动(六)

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

it技术学习 1705

C# 上位机高级功能实战:报警、历史回放与远程监控

本文介绍了工业上位机系统的高级功能实现,主要包括实时报警机制、历史数据回放和远程监控三部分。报警功能通过阈值检测实现异常提醒;历史回放利用数据库存储数据,通过定时器控制回放进度;远程监控提供TCP、WebSocket等多种数据传输方式。文章还给出了综合优化建议,如异步处理、报警去抖动等,最终形成一个包含数据采集、显示、存储、报表及高级功能的完整工业自动化闭环系统。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 753

两万字硬核指南!Python爬虫requests库从入门到精通:新手也能搞定所有爬取场景(附实战案例+避坑大全)

请求头是客户端发送给服务器的额外信息,比如User-Agent(浏览器类型)、Referer(来源页面)、Cookie(登录凭证)、(编码方式)等。Cookie是服务器存储在客户端的小型文本文件,包含用户的登录凭证、偏好设置等信息。浏览器会在每次请求时自动携带Cookie,服务器通过Cookie识别用户身份。代理IP是一个中间服务器,你的请求先发送到代理IP,再由代理IP发送到目标网站,目标网站只能看到代理IP的地址,看不到你的真实IP。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1496

Windows驱动级系统还原方案:小哨兵V9.10安装与策略配置详解

系统还原是保障公共终端稳定运行的基础技术概念,其核心原理在于拦截文件系统写入并基于快照实现状态回滚。相比应用层影子系统或整盘GHOST镜像,驱动级还原方案依托Windows文件系统过滤驱动(FSFD)与卷影复制服务(VSS)协同,在内核层完成毫秒级重定向与差异管理,具备低资源占用、高兼容性及UEFI安全启动支持等技术优势。该方案广泛应用于高校机房、政务自助终端、实训实验室等需长期免维护的场景,尤其适合需要精细控制分区还原、注册表监控和二进制策略加载的Windows内核实践者。本文聚焦驱动安装与配置教程,深入

weixin_32715349的博客 203

【CAD】【手把手带你写一个DXF&JAVA解析框架】02——整理DXF元数据实体类,涵盖重要属性与对照组码

本文系统梳理了DXF文件解析中的核心元数据类,重点分析了Tables段(图层、块记录)、Blocks段和Entities段的关键数据结构。通过详细的组码说明和对照代码实现,阐述了图层定义(DXFLayer)、块记录(DXFBlockRecord)、应用程序标识(DXFAppId)等表对象的属性构成;同时解析了直线(DXFLine)、多段线(DXFLwPolyLine)、圆弧(DXFArc)、文字(DXFText)等实体类的几何特征与属性定义。文章还构建了顶点(Vertex)、基类(DXFEntity、DXF

Wonder ZH 268

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

转自: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

1566

全志A527 T527 android13支持usb摄像头

我们发现usb摄像头在A527 android13上面并不能正常使用,需要支持相关的摄像头。

zhutoubenben的专栏 964

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

[note]Minifilter框架程序

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

a519609598的博客 403

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

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....

天高任鸟飞 6196

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Windows下编译运行xv6

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

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

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值