文件系统

文件系统缓存

#To free pagecache echo 1 > /proc/sys/vm/drop_caches #To free dentry and inode cache echo 2 > /proc/sys/vm/drop_caches #To free pagecache,dentry cache,inode cache echo 3 > …

◷ 2023-06-05 📁 文件系统 👤 laumy 🔥 1202 热度 💬 0 评论

一切皆文件之块设备驱动(五)

实验环境 准备 kernel version: linux 5.15 kernel module: 块设备:simpleblk.ko 文件系统:simplefs.ko application: 制作文件系统:mkfs.simplefs 步骤 1.加载块设备驱动:in

◷ 2023-06-04 📁 文件系统 👤 laumy 🔥 450 热度 💬 0 评论

一切皆文件之块设备驱动(四)

实验环境 kernel version: linux 5.15 kernel module: simpleblk.ko 参考上一章节 application:app_test 参考上一章节 块设备无文件系统方式读写 写数据 存储设备没有格式化挂载文件系统,那么对磁盘设备的操作会经过/de

◷ 2023-06-04 📁 文件系统 👤 laumy 🔥 1103 热度 💬 0 评论

一切皆文件之块设备驱动(三)

块设备驱动示例 #include <linux/blk_types.h> #include <linux/blkdev.h> #include <linux/device.h> #include <linux/blk-mq.h> #include <linux/list.h> #include <linux/module.h> #include …

◷ 2023-06-04 📁 文件系统 👤 laumy 🔥 730 热度 💬 0 评论

一切皆文件之块设备驱动(二)

打开块设备 mknod 块设备同样要使用mknod创建设备节点,这与字符设备一样。会调用到init_special_inode填充inode的file_operations,只不过块设备注册的

◷ 2023-06-04 📁 文件系统 👤 laumy 🔥 819 热度 💬 0 评论

一切皆文件之块设备驱动(一)

块设备驱动简介 在linux系统中,有3大驱动类型,分别是:字符设备驱动、块设备驱动、网络设备驱动。块设备驱动与文件系统有着密不可分的关系,块设备是文件系统实际的数据传输单位,通常存

◷ 2023-06-03 📁 文件系统 👤 laumy 🔥 553 热度 💬 0 评论

一切皆文件之字符设备

#include <linux/module.h> #include <linux/fs.h> #include <linux/uaccess.h> #define DEVICE_NAME "mychardev" #define BUFFER_SIZE 1024 static char device_buffer[BUFFER_SIZE]; static …

◷ 2023-05-28 📁 文件系统 👤 laumy 🔥 316 热度 💬 0 评论

文件系统常见系统调用

上一章节中,我们编写了没有带磁盘设备的文件系统,了解了文件系统操作的大致流程,本章节我们继续在上一章节的基础上完善文件系统,并梳理从用户空间到内核空间大致的调用流程。实验的代码我们

◷ 2023-05-27 📁 文件系统 👤 laumy 🔥 306 热度 💬 0 评论

实现简单文件系统

文件系统注册与挂载 static struct file_system_type simplefs_fs_type = { .owner = THIS_MODULE, .name = "simplefs", .mount = simplefs_mount, .kill_sb = simplefs_kill_sb, }; static int __init …

◷ 2023-05-21 📁 文件系统 👤 laumy 🔥 934 热度 💬 0 评论

虚拟文件系统

Linux系统中支持多种不同的文件系统,为了是用户可以通过一个文件系统操作界面,对各种不同的文件系统进行操作,在具体的文件系统(ext2/ext4等)之上增加了一层抽象一个统一的虚

◷ 2023-05-20 📁 文件系统 👤 laumy 🔥 520 热度 💬 0 评论

文件系统磁盘管理

磁盘空间布局 Extx将磁盘划分为等份的若干区域(最后一个区域可能会小一些),这些区域称为块组(block group)。磁盘以块组为单位进行管理。每个块组再划分为相同大小的block

◷ 2023-05-14 📁 文件系统 👤 laumy 🔥 301 热度 💬 0 评论

文件系统基本概念

mount的机制是如何实现的? inode是如何分配的。磁盘inode和内存inode有什么区别? dentry缓存是怎么回事?如何管理? free命令中Cache和buff有什么区别?

◷ 2023-05-13 📁 文件系统 👤 laumy 🔥 340 热度 💬 0 评论