23、uevent/hotplug热拔插机制】的更多相关文章

(class_device_create的目的是为了让mdev根据它注册的信息来创建设备节点) class_device_create class_device_register class_device_add kobject_uevent(&class_dev->kobj, KOBJ_ADD); kobject_uevent_env(kobj, action, NULL); // action_string = "add";action_string在这里被赋值 ac…
框架入口源文件: mdev.c (可根据入口源文件,再按着框架到内核走一遍) 内核版本:linux_2.6.22.6     硬件平台:JZ2440 以下是驱动框架:…
写在前面的话 对于大神,Winform这种“古董玩具”,实在没太多“技术性”可言了,然而『好用才是王道』,本文不以技术为卖点,纯属经验之谈,欢迎交流拍砖 朴素版UI 开发初衷 由于本人所在公司不定时需要开发各种OA.数据处理小工具,需求各式各样,杂七杂八,有临时性需求开发的,有长期使用且要不定时更新的,功能一般只有一两个.又因应用不通用,所以不利于统一整合到某单一系统中,如此导致个别使用者电脑里装了玲琅满目的“小程序”. 随着应用数目的增加,维护管理变得越来越棘手[1].尝试从网上下载过一两个插…
自己配置虚拟机,需要添加一块虚拟硬盘存放数据.虚拟机在更新软件,不想停机.学习了下热拔插硬盘的知识点 1. 在虚拟机中创建虚拟磁盘并添加. 2. 查看目前的磁盘信息cat /proc/scsi/scsi我返回的结果如下: Attached devices: Host: scsi1 Channel: 00 Id: 00 Lun: 00   Vendor: NECVMWar Model: VMware IDE CDR10 Rev: 1.00   Type:   CD-ROM            …
目前实现的功能: 1.设备枚举 2.设置设备禁用和启用 3.注册设备热拔插消息通知 4.获取设备 vid pid 数值 需要链接的库 SetupAPI.lib DeviceManager 类如下: DeviceManager.h #include <string> #include <vector> #include <setupapi.h> #include <initguid.h> #include <devguid.h> #include…
当我们在用VS进行串口编程时,在打开串口前,经常想知道当前PC上存在多少个串口,哪些串口可用?哪些串口已经打开了,最好是在一个Combo Box中列表系统当前所有可用的串口以供选择,然而如何获取系统当前可用的串口有哪些呢? 这里介绍的方法也是最简单也是最笨的一种方法,即一个一个去试,试完了就知道了.至于还有没有其它更好的方法,暂不在本文所讨论的范围之内. 一个在对话框的OnInitDialog函数内做如下操作: 1 初始化时检测串口 BOOL Ctbox_debug_viewDlg::OnIni…
在嵌入式领域使用比较多的是用 mdev 进行热插拔的操作. 文件系统进行配置 # 首先对 /etc/fstab 进行配置 # <file system> <mount pt> <type> <options> <dump> <pass> /dev/root / ext2 rw,noauto 0 1 proc /proc proc defaults 0 0 devpts /dev/pts devpts defaults,gid=5,mo…
Web Storage 最早是在Web 超文本应用技术工作组(WHAT-WG)的Web 应用1.0 规范中描述的. 这个规范的最初的工作最终成为了HTML5 的一部分.Web Storage 的目的是克服由cookie 带来的一些限制,当数据需要被严格控制在客户端上时,无须持续地将数据发回服务器.Web Storage 的两个主要目标是: 提供一种在cookie 之外存储会话数据的途径: 提供一种存储大量可以跨会话存在的数据的机制. 最初的Web Storage 规范包含了两种对象的定义:ses…
HDMI (Pin 19)/DVI(Pin16)的功能是热插拔检测(HPD),这个信号将作为HDMI 源端(Source)是否发起EDID读,是否开始发送TMDS信号的依据.HPD是从HDMI显示器端(Sink)生成并输出送往HDMI 源端(Source)的一个检测信号.热插拔检测的作用是当显示器等HDMI接口的显示设备通过HDMI/DVI接口与HDMI 源端(Source)相连或断开连接时,HDMI源端(Source)能够通过HDMI/DVI的HPD引脚检测出这一事件,并做出响应.下面以HDM…
Linux 设备模型浅析之 uevent 篇 本文属本人原创,欢迎转载,转载请注明出处.由于个人的见识和能力有限,不可能面 面俱到,也可能存在谬误,敬请网友指出,本人的邮箱是 yzq.seen@gmail.com,博客是 http://zhiqiang0071.cublog.cn. Linux 设备模型,仅仅看理论介绍,比如 LDD3 的第十四章,会感觉太抽象不易理解,而 通过阅读内核代码就更具体更易理解,所以结合理论介绍和内核代码阅读能够更快速的理解掌 握 linux 设备模型.这一序列的文章…
Udev介绍 Udev的下载网址:http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev/ Udev分为三个子计划:namedev,libsysfs和udev.Namedev为设备命名子系统,libsysfs提供访问sysfs文件系统,从中获取信息的标准接口.Udev是提供/dev设备节点文件的动态创建和删除策略. Namedev 使用5个步骤来决定指定设备的命名. (1)       标签/序列号 (2)       设备总线号 (3…
http://www.freesoftwaremagazine.com/articles/drivers_linux http://blog.csdn.net/jianchi88/article/details/6997615 http://blog.csdn.net/linux_xiaomugua/article/details/6989386 http://www.chinaunix.net/old_jh/4/1058833.html 要实现 hotplug 机制,需要有用户空间的程序配合才…
一.创建asm磁盘的几种方式 创建asm方式很多主要有以下几种 1.Faking方式 2.裸设备方式 3.udev方式(它下面有两种方式) 3.1 uuid方式. 3.2 raw方式(裸设备方式) 4.asmlib方式(oracleasm) 二.环境情况采样 [grid@shdb02 ~]$ cat…
hotplug就是热拔插,在linux里面,这个功能是通过class_device_create这个函数来实现的,那么我们来分析下这个函数: class_device_create(cls, NULL, MKDEV(major, 0), NULL, "dma"); /* /dev/dma */           class_device_register(class_dev);                     class_device_add(class_dev);    …
内核模块的热插拔事件的通知基于uevent机制. 当kobject的状态发生改变(如,add, remove等)时,会通知用户空间,用户空间接收到事件通知后可以做相应的处理.uevent把事件上报给用户空间的两种途径: 1.通过kmod模块,直接调用用户空间的可执行程序或脚本. 2.通过netlink通信机制,将事件从内核空间传递到用户空间. linux-3.5/include/linux/kobject.h // ADD/REMOVE,Kobject(或上层数据结构)的添加/移除事件. //…
转自:http://blog.csdn.net/lxl584685501/article/details/46379453 [-] 一Uevent机制 Uevent在kernel中的位置 Uevent的内部逻辑解析 二Input子系统 从应用层的角度出发看input子系统 输入设备上报事件的处理过程 通过设备节点读取输入事件 通过设备节点写入输入事件 总结   一.Uevent机制 1.前提摘要 (1)Sysfs文件系统 内核设备模型主要的模块和用户之间能看到的相关部分就是sysfs文件系统了.…
关于udev和mdev之间的区别与联系我发现自己现在还没有把它完整的给区分开来和联系起来. 设备文件系统有devfs,mdev,udev mdev是udev的简化版本,是busybox中所带的程序,最适合用在嵌入式系统,而udev一般用在PC上的linux中,相对mdev来说要复杂些,devfs是2.4内核引入的,而在2.6内核中却被udev所替代,他们有着共同的优点,只是devfs中存在一些未修复的BUG,作者也停止了对他的维护,最显著的一个区别,采用devfs时,当一个并不存在的设备结点时,…
    udev 机制,主要实现的是当设备连接系统的时候,在 /dev 目录下,自动创建设备节点.   1.1.工作方式     当设备连接或者移除的时候,内核会发出热拔插事件(hotplug event),而热拔插的时候,设备的详细的信息会由内核通过 netlink 套接字发送出来,发送出来的事情,我们称之为 uevent.udev 基址,就根据这些内核发出来的信息,去创建设备文件节点工作,而设备的命名策略.权限控制.事件处理都是由 udev 规则文件去执行. (1)内核检测设备的连接状况,通…
mdev手册(自己翻译的留着看) mdev实现U盘或SD卡的自动挂载 mdev的使用以及mdev.conf的规则配置--busybox linux中的热插拔和mdev机制 关于实现udev/mdev自动挂载与卸载 udev 文件系统制作 mdev手册(自己翻译的留着看) -------------- MDEV 入门---------------对于那些懂得怎么样使用mdev的人来说,这个mdev入门看起来就有点跛足别扭,但是对于其他的那些人,也就是所谓的primers来说,他们觉得mdev是一个…
一.uevent机制 在分析之前,我们首先要知道uevent作用是什么.在此我们先来看一个uevent机制的框架图: 该图片来自:Linux设备模型(3)_Uevent 通过图片我们可以确定uevent的作用:设备产生上报事件时会触发uevent接口,uevent则通过netlink和kmod这两种方式把事件上报到用户空间.kmod会直接调用用户空间的程序,netlink只是将事件上报到用户空间. 之前我们分析的大部分设备驱动都会在/dev/目录下创建节点给用户使用.那么在我们调用device_…
23.1 离线检测23.2 应用缓存23.3 数据存储 23.3.1 Cookie 23.3.2 IE 用户数据 23.3.3 Web 存储机制 23.3.4 IndexedDB   23.1 离线检测navigator.onLine ? "Online" : "Offline"支持离线检测的浏览器有IE 6+(只支持navigator.onLine 属性).Firefox 3.Safari 4.Opera 10.6.Chrome.iOS 3.2 版Safari 和…
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://alanwu.blog.51cto.com/3652632/1109952 writeback机制模型   在Linux-3.2新内核中,page cache和buffer cache的刷新机制发生了改变.放弃了原有的pdflush机制,改成了bdi_writeback机制.这种变化主要解决原有pdflush机制存在的一个问题:在多磁盘的系统中,pdflush管理了所有磁盘的pa…
一.什么是Java反射机制? [1]反射机制是在运行状态中,对于任何一个类,都能够知道这个类的所有属性和方法: [2]对于任意一个对象,都能够调用它的任意一个属性和方法: 像这种动态获取类的信息以及动态调用对象的方法的骚操作称为java语言的反射机制. 二.Java反射机制能够获取及操作哪些信息? [1]获取类的包名 + 类名 1 package com.zyy.test.reflect; 2 3 public class TestReflect { 4 5 public static void…
HDFS前言: 1) 设计思想 分而治之:将大文件.大批量文件,分布式存放在大量服务器上,以便于采取分而治之的方式对海量数据进行运算分析: 2)在大数据系统中作用: 为各类分布式运算框架(如:mapreduce,spark,tez,……)提供数据存储服务 3)重点概念:文件切块,副本存放,元数据 4).NameNode节点:由core-site.xml配置指定(name=fs.defaultFS,value=hdfs://slaver1:8020).   DataNode/NodeManager…
转:https://blog.csdn.net/morixinguan/article/details/79343578 关于Hardware ID的用途,在前面已经大致的解释了它的用途,以及它和ACPI以及PNP之间的关系: http://blog.csdn.net/morixinguan/article/details/79092440 接下来主要来看看在Linux内核中,内核是怎么去通过BIOS传递的参数表,传递对应的字串,然后内核又是如何来解析它,最终为Linux驱动统一模型所用.其实A…
一.Java反射的理解(反射是研究框架的基础之一) Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的功能称为Java语言的反射机制. 二.逐步分析 参考:https://blog.csdn.net/u012585964/article/details/52011138 1.关于Class 1.Class是一个类,一个描述类的类(也就是描述类本身),封装了描述方法的Met…
原文网址:http://www.cnblogs.com/kulin/archive/2013/01/04/linux-core.html Linux内核裁减 (1)安装新内核: i)将新内核copy到/usr/src下, #tar xzvf linux-2.6.38.4.tar.gz -----解压缩. ii) 将名为linux的符号链接删掉,这是旧版本内核的符号链接. #ln -s linux-2.6.38.4 linux ------建立linux-2.6.38.4的符号链接linux. (…
转自:http://www.wowotech.net/linux_kenrel/uevent.html 1. Uevent的功能 Uevent是Kobject的一部分,用于在Kobject状态发生改变时,例如增加.移除等,通知用户空间程序.用户空间程序收到这样的事件后,会做相应的处理. 该机制通常是用来支持热拔插设备的,例如U盘插入后,USB相关的驱动软件会动态创建用于表示该U盘的device结构(相应的也包括其中的kobject),并告知用户空间程序,为该U盘动态的创建/dev/目录下的设备节…
一.UDEV是什么? Udev是一个针对Linux内核2.6的可提供自动创建的设备节点和命名的解决方法的一个文件系统:其实与/etc/目录下的fstab文件类似 二.Udev如何获取内核这些模块的变化信息? 参考博客:http://blog.chinaunix.net/uid-24943863-id-3223000.html 设备节点的创建,是通过sysfs接口分析dev文件取得设备节点号,这个很显而易见.那么udevd是通过什么机制来得知内核里模块的变化情况,如何得知设备的插入移除情况呢?当然…
1.安装mkyaffsimage, mkyaffs2image命令(用来制作yaffs文件系统) 第一个命令针对Flash小页512B,第二个针对Flash大页2KB首先下载压缩文件 yaffs_source_util_larger_small_page_nand.tar.bz2安装mkyaffs2image命令为例: tar –xjf yaffs_source_util_larger_small_page_nand.tar.bz2 //解压出yaffs1和yaffs2 cd /Developm…