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

Linux系统基础——文件子系统相关推荐

  1. linux系统基础调优32条技巧

    linux系统基础调优32条技巧 版权声明:原创作品,如需转载,请与作者联系.否则将追究法律责任. 缘起:本文为老男孩linux系统基础优化部分,一些高级方面的调优欢迎大家一起讨论或单独交流,谢谢大家 ...

  2. Linux系统基础知识

    Linux系统基础知识 1.在Linux系统中,以文件方式访问设备.   2. Linux内核引导时,从文件 /etc/fstab中读取要加载的文件系统. 3. Linux文件系统中每个文件用 ino ...

  3. Linux系统基础(二)

                Linux系统基础(二) 一.linux系统结构 1.linux系统结构是倒树型 2. /bin##二进制可执行文件也就是系统命令 /sbin##系统管理命令存放位置 /boo ...

  4. Linux系统基础教程(2)

    Linux系统基础教程(1) 文章目录 8. 启用 wifi 1) 命令行设置 2) 窗口界面设置 9. 远程登陆 1) SSH 命令行 2) 远程桌面 10. 不接外显,启动桌面系统 11. 开启摄 ...

  5. linux系统下io的过程,Linux系统基础知识:IO调度

    Linux系统基础知识:IO调度 IO调度发生在Linux内核的IO调度层.这个层次是针对Linux的整体IO层次体系来说的.从read()或者write()系统调用的角度来说,Linux整体IO体系 ...

  6. Linux实战教学笔记06:Linux系统基础优化

    第六节 Linux系统基础优化 标签(空格分隔):Linux实战教学笔记-陈思齐 第1章 基础环境 第2章 使用网易163镜像做yum源 默认国外的yum源速度很慢,所以换成国内的. 第一步:先备份 ...

  7. linux 系统优化基础,Linux系统基础优化总结

    请称呼我搬运工,哈哈 优化综合 https://www.cnblogs.com/yinshoucheng-golden/p/6149556.html (1)不用root管理,以普通用户的名义通过sud ...

  8. step1 . day2:Linux系统基础知识

    和Windows一样,Linux计算机必要的文件系统和学习C语言使用到的编辑器知识初步掌握. 1.操作系统和内核的分类 内核:Linux.Unix.NT,Linux内核主要负责5项工作①文件管理②设备 ...

  9. 嵌入式Linux系统基础知识

    一.嵌入式Linux系统的构成 1.硬件 2.内核 3.应用程序(形成根文件系统) 二.构建嵌入式Linux系统的主要任务 1.内核部分 2.应用程序部分 嵌入式Linux的开发大致可分为三个层次:引 ...

最新文章

  1. 一文完全理解定时器实现技术
  2. linux5启动过程及故障排除
  3. 蓝桥杯-长草-代码(BFS)
  4. 44 MM配置-采购-条件-定价过程-定义条件类型
  5. 23个Python爬虫开源项目代码Python爬虫开源项目代码
  6. 外连接有 OR 关联条件只能走 NL优化
  7. httpclient 3.0初步研究
  8. Linux FastDFS 分布式文件系统安装
  9. NAND FLASH ECC校验原理与实现
  10. ubuntu执行python脚本_在启动时运行python脚本作为守护进程(Ubuntu)
  11. Android Sqite数据库 11
  12. [转载]备忘:oh my zsh 的安装、更新、删除
  13. xshell链接相当的慢,怎么解决
  14. ubuntu 下安装ibus 中文输入法
  15. 使用VUE脚手架搭建VUE项目
  16. origin柱状图同时有两组数和两组数差值_简单搞定四元数
  17. python爬虫requests设置代理ip_Python 爬虫的代理 IP 设置方法汇总
  18. 《心理学与生活》发展与教育(上)
  19. LeetCode题解:寻找峰值
  20. 手机号码相关信息整理

热门文章

  1. js之类型、值、变量含义
  2. Python处理基本气象要素日值数据
  3. 从零学Python(3.x)视频教程-李晓鹏-专题视频课程
  4. 【tensorflow】多维张量做tf.matmul
  5. 这个外包公司太恶心了。。
  6. Unity之OpenXR+XR Interaction Toolkit 安装和配置
  7. 搭建网站服务器时报错url,服务器网站总报错“ERROR the requested URL could not be retrieved”解决办法...
  8. python中赋值语句的例子_python赋值语句规则
  9. windows平台下的mysql启动等基本操作
  10. 我的创作纪念日一周年