概述sysfs文件系统【转】】的更多相关文章

转自:http://blog.csdn.net/npy_lp/article/details/78933292 内核源码:linux-2.6.38.8.tar.bz2 目标平台:ARM体系结构 sysfs是基于内存的文件系统,用于向用户空间导出内核对象并且能对其进行读写. 1.sysfs文件系统不支持特殊文件,只支持目录.普通文件(文本或二进制文件)和符号链接文件等三种类型,在内核中都使用struct  sysfs_dirent结构体来表示,相当于其他文件系统在硬盘或flash里的数据.源代码如…
The sysfs Filesystem | sysfs文件系统 Abstract | 摘要 sysfs is a feature of the Linux 2.6 kernel that allows kernel code to export information to user processes via an in-memory filesystem. The organization of the filesystem directory hierarchy is strict, a…
本文将对Linux系统中的sysfs进行简单的分析,要分析sysfs就必须分析内核的driver-model(驱动模型),两者是紧密联系的.在分析过程中,本文将以platform总线和spi主控制器的platform驱动为例来进行讲解.其实,platform机制是基于driver-model的,通过本文,也会对platform机制有个简单的了解. 内核版本:2.6.30 1. What is sysfs? 个人理解:sysfs向用户空间展示了驱动设备的层次结构.我们都知道设备和对应的驱动都是由内…
http://blog.csdn.net/dndxhej/article/details/7434615 对sysfs和设备模型有了解的都会知道sysfs实际是为了将设备模型导出到用户空间的一个内存文件系统. 设备模型的关键结构体kobject会组成设备模型的树形结构,而sysfs的关键结构体sysfs_dirent也是类似的树形的结构,vfs中的dentry同样是类似的树形结构. sysfs目录文件的创建都是由设备模型的上层构件(bus device driver class)在注册的时候调用…
Proc文件系统是提供一个接口给用户,让用户可以查看系统运行的一些状态信息,让用户修改内核的一些参数,比方说printk的打印级别就可以通过proc去修改 Sysfs文件系统, Sysfs is a ram-based filesystem initially based on ramfs. It provides a means to export kernel data structures, their attributes, and the linkages between them t…
一.sysfs简介1.sysfs就是利用VFS的接口去读写kobject的层次结构,建立起来的文件系统.其更新与删除是那些xxx_register()/unregister()做的事 情.从sysfs中读写就相当于从kobject层提取数据.每当新增一个kobject结构时,就会在sysfs中增加一个目录.kobject对应的是文件 夹,attribute对应的是该文件夹下的文件.它是一个简单的文件系统,不涉及任何硬件驱动.sysfs来源于设备的层次结构,读sysfs文件就是动态地从设备树中寻找…
转:http://www.360doc.com/content/11/1218/16/1299815_173168170.shtml sysfs把连接在系统上的设备和总线组织成为一个分级的目录及文件,它们可以由用户空间存取,向用户空间导出内核数据结构以及它们的属性,这其中就包括设备的主次设备号.新的设备文件系统udev的工作过程就依赖于sysfs文件系统的这些功能特点.udev文件系统在用户空间工作,它可以根据sysfs文件系统导出的信息(设备号(dev)等),动态建立和删除设备文件(下文详细介…
3 sysfs文件系统 sysfs是一个基于内存的文件系统,它的作用是将内核信息以文件的方式提供给用户程序使用.该文件系统的目录层次结构严格按照内核的数据结构组织.除了二进制文件外(只有特殊场合才使用),sysfs文件内容均以ASCII格式保存,且一个文件只保存一个数据,另外,一个文件不可大于一个内存页(通常为4096字节). sysfs提供一种机制,使得可以显式的描述内核对象.对象属性及对象间关系.sysfs有两组接口,一组针对内核,用于将设备映射到文件系统中,另一组针对用户程序,用于读取或操…
sysfs 文件系统有通常的树结构, 反映它代表的 kobjects 的层次组织. 但是内核中对象 间的关系常常比那个更加复杂. 例如, 一个 sysfs 子树 (/sys/devices )代表所有的系 统已知的设备, 而其他的子树( 在 /sys/bus 之下 )表示设备驱动. 这些树, 但是, 不代 表驱动和它们所管理的设备间的关系. 展示这些附加关系需要额外的指针, 指针在 sysfs 中通过符号连接实现. 创建一个符号连接在 sysfs 是容易的: int sysfs_create_l…
个人理解:sysfs向用户空间展示了驱动设备的层次结构.我们都知道设备和对应的驱动都是由内核管理的,这些对于用户空间是不可见的.现在通过sysfs,可以在用户空间直观的了解设备驱动的层次结构. 我们来看看sysfs的文件结构: [root@yj423 /sys]#lsblock     class     devices   fs        modulebus       dev       firmware  kernel    power block:块设备 bus:系统中的总线 cla…
https://en.wikipedia.org/wiki/Sysfs http://man7.org/linux/man-pages/man5/sysfs.5.html https://www.kernel.org/doc/Documentation/filesystems/sysfs.txt…
首先需要初始化操作: s32 gtp_sysfs_init(void) { s32 ret ; debug_kobj = kobject_create_and_add("gtp", NULL) ; //SET_INFO_LINE_INFO("Starting initlizing gtp_debug_sysfs"); if (debug_kobj == NULL) { GTP_ERROR("%s: subsystem_register failed\n&q…
本文转载自:http://blog.csdn.net/fengyuwuzu0519/article/details/74838165 版权声明:本文为博主原创文章,转载请注明http://blog.csdn.net/fengyuwuzu0519.   目录(?)[+]   学习中platform平台驱动中,慢慢发现底层有一个叫做Linux设备驱动模型的东西.发现是它是底层驱动重要的组织结构,现在针对设备驱动模型进行分析.从而加深对整个设备驱动注册的理解. 用户空间程序通过sysfs虚拟文件系统访…
catalog . 引言 . proc文件系统 . 简单的文件系统 . sysfs 0. 引言 传统上,文件系统用于在块设备上持久存储数据,但也可以使用文件系统来组织.提供.交换并不存储在块设备上的信息,这些信息可以由内核动态生成,VFS的虚拟抽象层从架构上提供了这种功能,我们接下来着重讨论几种无持久存储的文件系统 . proc文件系统(proc filesystem) 它使得内核可以生成与系统的状态和配置有关的信息,该信息可以由用户和系统程序从普通文件读取,而无需专门的工具与内核通信(通过简单…
proc文件系统 proc文件系统是一种虚拟的文件系统,其信息不能从块设备读取.只有在读取文件内容时,才动态生成相应的信息. /proc的内容 内存管理 系统进程的特征数据 文件系统 设备驱动程序 系统总线 电源管理 终端 系统控制参数 特定于进程的数据 cmdline:用于启动进程的命令行(用0作为分隔符,而不是空格) environ表示为该程序设置的所有环境变量 maps以文本形式,列出了进程使用的所有库的内存映射. status包含了有关进程状态的一般信息(不仅提供了有关UID/GID及进…
本文为原创,转载请注明:http://www.cnblogs.com/tolimit/ SLUB和SLAB的区别 首先为什么要说slub分配器,内核里小内存分配一共有三种,SLAB/SLUB/SLOB,slub分配器是slab分配器的进化版,而slob是一种精简的小内存分配算法,主要用于嵌入式系统.慢慢的slab分配器或许会被slub取代,所以对slub的了解是十分有必要的. 我们先说说slab分配器的弊端,我们知道slab分配器中每个node结点有三个链表,分别是空闲slab链表,部分空sla…
参考 https://blog.csdn.net/mountzf/article/details/51707853 https://blog.csdn.net/stephen_lu_fahai/article/details/76618581 http://wiki.t-firefly.com/zh_CN/Firefly-RK3399/linux_build_ubuntu_rootfs.html https://blog.csdn.net/w401229755/article/details/5…
linux 设备驱动概述 目前,Linux软件工程师大致可分为两个层次: (1)Linux应用软件工程师(Application Software Engineer):       主要利用C库函数和Linux API进行应用软件的编写: 从事这方面的开发工作,主要需要学习:符合linux posix标准的API函数及系统调用,linux的多任务编程技巧:多进程.多线程.进程间通信.多任务之间的同步互斥等,嵌入式数据库的学习,UI编程:QT.miniGUI等. (2)Linux固件工程师(Fir…
一.内核的任务 纯技术层面上,内核是硬件与软件的之间的一个中间层.作用是将应用程序的请求传递给硬件,并充当底层驱动程序,对系统中的各种设备和组件进行寻址. 从应用程序视角上看,内核可以被认为是一台增强的计算机,将计算机抽象到一个高层次上.应用程序与硬件本没有联系,只与内核有联系,内核是应用程序所知道的层次结构中的最底层. 当若干程序在同一系统中并发运行时,也可以将内核视为资源管理程序.内核负责将可用共享资源分配到各个系统进程,同时保证系统的完整性. 将内核视为库,其提供了一组面向系统的命令.通常…
概述 因为工作关系,最近有涉及到ADF(Atomic Display Framework)相关的内容,部分内容来自互联网 ADF(Atomic Display Framework)是Google新增的Display框架,用来替换Framebuffer. ADF在Android hwcomposer HAL和内核驱动程序之间提供了以dma-buf为基础的显示框架原型 ADF的结构图引用自:http://blog.csdn.net/Lost_qwe/article/details/43113301…
关注「开源Linux」,选择"设为星标" 回复「学习」,有我为您特别筛选的学习资料~ 1.Linux 虚拟文件系统介绍 在 Linux 系统中一切皆文件,除了通常所说的狭义的文件以外,目录.设备.套接字和管道等都是文件. 文件系统在不同的上下文中有不同的含义: 在存储设备上组织文件的方法,包括数据结构和访问方法,到存储设备. 按照某种文件系统类型格式化的一块存储介质.我们常说在某个目录下挂载或卸载文件系统, 这里的文件系统就是这种意思. 内核中负责管理和存储文件的模块,即文件系统模块.…
虚拟内核文件系统(VirtualKernel File Systems),是指那些是由内核产生但不存在于硬盘上(存在于内存中)的文件系统.例如 1.proc proc文件系统为操作系统本身和应用程序之间的通信提供了一个安全的接口.通过它里面的一些文件,可以获取系统状态信息并修改某些系统的配置信息.当我们在内核中添加了新功能或设备驱动时,经常需要得到一些系统状态的信息,一般这样的功能需要经过一些像ioctl()这样的系统调用来完成. 2.devfs 我们知道,/dev目录下的每一个文件都对应的是一…
Android 4.2.2 版本的文件系统 内核版本为 3.0.31 版本号为JDQ39 factory//估计是存放网络通信协议的登录密钥的|-- bluetooth|-- hdcp.keys|-- imei|-- lost+found|-- nv.log|-- nv_data.bin|-- nv_data.bin.md5|-- wifi|-- wv.keyssdcard// 是SD卡中的FAT32文件系统挂载的目录.SD卡中的EXT2分区的挂载目录|-- Music|-- Podcasts|…
概述 yaffs2文件系统镜像通过mkyaffs2img工具制作,由源码可编译出两个镜像工具mkyaffsimage和mkyaffs2image,其中mkyaffsimage是针对yaffs文件系统,而mkyaffs2image是针对yaffs2文件系统(yaffs和yaffs2区别可参考官方文档HowYaffsWorks.pdf). mkyaffs2image用法: mkyaffsimage: image building tool for YAFFS built Apr 29 2008 us…
1. 概述yaffs文件系统专为Nandflash设计的日志文件系统,占用page中oob区域.目前有两个版本的yaffs文件系统.nandflash不可靠,存在坏块,存在数据错误,需要软件弥补纠正此错误.在yaffs中分配单元为CHUNK(chunk),一般情况,典型情况下其值与一页(page)大小相同(同时可灵活配置).yaffs中文件数据的存储以chunk为单位.YAFFS是专为为NandFlash设计的文件系统,基于MTD,为单线程程序.官网:http://www.yaffs.net/y…
进入 Linux 根目录(即“/”, Linux 文件系统的入口, 也是处于最高一级的目录),运行“ls –l”命令,可以看到 Linux 系统包含以下目录. 1./bin 包含基本命令,如 ls.cp.mkdir 等,这个目录中的文件都是可执行的. 2./boot Linux 系统的内核及引导系统程序所需要的文件,如 vmlinuz.initrd.img 文件都位于这个目录中. 3./dev 设备文件存储目录,应用程序通过对这些文件的读写和控制就可以访问实际的设备. 4./etc 系统配置文件…
转自:http://blog.chinaunix.net/u1/51562/showart_1076295.html 一:前言 在设备模型中,sysfs文件系统用来表示设备的结构.将设备的层次结构形象的反应到用户空间中.用户空间 可以修改sysfs中的文件属性来修改设备的属性值,今天我们就来详细分析一下,sysfs的实现. 二:sysfs的初始化和挂载 Sysfs文件系统的初始化是在sysfs_init()中完成的,代码如下: int __init sysfs_init(void) { int …
IOS中的文件系统和数据的永久性存储 目录 概述——对文件系统和数据的永久性存储的理解 IOS中数据的永久性存储 NSUserDefaults 解档和归档 数据库 文件系统 NSBundle IOS的Document.Library(Caches.Preference).tmp NSFileManager 获得NSFileManager 判断文件夹/文件是否存在 创建文件夹 创建文件 删除文件或文件夹 概述——对文件系统和数据的永久性存储的理解 程序运行时数据的读取和写出,往往都是存在内存中的,…
  Linux设备模型——设备驱动模型和sysfs文件系统解读 内核版本:2.6.30 1. What is sysfs? 个人理解:sysfs向用户空间展示了驱动设备的层次结构.我们都知道设备和对应的驱动都是由内核管理的,这些对于用户空间是不可见的.现在通过sysfs,可以在用户空间直观的了解设备驱动的层次结构. 我们来看看sysfs的文件结构: [root@yj423 /sys]#ls block     class     devices   fs        module bus   …
linux发展第一阶段 01devfs(linux2.6之前) 02udev(用户空间) 03sysfs(linux2.6之后,描述设备属性) linux发展第二阶段 01sysfs+udev(udev用户空间) 02devfs(内核空间) 03proc:在用户态检查内核状态的机制 各个内容简介: 01 sysfs特性: 同比devfs而言:linux2.6之后 作用:表示设备结构,属性 在驱动中用到函数: /*------------------------------------------…