社区
驱动开发/核心开发
帖子详情
有关ntfs文件系统的读写机制
zzyokk
2008-04-29 04:12:32
大家好,请问ntfs文件系统读写文件的具体过程怎么样的?包括对$bitmap的修改,何时修改等,谢谢~是不是ntfs自己管理空闲空间的?假如下层的磁盘驱动程序返回的写入空间比ntfs要求写入的要少,会怎么样等?非常感谢~~~
...全文
78
6
打赏
收藏
有关ntfs文件系统的读写机制
大家好,请问ntfs文件系统读写文件的具体过程怎么样的?包括对$bitmap的修改,何时修改等,谢谢~是不是ntfs自己管理空闲空间的?假如下层的磁盘驱动程序返回的写入空间比ntfs要求写入的要少,会怎么样等?非常感谢~~~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
meiZiNick
2008-05-01
打赏
举报
回复
好像没那么简单,呵呵.
zzyokk
2008-04-30
打赏
举报
回复
很感谢你,给了我好多启示~,现在想再问你一个问题,假如ntfs想写一个文件,它根据这个文件的大小发现需要5个空闲的簇才够,现在它调用磁盘驱动程序写这几个簇,现在磁盘驱动程序成功写了3个簇,在写第4个簇的时候报告给ntfs写进磁盘的空间大小小于一个簇,这个时候可能ntfs会让磁盘驱动程序循环写一直到能写进这个簇,可是假如我们在ntfs和磁盘驱动程序之间加入一层,它的作用是截获ntfs要写磁盘的IRP,并把数据压缩后再送到磁盘写,这个时候磁盘驱动程序写进簇的空间可能就不足一个簇大小,这个时候中间层该如何报告ntfs写入的数据情况
总的问题是:在ntfs和磁盘驱动程序中加入一个压缩数据的层合不合理,是否应该把这层放在ntfs之上!!!!
谢谢~
cnzdgs
2008-04-30
打赏
举报
回复
这种做法的可行性很低,即使能实现也相当复杂。根本原因是由于压缩率是不固定的。
如果把压缩做在文件系统上问题可以相对简单一些,但处理文件指针也是很麻烦的。
llg84
2008-04-30
打赏
举报
回复
[Quote=引用 3 楼 zzyokk 的回复:]
很感谢你,给了我好多启示~,现在想再问你一个问题,假如ntfs想写一个文件,它根据这个文件的大小发现需要5个空闲的簇才够,现在它调用磁盘驱动程序写这几个簇,现在磁盘驱动程序成功写了3个簇,在写第4个簇的时候报告给ntfs写进磁盘的空间大小小于一个簇,这个时候可能ntfs会让磁盘驱动程序循环写一直到能写进这个簇,可是假如我们在ntfs和磁盘驱动程序之间加入一层,它的作用是截获ntfs要写磁盘的IRP,并把数据压缩后再送到磁…
[/Quote]
写入前就会判断当前剩余空间是否足够,所以一般不会出现要求写入的簇数大于可用簇数的情况,如果因为坏簇等原因导致写入失败,NTFS会寻找新簇写入,无空闲簇则会返回IO错误。你想压缩数据的话,不要做到文件系统的下层去,读写时候的偏移处理起来太麻烦
cnzdgs
2008-04-29
打赏
举报
回复
这问题涉及到NTFS文件系统的结构,是很复杂的,只能稍稍跟你说一下,如果想要详细了解需要看书或者到网上搜索详细资料。
NTFS中的文件和目录都是FILE,在$MFT中记录了每个FILE文件的详细信息,包括其占用的储存空间。根据目录索引可以逐层找到各级子目录,最终找到文件的FILE号。$bitmap中记录了储存空间的分配情况。对于磁盘操作系统,储存介质上的空间都是由文件系统来管理的,由文件系统驱动程序调用磁盘驱动程序读写指定的储存单元(扇区)。
zzyokk
2008-04-29
打赏
举报
回复
顶一下~ 知道的请指点一下,谢谢~~
Windows Server 2012 R2 系统配置与管理(初级全套)
211课时,从初级讲起,做到全方位技术提高,内容包括系统概述、安装与基本环境设置,本地用户与组账户的管理,建立Active Directory域,
NTFS
磁盘的安全性与管理,访问网络文件,分布式
文件系统
(DFS),利用配置文件...
十月个人考核:
NTFS
文件系统
的优点有哪些
一,
NTFS
文件系统
的优点有哪些
NTFS
的优点:(1)更安全的文件保障,提供文件加密,能够大大提高信息的安全性。 (2)更好的磁盘压缩功能。 (3)支持最大达2TB的大硬盘,并且随着磁盘容量的增大,
NTFS
的性能不像FAT那样随...
NTFS
文件系统
详细分析
第一部分 什么是
NTFS
文件系统
想要了解
NTFS
,我们首先应该认识一下FAT。FAT(File Allocation Table)是“文件分配表”的意思。对我们来说,它的意义在于对硬盘分区的管理。FAT16、FAT32、
NTFS
是目前最常见的三...
Linux
文件系统
原理 / 虚拟
文件系统
VFS
不仅仅是诸如Ext2、Ext3、Ext4、XFS、windows家族的
NTFS
和Btrfs等常规意义上的
文件系统
,还可以是比如上图的proc等伪
文件系统
和设备,也可以是诸如NFS、CIFS等网络
文件系统
。VFS 采用标准的Linux系统调用
读写
位于...
NTFS
文件系统
结构解析
NTFS
是一个比FAT复杂的多的
文件系统
,我们一起努力来把它完整的解读出来。
NTFS
的引导扇区也是完成引导和定义分区参数,和FAT分区不同,FAT分区的BOOT记录正常,就显示分区没有错误,即使文件不正确,而
NTFS
分区的...
驱动开发/核心开发
21,597
社区成员
21,709
社区内容
发帖
与我相关
我的任务
驱动开发/核心开发
硬件/嵌入开发 驱动开发/核心开发
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章