Linux Virtual Filesystem
笔记摘抄自 Linux 内核教学 — Linux 系统内核文档 的 VFS 部分,并总结记录。
虚拟文件系统(VFS)
虚拟文件系统(VFS)是内核的组件,处理所有与文件和文件系统相关的系统调用。VFS 是用户与特定文件系统之间的通用接口。这种抽象简化了文件系统的实现,使得各种文件系统更容易集成。各种文件系统通过使用 VFS 提供的 API 来实现文件系统,通用硬件以及 I/O 子系统的通信部分由 VFS 处理。
文件系统按照功能可分为:
- 磁盘文件系统(ext3、ext4、xfs、fat 以及 ntfs 等)。
- 网络文件系统(nfs、smbfs/cifs、ncp 等)。
- 虚拟文件系统(procfs、sysfs、sockfs、pipefs 等)。
Linux 设备驱动开发详解
本书基于 Linux 4.0 内核编写,个人学习测试的内核版本是 5.15.167。
内核及内核编程
Linux 2.6 后的内核特点
Linux 2.6 相对于 Linux 2.4 有着相当大的改进,主要表现为以下几个方面。
新的调度器
Linux 2.6 以后版本的 Linux 内核使用了新的进程调度算法,它在高负载的情况下有极其出色的性能,并且当有很多处理器时也可以很好地扩展。在 Linux 内核 2.6 的早期采用了 O(1)算法,之后转移到 CFS(Completely Fair Scheduler,完全公平调度)算法。在 Linux 3.14 中,也增加了一个新的调度类:SCHED_DEADLINE,它实现了 EDF(Earliest Deadline First,最早截止期限优先)调度算法。
tips
本文总结了工作过程中可能遇到的各种问题的解决方法的链接。
typora破解版下载链接:https://blog.csdn.net/weixin_43580824/article/details/131371951
code的c++的代码规范格式
c++插件设置搜索format,C_Cpp: Clang_format_fallback Style中填入,详见clang-format-fallback-style目录的config.json
参考文档:
使用 git
本文是一个使用 git 的简要总结。
- 准备工作,git 配置 ssh:https://blog.csdn.net/lqlqlq007/article/details/78983879
- 第一次拉取,以 github 服务器为例,其他服务器将 github.com 替换成为对应的 IP 或者域名:git clone git@github.com:xxx/xxx.git 前面写用户名,后面写仓库名称;拉取之后会把 github 上的目录拉取到本地,在目录当中会有一个 .git/ 隐藏文件夹,不要动它,这是自动生成的配置