Linux系统基础——文件子系统

Linux系统文件子系统

特此说明: 刘超的趣谈linux操作系统是比较重要的参考资料,本文大部分内容和图片来源于这个专栏。

1 数据&文件系统&存储介质

关键词: 文件系统、格式、索引区、缓存层、目录结构
理解: 对数据如何在存储介质上组织和存取访问的一套机制,这种抽象的概念是文件系统。

在这里插入图片描述

  • 在文件系统上,需要维护文件的严格的格式,要通过 mkfs.ext4 命令来格式化为严格的格式。
  • 每一个硬盘上保存的文件都要有一个索引,来维护这个文件上的数据块都保存在哪里。文件通过文件夹组织起来,可以方便用户使用。
  • 为了能够更快读取文件,内存里会分配一块空间作为缓存,让一些数据块放在缓存里面。
  • 在内核中,要有一整套的数据结构来表示打开的文件。
  • 在用户态,每个打开的文件都有一个文件描述符,可以通过各种文件相关的系统调用,操作这个文件描述符。

2 相关命令行

# 查看设备信息
fdisk -l

# 分区
fdisk /dev/vdc

# 格式化
mkfs.ext4 /dev/vdc

# 挂载 `etc/fstab`
mount <设备名> <挂载点>

# 查看文件信息
ls -l

3 系统调用接口

open write lseek read close 
stat fstat lstat
readdir closedir
....

4 内核实现机制

001、硬盘文件系统

# inode与数据块概念: 逻辑图
# inode位图与数据块位图概念: 如何检索空闲块
# 文件系统格式: 实际上如何存储大文件

在这里插入图片描述

002、虚拟文件系统

在这里插入图片描述

# 1. mount: do_mount->do_new_mount->vfs_kern_mount->mount_fs
register_filesystem(&ext4_fs_type); # ext4类型注册到内核

# 1. open: 

**003、文件缓存

在这里插入图片描述

# 1. read: vfs_read->__vfs_read-->file_operations::read
# 2. write: vfs_write->__vfs_write-->file_operations::write

9 References

N/A

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hinzer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值