项目说明 此项目提供课程《从0到1动手写FAT32文件系统》所有源码工程等。 如该资料有兴趣,可以使用GitHub的打包下载功能。或者使用Git工具,SourceTree等将整个项目克隆到本地。 由于课程存在着一些错误,因此后续可能会偶尔修改原始代码。如果想及时获取该项目资料的所有修改,建议使用Git工具克隆整个项目。 课程说明 该课程为一系列视频课程,近60个课时,一步步教你学习如何开发一个FAT32文件系统模块。 该课程配套相应的学习指南,请见 。 联系方式 请访问01课堂主页:http: 。 注意 为了正确运行该工程,重置课程提供的disk.img和disk_test.img放在和xfat相同的目录中。 否则在运行时会提示:open xxx.img failed类似的错误!
2021-12-30 18:35:17 1.38MB 系统开源
1
这是告诉我们怎么一步步构建根文件系统,便于新手学习
2021-12-30 18:01:22 208KB 根文件系统
1
linux-system-simulation 模拟UNIX文件系统设计和实现的一个多用户多目录的文件系统 要求如下:   (1) 可以模拟多用户,多个用户可以操作不同的文件。   (2) 可以实现多目录管理,包括目录的增删改查。   (3) 可以实现文件的增删改查、属性管理。   (4) 考虑用户、目录、文件的权限管理。   (5) 完成文件存储空间管理,包括空闲块管理、磁盘Inode节点、内存Inode节点等内容。   (6) 编写测试代码,测试对文件的相关操作:建立,读写等
2021-12-30 17:27:29 2.67MB C++
1
使初学者对根文件系统的制作有系统的认识,能够对根文件的配置和编译进一步了解
2021-12-30 17:23:27 145KB 比较系统的总结
1
分布式文件系统架构,存放的是文件的数据信息和验证文件完整性的校验信息,心跳机制
1
操作系统 含有一系列指令 包括对文件管理 包含可运行源代码
2021-12-30 11:47:47 1.78MB 操作系统 文件系统 源代码
1
Cheap_Flash_FS--嵌入式NandFlash文件系统源码下载 Cheap_Flash_FS 代码已经由我们开发完成,并经过了严格的测试。 坏块管理功能包括基于坏块表的管理程序,可以提供单/多扇区的操作。 多扇区为nandflash专门设计,可以降低NANDFLASH物理擦除数,具有直接预分配功能(降低内存占用量)。 其上面可以运行(Cheap_Flash_FS(支持多扇区操作))文件系统。 文件系统可支持实时坏块替换,包括擦除块,块移动,写入页产生坏块。文件系统基于NAND_FLASH坏块管理层驱动运行。 NAND_FLASH坏块管理支持ECC纠错,对每个扇区执行二次ECC纠错,保证数据正确的读出。 NAND_FLASH坏块管理层如果发现Unrecoverable_error扇区,可把扇区读出置为0,等于目录已结束,避免了文件系统运行出错。 本代码是32BIT的坏块表文件系统,可支持大于4G的nandflash,包括小页,中页,大页,用于用户代码测试! 可以用于U盘和SD卡的设计上。以及其它大容量存储项目上。 qq:292942278 e-mail:tony_yang123@sina.com
2021-12-30 11:02:58 6.31MB nandflash fat file system
1
文件系统测试工具官方文档,一般不好下载,有需要的可以收藏着
2021-12-30 10:19:53 1.58MB 文件系统测试
1
看《Windows内核编程》,说是基于sfilter源代码修改的,也没说在哪个版本的驱动中,于是试了很多驱动,终于找到了,在WinDDK 6001.18001中,我把它压缩后上传。有需要的尽情下载吧。
2021-12-30 09:40:41 175KB 驱动开发 文件系统驱动 sfilter
1
目录 1 虚拟文件系统概述 5 1.1 通用文件模型 7 1.2 VFS所处理的系统调用 9 2 虚拟文件系统架构 11 2.1 VFS对象数据结构 11 2.1.1 超级块对象 11 2.1.2 索引节点对象 15 2.1.3 文件对象 18 2.1.4 目录项对象 22 2.2 把Linux中的VFS对象串联起来 24 2.2.1 与进程相关的文件 25 2.2.2 索引节点高速缓存 29 2.2.3 目录项高速缓存 30 2.2.4 VFS对象的具体实现 32 2.3 文件系统的注册与安装 38 2.3.1 文件系统类型注册 38 2.3.2 文件系统安装数据结构 41 2.3.3 安装普通文件系统 52 2.3.4 分配超级块对象 58 2.3.5 安装根文件系统 60 2.3.6 卸载文件系统 65 2.4 路径名的查找 66 2.4.1 查找路径名的一般流程 67 2.4.2 父路径名查找 82 2.4.3 符号链接的查找 84 2.5 VFS系统调用的实现 88 2.5.1 open()系统调用 88 2.5.2 read()和write()系统调用 96 2.5.3 close()系统调用 97 3 第二扩展文件系统 99 3.1 Ext2磁盘数据结构 101 3.1.1 磁盘超级块 102 3.1.2 组描述符和位图 105 3.1.3 磁盘索引节点表 105 3.2 VFS接口数据结构 110 3.2.1 Ext2 超级块对象 110 3.2.2 Ext2 的索引节点对象 121 3.2.3 创建Ext2文件系统 124 3.2.4 Ext2的方法总结 126 3.3 Ext2索引节点分配 129 3.3.1 创建索引节点 130 3.3.2 删除索引节点 143 3.4 Ext2数据块分配 144 3.4.1 数据块寻址 145 3.4.2 文件的洞 147 3.4.3 分配数据块 148 4 页面高速缓存 160 4.1 页高速缓存数据结构 160 4.1.1 address_space对象 161 4.1.2 基树 164 4.2 高速缓存底层处理函数 166 4.2.1 查找页 166 4.2.2 增加页 168 4.2.3 删除页 173 4.3 文件系统与高速缓存 175 4.3.1 缓冲头数据结构 175 4.3.2 分配块设备缓冲区页 178 4.3.3 释放块设备缓冲区页 184 4.4 在页高速缓存中搜索块 185 4.4.1 __find_get_block()函数 185 4.4.2 __getblk()函数 188 4.4.3 __bread()函数 190 4.5 把脏页写入磁盘 191 4.5.1 pdflush内核线程 192 4.5.2 搜索要刷新的脏页 193 4.5.3 回写陈旧的脏页 196 5 文件读写 199 5.1 系统调用VFS层的处理 200 5.2 第二扩展文件系统Ext2层的处理 201 5.2.1 Ext2的磁盘布局 202 5.2.2 Ext2的超级块对象 206 5.2.3 Ext2索引节点对象的创建 210 5.2.4 Ext2索引节点对象的读取 218 5.2.5 Ext2层读文件入口函数 225 5.3 页高速缓存层的处理 237 5.3.1 创建一个bio请求 238 5.3.2 得到文件的逻辑块号 244 5.3.3 普通文件的readpage方法 251 5.3.4 块设备文件的readpage方法 252 5.3.5 文件的预读 260 5.4 通用块层的处理 264 5.4.1 块设备的基础知识 265 5.4.2 通用块层相关数据结构 269 5.4.3 提交I/O传输请求 271 5.4.4 请求队列描述符 273 5.5 块设备I/O调度层的处理 281 5.5.1 块设备的初始化 284 5.5.2 建立块设备驱动环境 288 5.5.3 关联block_device结构 295 5.5.4 为设备建立请求队列 306 5.5.5 块设备I/O调度程序 311 5.5.6 真实的I/O调度层处理 321 5.6 块设备驱动层的处理 330 5.6.1 scsi总线驱动的初始化 330 5.6.2 scsi设备驱动体系架构 342 5.6.3 scsi块设备驱动层处理 347 5.6.4 scsi命令的执行 369 5.6.5 scsi命令的第一次转变 372 5.6.6 scsi命令的第二次转变 380 5.7 写文件 384 5.7.1 generic file_write函数 384 5.7.2 普通文件的prepare_write方法 386 5.7.3 块设备文件的prepare_write方法 387 5.7.4 将脏页写到磁盘 388 6 直接I/O与异步I/O 391 6.1 直接I/O 391 6.2 异步I/O 393 6.2.1 Linux 2.6中的异步I/O 394 6.2.2 异步I/O环境 394 6.2.3 提交异步I/O操作 395
2021-12-29 22:29:58 5.05MB Linux 内核 操作系统
1