linux的udev和sysfs

A

sysfs

sysfs 把连接在系统上的设备和总线组织成为一个分级的文件,它们可以被从用户

的空间存取到。

简单介绍sysfs文件系统,您可能想知道 sysfs 是怎么认出系统中存在的设备以及应

该使用什么设备号。对于已经编入内核的驱动程序,当被内核检测到的时候,会直接

在 sysfs 中注册其对象;对于编译成模块的驱动程序,当模块载入的时候才会这样做

。一旦挂载了 sysfs 文件系统(挂载到 /sys),内建的驱动程序在 sysfs 注册的数据就可以被用户空间的进程使用,并提供给 udev 以创建设备节点。

1. sysfs的挂载点是/sys目录, sysfs是一个虚拟的文件系统(还有其它的虚拟文件

系统,例如usbfs和procfs),sysfs导出了内核的数据结构。

2. /sys/dev/ 和/sys/devices是sysfs按面向对象管理的思想来组织,sysfs最主要是用来描绘Linux kernel 2.6中的设备驱动模型,用户态的后台程序(udev)会动态地周期性的扫描/sys目录中的属性项来自动管理设备文件(也称为设备节点),从而在/dev目录会建立或者删除对应的设备文件。

B

udev

udev是一种工具,它能够根据系统中的硬件设备的状况动态更新设备文件,包括设备

文件的创建,删除等。设备文件通常放在/dev目录下,使用udev 后,在/dev下面只包含系统中真实存在的设备。它于硬件平台无关的,位于用户空间,需要内核sysfs和tmpfs的支持,sysfs为udev提供设 备入口和uevent通道,tmpfs为udev设备文件提供存放空间。

在unix和类unix系统中,硬件设备可以通过/dev目录下的特殊文件进行访问,这些文件又被称为设备文件或设备节点。通过操作普通文件一样读写这些文件可以利用内核设备驱动程序与硬件设备通信,而这个过程不是读写磁盘上的数据,网上有许多描述/dev目录下文件细节的资源。以前,这些特殊文件是在系统安装的时候通过mknod命令创建的,最近几年,linux系统开始使用udev来在运行时管理/dev下的设备文件。如udev将在设备被检测到时创建设备文件并在设备移除时删除这些文件,包括热插拔设备。因此,/dev目录下的大多数设备文件只在设备的存续期内存在于系统中。udev根据sysfs向用户空间导出的消息来建立设备文件。

时间: 2024-09-28 21:22:10

linux的udev和sysfs的相关文章

linux下udev简介【转】

本文转载自:http://blog.csdn.net/skyflying2012/article/details/9364555 一.关于Udev u即user space,dev是device,通过它的名字,我们就可以简单了解到,它是一个和用户态相关的驱动设备管理机制.udev是一个针对2.6内核的文件系统.提供一种基于用户空间的动态设备节点管理和命名的解决方案.用于取代落后的devfs udev与硬件平台无关,属于用户空间的进程,是一个后台程序,它脱离驱动层的关联,而建立在操作系统之上,只要

【转】Linux设备驱动之sysfs

Sysfs文件系统是一个类似于proc文件系统的特殊文件系统,用于将系统中的设备组织成层次结构,并向用户模式程序提供详细的内核数据结构信息. 去/sys看一看,localhost:/sys#ls /sys/block/ bus/ class/ devices/ firmware/ kernel/ module/ power/Block目录:包含所有的块设备Devices目录:包含系统所有的设备,并根据设备挂接的总线类型组织成层次结构Bus目录:包含系统中所有的总线类型Drivers目录:包括内核

Linux下udev详细介绍

每次在搭建OracleRAC环境中,遇到问题最多的就是关于ASM磁盘的的问题,通过查看网上许多搭建RAC的文档,发现Oracle10g RAC大家普遍的修改/etc/udev/rules.d/60-raw.rules,而一些搭建Oracle11R2的RAC,大家都在配置的是/etc/udev/rules.d/99-oracle-asmdevices.rules这个文件,面对这样一种情况,我不是很明白,这两个文件到底有什么区别,这个问题困扰了我很久,直到今天遇到这样一个问题:使用udev管理asm

linux下udev

如果你使用Linux比较长时间了,那你就知道,在对待设备文件这块,Linux改变了几次策略.在Linux早期,设备文件仅仅是是一些带有适当的属性集的普通文件,它由mknod命令创建,文件存放在/dev目录下.后来,采用了devfs,一个基于内核的动态设备文件系统,他首次出现在2.3.46 内核中.Mandrake,Gentoo等Linux分发版本采用了这种方式.devfs创建的设备文件是动态的.但是devfs有一些严重的限制,从 2.6.13版本后移走了.目前取代他的便是文本要提到的udev--

SUSE Linux 使用UDEV配置ASMdisk

node1:~ # cat /etc/issue Welcome to SUSE Linux Enterprise Server 11 SP2  (x86_64) - Kernel \r (\l).node1:~ # node1:/etc/udev/rules.d # fdisk -l Disk /dev/sda: 42.9 GB, 42949672960 bytes255 heads, 63 sectors/track, 5221 cylinders, total 83886080 secto

Linux设备模型——设备驱动模型和sysfs文件系统解读

本文将对Linux系统中的sysfs进行简单的分析,要分析sysfs就必须分析内核的driver-model(驱动模型),两者是紧密联系的.在分析过程中,本文将以platform总线和spi主控制器的platform驱动为例来进行讲解.其实,platform机制是基于driver-model的,通过本文,也会对platform机制有个简单的了解. 内核版本:2.6.30 1. What is sysfs? 个人理解:sysfs向用户空间展示了驱动设备的层次结构.我们都知道设备和对应的驱动都是由内

linux下GPIO的用户层操作(sysfs)

linux的GPIO通过sysfs为用户提供服务,下面是linux kernel里的说明文档,学习一下. GPIO Sysfs Interface for Userspace ================================== Platforms which use the "gpiolib" implementors framework may choose to configure a sysfs user interface to GPIOs. This is

红帽Linux系统安装Oracle11g+udev+ASM详解_Oracle视频培训教程

         1.解讲方法 全程视频演示在Linux操作系统上安装Oracle数据库的全部过程. 2.课程核心全程培训视频教程,高品质的课程.从实践中学习理论,从理论中掌握实践.整个课程以"核心概念+实践动手+胜任实际工作"的方式讲解. 3.课程内容 基础部分: 介绍Oracle数据库相关概念,体系结构,物理结构,逻辑结构,grid组件,ASM存储等. 实战部分: VMware虚拟机的安装.Linux操作系统安装与配置.Linux上udev配置asm磁盘.Grid Infrastr

cdev、udev

udev :应用层的守护进程,由启动脚本加载,负责建立热拨插的接点 cdev :建立字符设备接口 platform device :相关平台直接总线建立的设备,主要出现需要自己直接挂到平台的时候,因为很多驱动都挂到相应的总线上的 ------解决方案--------------------如果没有udevd守护进程,那么/dev下的很多设备文件必须自己mknod 如果没有platform device也没有多少关系,看你的具体的硬件驱动挂那个子系统上,或者总线上 在前面,我们看到了/dev.de