文件系统1 【虚拟文件系统VFS】

2024-06-04 11:18
文章标签 虚拟 文件系统 vfs

本文主要是介绍文件系统1 【虚拟文件系统VFS】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  • VFS数据结构
结构体描述
struct super_block超级块
struct inode索引节点
struct file文件对象
struct dentry目录项对象
struct task_struct进程结构
struct files_struct
  • 索引节点
  1. struct inode成员
成员描述
unsigned long i_state;索引节点状态标志
unsigned long i_ino;索引节点号
atomic_t i_count;引用计数器
loff_t i_size;文件字节数
struct timespec i_atime;上次访问文件的时间
struct timespec i_mtime;上次写文件的时间
struct timespec i_ctime;上次修改索引节点的时间
unsigned int i_blkbits;块的位数
unsigned long i_blksize;块的字节数
unsigned long i_blocks;文件块数
unsigned short i_bytes;文件中最后一个块的字节数
struct block_device *i_bdev;指向块设备驱动程序的指针
struct cdev *i_cdev;指向字符设备驱动程序的指针
  1. 索引节点状态标志
    | | |
    |–|--|
    | I_DIRTY_SYNC | |
    | I_DIRTY_DATASYNC | |
    | I_DIRTY_PAGES | |
    | I_LOCK | 涉及的索引节点对象处于I/O传送中|
    | I_FREEING | 索引节点对象正在被释放 |
    | I_CLEAR | 索引节点对象的内容不再有意义|
    | I_NEW | 索引节点对象已经分配但还没有用从磁盘索引节点读取来的数据填充 |
  • 文件对象
  1. struct inode成员
成员描述
struct dentry *f_dentry;与该文件相关的目录项对象
struct file_operations *f_op;指向文件操作表的指针
  • VFS系统调用
  1. 系统调用列表
sys_open
  1. sys_open
struct task_struct { // 进程结构体struct files_struct *files; //
}struct files_struct {atomic_t count;spinlock_t file_lock;     /* Protects all the below members.  Nests inside tsk->alloc_lock */int max_fds;int max_fdset;int next_fd;struct file ** fd;      // 文件对象数组fd_set *close_on_exec;fd_set *open_fds;fd_set close_on_exec_init;fd_set open_fds_init;struct file * fd_array[NR_OPEN_DEFAULT];
};get_unused_fd() 在current->files->fd 中找到一个空位

这篇关于文件系统1 【虚拟文件系统VFS】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1029933

相关文章

文章解读与仿真程序复现思路——电力自动化设备EI\CSCD\北大核心《考虑燃料电池和电解槽虚拟惯量支撑的电力系统优化调度方法》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源程序擅长文章解读,论文与完整源程序,等方面的知识,电网论文源程序关注python

使用jetty和mongodb做个简易文件系统

使用jetty和mongodb做个简易文件系统 - ciaos 时间 2014-03-09 21:21:00   博客园-所有随笔区 原文   http://www.cnblogs.com/ciaos/p/3590662.html 主题  MongoDB  Jetty  文件系统 依赖库: 1,jetty(提供http方式接口) 2,mongodb的java驱动(访问mo

AF透明模式/虚拟网线模式组网部署

透明模式组网 实验拓扑  防火墙基本配置 接口配置 eth1  eth3   放通策略  1. 内网用户上班时间(9:00-17:00)不允许看视频、玩游戏及网上购物,其余时 间访问互联网不受限制;(20 分) 应用控制策略   2. 互联网用户只允许访问内网两台服务器的 WEB、SSH 和远程桌面服务,其余 服务均不允许访问;(20 分) 外网访问内网的限制策略   虚拟网线模式组网 实

Thinkphp6.0+vue个人虚拟物品网站源码

Thinkphp6.0+vue个人虚拟物品网站源码 支持码支付对接 扫码自动发货 源码一共包含两个部分thinkphp6.0后端文件,以及vue前端文件。 服务器环境 php7以上,mysql5.6以上; 内附安装说明 代码免费下载

真人模特失业?AI虚拟试衣一键成图,IDM-VTON下载介绍

在电商行业竞争尤为激烈的当下,除了打价格战外,如何有效的控制成本,是每个从业者都在思考的问题 IDM-VTON是一个AI虚拟换装工具,旨在帮助服装商家解决约拍模特导致的高昂成本问题,只需一张服装图片,就可以生成各种身穿该服装的模特,大大简化了传统的产品展示过程 IDM-VTON最新中文版:IDM-VTON百度网盘为您提供文件的网络备份、同步和分享服务。空间大、速度快、安全稳固,支持教育

Kubernetes集群安装、配置glusterfs文件系统

环境介绍: 3台Centos 7.4系统节点,已经部署好Kubernetes,同时复用这3台机器作为gluster存储节点: hostIPK8s roleg1-nasp12.12.10.11master + nodeg3-nasp12.12.10.13nodeg4-nasp12.12.10.14node 安装、配置glusterfs: 在物理主机上采用yum安装的方式,步骤如下: 1

Ubuntu构建只读文件系统

本文介绍Ubuntu构建只读文件系统。 嵌入式系统使用过程中,有时会涉及到非法关机(比如直接关机,或意外断电),这可能造成文件系统损坏,为了提高系统的可靠性,通常将根文件系统设置为只读,将其他需要读写的数据放置在另外开辟的一个磁盘分区,本文针对嵌入式系统常用的Ubuntu操作系统构建只读文件系统。 1.基本原理 1)OverlayFS简介 OverlayFS(Overlay File Sy

解决TMP_InputField 在WebGL(抖音)上不能唤起虚拟键盘,不能使用手机内置输入法的问题

整整花费了一天时间测试和解决。试验了多个方法,花了不少美刀,最终才发现抖音这个官方文档,哭了: https://partner.open-douyin.com/docs/resource/zh-CN/mini-game/develop/guide/game-engine/rd-to-SCgame/open-capacity/capability-adaptation/sc_webgl_keyboa

vmware虚拟机提示:无法将Ethernet0连接到虚拟网络vmnet0

随着windows 7系统的普及化我这做MIS的也只能更新到Win7系统了,但是换了Win7后还是有很多程式少不了在XP下完成。以前想过装虚拟机来玩,但那时支持win7 64位系统的虚拟机难找,最近看到一个vmware 10的绿色版都支持了。所以下载了一个安装。   今天装好了XP系统,可是无法使用网络,启动虚拟机的时提示:无法将Ethernet0连接到虚拟网络vmnet0   经过

VR虚拟展厅的应用场景有哪些?

虚拟展厅作为一种利用虚拟现实技术构建的三维展示空间,其应用场景广泛且多样。视创云展为企业虚拟展厅搭建提供技术支持。以下是一些主要的应用场景: 1. 博物馆和艺术展览 文物保护与展示: 在博物馆中,为了保护珍贵的文物和艺术品,许多展品被放置在专门的展览柜中,限制了观众的观赏体验。虚拟展厅通过3D建模和虚拟现实技术,可以让观众在不接触实物的情况下,全方位、多角度地观赏文物和艺术品的细节,了解