
文件系统
linux内核之文件系统部分
书笑生
这个作者很懒,什么都没留下…
展开
-
Linux自己编写一个字符设备驱动的实例(+代码)
字符设备驱动Linux字符设备提供连续的数据流,应用程序可以顺序读取,通常不支持随机存取。相反,此类设备支持按字节/字符来读写设备。举例来说,键盘,串口,调制解调器都是典型的字符设备。设备分类linux系统将设备分为3类:字符设备、块设备、网络设备。字符设备:是指只能一个字节一个字节读写的设备,不能随机读取设备内存中的某一数据,读取数据需要按照先后数据。字符设备是面向流的设备,常见的字符设备有鼠标、键盘、串口、控制台和LED设备等。块设备:是指可以从设备的任意位置读取一定长度数据的设备。块设备包原创 2020-12-07 16:33:53 · 849 阅读 · 0 评论 -
理解块设备驱动、通用块层、IO调度层的关系和试验
编写块设备1.用户进程与块设备的联系从我们打开文件开始即存在一个file结构体struct file { ... struct address_space *f_mapping; ...};file结构体中内嵌文件地址空间对象结构体address_spacestruct address_space { struct inode *host; /* owner: inode, block_device */ ...} __attribute__((aligned(sizeof(l原创 2020-12-07 16:32:53 · 1020 阅读 · 1 评论 -
虚拟文件系统相关的数据结构和操作
虚拟文件系统虚拟文件系统所隐含的思想是把表示很多不同种类文件系统的共同信息放入内核;其中有一个字段或函数来支持Linux所支持的所有实际文件系统所提供的任何操作。对所调用的每个读、写或其他函数,内核都能把它们替换成支持本地Linux文件系统、NTFS文件系统,或者文件所在的任何其他文件系统的实际函数。虚拟文件系统(VFS)的作用虚拟文件系统(Virtual Filesystem)也可以称之为虚拟文件系统转换(Virtual Filesystem Switch,VFS),是一个内核软件层,用来处理与Un原创 2020-11-23 11:31:35 · 171 阅读 · 0 评论 -
linux中vfs系统调用的实现
vfs系统调用的实现前言用户发出了一条shell命令:把/floppy/TEST 中的MS-DOS 文件拷贝到/tmp/test中的Ext2 文件中。命令shell 调用一个外部程序(如cp),我们假定cp执行下列代码片段:inf = open("/floppy/TEST", O_RDONLY,0);outf = open("/tmp/test", O_WRONLY |O_CREAT |O_TRUNC,0600);do {len = read(inf, buf, 4096);write(out原创 2020-11-23 11:29:17 · 1007 阅读 · 1 评论 -
虚拟文件系统的数据结构
虚拟文件系统虚拟文件系统所隐含的思想是把表示很多不同种类文件系统的共同信息放入内核;其中有一个字段或函数来支持Linux所支持的所有实际文件系统所提供的任何操作。对所调用的每个读、写或其他函数,内核都能把它们替换成支持本地Linux文件系统、NTFS文件系统,或者文件所在的任何其他文件系统的实际函数。虚拟文件系统(VFS)的作用虚拟文件系统(Virtual Filesystem)也可以称之为虚拟文件系统转换(Virtual Filesystem Switch,VFS),是一个内核软件层,用来处理与Un原创 2020-08-24 19:21:19 · 513 阅读 · 0 评论