linux文件系统
luckywang1103
每天多一点思考
展开
-
vfat文件系统
VFAT是“扩展文件分配表系统”的意思,它对FAT16文件系统进行扩展,并提供支持长文件名,文件名可长达255个字符,VFAT仍保留有扩展名,而且支持文件日期和时间属性,为每个文件保留了文件创建日期/时间、文件最近被修改的日期/时间和文件最近被打开的日期/时间这三个日期/时间。 linux处理的时候把fat/vfat/fat32的文件系统 统一用vfat来表示原创 2015-11-13 19:49:00 · 13140 阅读 · 0 评论 -
FAT32文件系统
第一扇区第一个扇区512字节,MBR区占了446字节,另外64个字节是4个分区表,每个分区表占16个字节,最后两个字节是55和AA。 后面紧跟的保留扇区数目由MBR表中0x1c6开始的四个字节决定。DBRBDR(Dos Boot Recoder - DOS引导记录)扇区,DBR中记录着文件系统的起始位置,大小,FAT表个数及大小等相关信息。 【1】0x00~0x02:3字节,跳转指令。 【2原创 2016-08-01 21:13:30 · 2168 阅读 · 0 评论 -
linux文件系统(三) - 内核回写机制
将数据写到page cache写文件的时候其实是通过文件系统写到page cache中,然后再由相应的线程在适当的时机将page cache中的数据写到磁盘中。//fs/fat/file.cconst struct file_operations fat_file_operations = {... .aio_write = generic_file_aio_write原创 2016-07-17 15:12:16 · 3388 阅读 · 0 评论 -
linux文件系统(二) - 虚拟文件系统
虚拟文件系统这一层提供的大多数是形如vfs_xxx的函数,他们最终调用的还是各个具体的文件系统注册给虚拟文件系统的struct inode_operations和struct file_operations等结构体。以fat文件系统为例,他注册的struct inode_operations和struct file_operations如下://fs/fat/namei_vfat.cstatic原创 2016-07-17 16:04:10 · 1638 阅读 · 0 评论 -
linux文件系统(一) - 概述
linux文件系统(一) - 概述linux文件系统(二) - 虚拟文件系统linux文件系统(三) - 内核回写机制Linux文件系统(四) - 从文件系统到块设备/从page cache到bio, request, request_queuelinux文件系统(五) - I/O调度算法linux文件系统(六) - 块设备驱动文件系统架构结构体虚拟文件系统提供的struct super原创 2016-07-17 16:51:24 · 2047 阅读 · 0 评论 -
Linux文件系统(四) - 从文件系统到块设备/从page cache到bio, request, request_queue
回写线程一步步会把page cache变成bio,然后bio组织成request,最终request链接到resquest queue中,供块设备层使用。 上一节中do_writepages通过a_ops->writepages会调用不同文件系统中在struct address_space_operations中实现的writepage函数来将page cache写到磁盘,在fat文件系统中这个结原创 2016-07-20 17:43:56 · 4760 阅读 · 0 评论 -
bdev文件系统
注册bdev文件系统//fs/block_dev.cstatic struct file_system_type bd_type = { .name = "bdev", .mount = bd_mount, .kill_sb = kill_anon_super,};//init/main.cst原创 2016-07-30 13:34:57 · 2079 阅读 · 2 评论 -
/etc/fstab
/etc/fstab中的格式如下:设备名称 挂载点 分区类型 挂载选项 dump选项 fsck选项/dev/hda2 / ext3 default 0 1/dev/fdo /mnt/flopy ext3 noauto 0 01\挂载选项 auto 开机自动挂载 default 按照大多数永久文件系统的缺省值设置原创 2016-06-27 16:45:13 · 368 阅读 · 0 评论 -
proc文件系统接口
内核提供的proc接口函数头文件linux/proc_fs.h struct proc_dir_entry *proc_mkdir(const char *name, struct proc_dir_entry *parent); //在parent目录创建一个名为name的目录struct proc_dir_entry *create_proc_entry(const char *name, m原创 2016-02-03 14:13:07 · 3834 阅读 · 0 评论 -
sysfs API总结
sysfs是用于表现设备驱动模型的文件系统,它基于ramfs。要学习linux的设备驱动模型,就要先做好底层工作,总结sysfs提供给外界的API就是其中之一。sysfs文件系统中提供了四类文件的创建与管理,分别是目录、普通文件、软链接文件、二进制文件。目录层次往往代表着设备驱动模型的结构,软链接文件则代表着不同部分间的关系。比如某个设备的目录只出现在/sys/devices下,其它地方涉及到它时转载 2014-11-27 10:45:51 · 750 阅读 · 0 评论 -
linux内核 DebugFS
DebugFS,顾名思义,是一种用于内核调试的虚拟文件系统,内核开发者通过debugfs和用户空间交换数据。类似的虚拟文件系统还有procfs和sysfs等,这几种虚拟文件系统都并不实际存储在硬盘上,而是Linux内核运行起来后才建立起来。通常情况下,最常用的内核调试手段是printk。但printk并不是所有情况都好用,比如打印的数据可能过多,我们真正关心的数据在大量的输出里不是那么一目了然原创 2014-05-24 10:29:40 · 6503 阅读 · 0 评论 -
lichee开发板搭建nfs
一、ethernet驱动支持二、文件系统支持原创 2014-08-13 11:07:44 · 1533 阅读 · 0 评论 -
开发板配置cifs来访问windows共享文件
linux内核配置make menuconfig File system —> [*] Network File Systems —> 系统起来之后通过cat /proc/filesystems可以查看到系统支持的文件系统类型windows配置在要挂载的windows系统中找到需要挂载的硬盘或者文件夹,把他设置为共享挂载在linux系统中 mount -t cifs -o user原创 2015-12-02 10:58:57 · 2314 阅读 · 0 评论 -
nfs文件系统配置
no_root_squash与root_squash区别no_root_squash:当登录NFS主机使用共享目录的使用者是root时,那么对于这个分享的目录来说,他就具有 root 的权限!这个项目『极不安全』,不建议使用! root_squash;如果登录NFS主机使用共享目录的使用者是root,那么这个使用者的权限将被压缩成为匿名使用者,通常他的 UID 与 GID 都会变成 nob...原创 2018-08-22 10:59:09 · 313 阅读 · 0 评论