2. 关于文件(第二部分)

本文探讨了Linux系统中/dev目录的文件创建流程,重点在于devtmpfs文件系统如何在系统启动时初始化,并通过内核线程devtmpfsd创建设备文件。文章详细分析了device_add函数在设备注册时的角色,以及在音频设备上下文中的应用,例如在sound目录下的snd_register_device函数。还介绍了dev_t类型在表示设备号中的作用。
摘要由CSDN通过智能技术生成

2.3 dev目录

之前提到过,音频相关的文件保存在/dev/snd目录下。dev 目录是基于ramfs文件系统构建的,是一个纯内存的文件系统。它的实现与磁盘文件系统比起来并不完全相同,不过会更简单一些。ramfs的代码在fs/ramfs目录下。而具体构建工作在driver/base/devtmpfs.c中完成,另外它提供了一些结口去生成子目录文件等。

简略的看一下代码,理解一下大概的流程:

/*
 * Create devtmpfs instance, driver-core devices will add their device
 * nodes here.
 */
int __init devtmpfs_init(void)
{
	char opts[] = "mode=0755";
	int err;

	mnt = vfs_kern_mount(&internal_fs_type, 0, "devtmpfs", opts);
	if (IS_ERR(mnt)) {
		printk(KERN_ERR "devtmpfs: unable to create devtmpfs %ld\n",
				PTR_ERR(mnt));
		return PTR_ERR(mnt);
	}
	err = register_filesystem(&dev_fs_type);
	if (err) {
		printk(KERN_ERR "devtmpfs: unable to register devtmpfs "
		       "type %i\n", err);
		return err;
	}

	thread &#
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值