Kbuild 1. 什么是 kbuildLinux 是一个单体内核,也就意味着整个内核运行在同一个地址空间中,这当然有很多性能上的好处,也同时带来了一个挑战,必须要在编译期间选择想要的特性。 同时,Linux 不是一个纯粹的单体内核(monolithic kernel),因为它可以在运行时使用可加载的内核模块(loadable kernel modules)进行扩展。要加载模块,内核必须包含模块中使用的所有内核 2022-01-20 linux
Mount 1. 什么是 mount一个文件系统创建之后,并无法直接使用,相当于完成了注册,但是还未登录,对于文件系统来说,登录的这个步骤就是 mount。 一般来说,如果有一个磁盘设备,比如将一个 ext2 格式的移动硬盘(假设分配的设备名为 /dev/sdb1)插到了 Linux 主机上,若系统没有给我们自动挂载,就需要我们手动输入 mount 命令来挂载,如: mount -t ext2 /dev/sd 2022-01-19 linux
Proc Fs 1. procfs 是什么众所周知,文件系统是 Linux 的骨架,proc 文件系统就是其中一个展示程序运行状态的虚拟文件系统。 如果你查看 /proc 目录下的内容,会发现,除了一堆数字命名的文件夹,还有很多杂七杂八的文件,比如 kallsyms cpuinfo meminfo,这些文件也都是系统的一些信息,比如 kallsyms 可以展示当前 vmlinux 的所有符号,cpuinfo 展示 2022-01-19 linux
Seq File Seq File 在 Linux 中很常见,因此这里稍微整理一下,也分享一下我的理解。 由于 procfs 的默认操作函数只使用一页的缓存,在处理较大的proc文件时就有点麻烦,并且在输出一系列结构体中的数据时也比较不灵活,因此内核开发者们抽象出了seq_file(Sequence file:序列文件)接口。 提供了一套简单的函数来解决以上 procfs 编程时存在的问题,使得编程更加容易。 同时 2022-01-19 linux