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
Linux系统基础——文件子系统相关推荐
- linux系统基础调优32条技巧
linux系统基础调优32条技巧 版权声明:原创作品,如需转载,请与作者联系.否则将追究法律责任. 缘起:本文为老男孩linux系统基础优化部分,一些高级方面的调优欢迎大家一起讨论或单独交流,谢谢大家 ...
- Linux系统基础知识
Linux系统基础知识 1.在Linux系统中,以文件方式访问设备. 2. Linux内核引导时,从文件 /etc/fstab中读取要加载的文件系统. 3. Linux文件系统中每个文件用 ino ...
- Linux系统基础(二)
Linux系统基础(二) 一.linux系统结构 1.linux系统结构是倒树型 2. /bin##二进制可执行文件也就是系统命令 /sbin##系统管理命令存放位置 /boo ...
- Linux系统基础教程(2)
Linux系统基础教程(1) 文章目录 8. 启用 wifi 1) 命令行设置 2) 窗口界面设置 9. 远程登陆 1) SSH 命令行 2) 远程桌面 10. 不接外显,启动桌面系统 11. 开启摄 ...
- linux系统下io的过程,Linux系统基础知识:IO调度
Linux系统基础知识:IO调度 IO调度发生在Linux内核的IO调度层.这个层次是针对Linux的整体IO层次体系来说的.从read()或者write()系统调用的角度来说,Linux整体IO体系 ...
- Linux实战教学笔记06:Linux系统基础优化
第六节 Linux系统基础优化 标签(空格分隔):Linux实战教学笔记-陈思齐 第1章 基础环境 第2章 使用网易163镜像做yum源 默认国外的yum源速度很慢,所以换成国内的. 第一步:先备份 ...
- linux 系统优化基础,Linux系统基础优化总结
请称呼我搬运工,哈哈 优化综合 https://www.cnblogs.com/yinshoucheng-golden/p/6149556.html (1)不用root管理,以普通用户的名义通过sud ...
- step1 . day2:Linux系统基础知识
和Windows一样,Linux计算机必要的文件系统和学习C语言使用到的编辑器知识初步掌握. 1.操作系统和内核的分类 内核:Linux.Unix.NT,Linux内核主要负责5项工作①文件管理②设备 ...
- 嵌入式Linux系统基础知识
一.嵌入式Linux系统的构成 1.硬件 2.内核 3.应用程序(形成根文件系统) 二.构建嵌入式Linux系统的主要任务 1.内核部分 2.应用程序部分 嵌入式Linux的开发大致可分为三个层次:引 ...
最新文章
- 一文完全理解定时器实现技术
- linux5启动过程及故障排除
- 蓝桥杯-长草-代码(BFS)
- 44 MM配置-采购-条件-定价过程-定义条件类型
- 23个Python爬虫开源项目代码Python爬虫开源项目代码
- 外连接有 OR 关联条件只能走 NL优化
- httpclient 3.0初步研究
- Linux FastDFS 分布式文件系统安装
- NAND FLASH ECC校验原理与实现
- ubuntu执行python脚本_在启动时运行python脚本作为守护进程(Ubuntu)
- Android Sqite数据库 11
- [转载]备忘:oh my zsh 的安装、更新、删除
- xshell链接相当的慢,怎么解决
- ubuntu 下安装ibus 中文输入法
- 使用VUE脚手架搭建VUE项目
- origin柱状图同时有两组数和两组数差值_简单搞定四元数
- python爬虫requests设置代理ip_Python 爬虫的代理 IP 设置方法汇总
- 《心理学与生活》发展与教育(上)
- LeetCode题解:寻找峰值
- 手机号码相关信息整理
热门文章
- js之类型、值、变量含义
- Python处理基本气象要素日值数据
- 从零学Python(3.x)视频教程-李晓鹏-专题视频课程
- 【tensorflow】多维张量做tf.matmul
- 这个外包公司太恶心了。。
- Unity之OpenXR+XR Interaction Toolkit 安装和配置
- 搭建网站服务器时报错url,服务器网站总报错“ERROR the requested URL could not be retrieved”解决办法...
- python中赋值语句的例子_python赋值语句规则
- windows平台下的mysql启动等基本操作
- 我的创作纪念日一周年