首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

《Essential Linux Dev

例如,如果你正在为一个医疗等级卡编写设备驱动,你可能需要注册自身接受死亡通知,这样,当内核恐慌发生时,你可以关闭医疗电子。 (2)网络设备通知。当一个网络接口卡启动和关闭的时候被发送。...Notifier的应用实例是drivers/net/wan/hdlc.c中的高级数据链路控制(HDLC)协议驱动,它会注册自己到网络设备通知链,以侦测载波状态的改变。...Netdevice Notifier Chain(netdev_chain) 通过register_netdevice_notifier(),my_dev_event_handler()被依附于网络设备通知链...通过改变网络接口设备(如以太网ethX和回环设备lo)的状态可以产生此事件: bash> ifconfig eth0 up 它会导致my_dev_event_handler()的执行。...arch/your-arch/kernel/traps.c 注册一个die通知 register_netdevice_notifier() net/core/dev.c 注册一个

2.1K20
您找到你想要的搜索结果了吗?
是的
没有找到

Linuxdev目录介绍

Linux设备文件目录 01 dev文件目录介绍 Linux中的dev文件目录的全称是device设备的英文,这个目录包含了所有linux中使用的外部设备,但是不包含外部设备的驱动信息。...上面的结果的一些文件目录解释如下: /dev/agpgart:agp接口设备 /dev/hd[a-t]:IDE设备 /dev/sd[a-z]:SCSI设备 /dev/fd[0-7]:标准软驱 /dev.../md[0-31]:软raid设备 /dev/loop[0-7]:本地回环设备 /dev/ram[0-15]:内存 /dev/null:无限数据接收设备 ,相当于回收站 /dev/zero:无限零资源.../null是一个非常有用的字符设备文件,送入这个设备的所有东西都被忽略,如果将任何程序的输出结果重定向到/dev/null,则看不到任何输出信息,可以将它理解为一个“无底洞”。.../dev/mapper/data-main文件系统,Device mapper是Linux2.6内核中提供的一种从逻辑设备到物理设备的映射机制,在该机制下,用户能够很方便的根据自己的需要实现对存储资源的管理

7.8K10

EasyGBS平台设备注册逻辑优化,不允许匿名设备注册

我们在此前的文章中和大家介绍过,由于用户将国标接入密码配置得过于简单,导致用户的EasyGBS平台被大量恶意设备注册。...同时我们也建议用户设置复杂的密码,以防止平台被恶意注册。...我们在测试平台时发现,设备注册到EasyGBS时,若设备ID信息未填写,也能成功注册上来,但是这些设备属于无效数据,如图:并且这些设备ID为空的数据也删除不了,如图:如果平台被恶意注册,则有大量空设备ID...在代码模块中,在注册逻辑中会判断设备ID的内容是否为空,不允许匿名设备向平台注册。代码逻辑如下:这样一来,也能大大提高EasyGBS平台的安全性,有效防止恶意设备的大量注册。...除此之外,平台还具备GIS地图、GPS/北斗定位功能,设备可以通过4G无线网络实时向EasyGBS平台传输设备位置信息,方便用户定位当前位置。

66120

Linuxdev目录引发的思考

/dev目录 如果将一个设备连接到Linux系统时,通常需要一个设备驱动程序才能正常工作。你可以通过设备文件或设备节点与设备驱动程序交互,这些是看起来像普通文件的特殊文件。...继续并在你的系统上通过命令ls /dev查看/dev目录,你将看到系统上有大量的设备文件。...您可能听说过在现代系统中实际上并没有使用SCSI设备,但是我们的Linux系统将SCSI磁盘与/dev中的硬盘驱动器相对应。...它们由一个前缀sd (SCSI磁盘)表示: 常见的SCSI设备文件: /dev/sda -第一块硬盘 /dev/sdb -第二块硬盘 /dev/sda3—第一块硬盘的第三个分区 伪设备设备并不是真正地连接到您的系统...,最常见的伪设备是字符设备: /dev/zero -接受并丢弃所有输入,产生一个连续的NULL(零值)字节流 /dev/null -接受并丢弃所有输入,不产生输出 /dev/random -生成随机数

5.4K20

linux 存储设备

存储结构与管理硬盘一、添加硬盘设备一、添加硬盘设备添加硬盘设备的操作思路:首先需要在虚拟机中模拟添加入一块新的硬盘存储设备,然后再进行分区、格式化、挂载等操作,最后通过检查系统的挂载状态并真实地使用硬盘来验证硬盘设备是否成功添加...Linux系统会自动把这个硬盘主分区抽象成/dev/sdb1设备文件[root@rhel ~]# parentprobe[root@rhel ~]# parentprobe[root@rhel ~]#...---*/二、挂载硬件设备二、挂载硬件设备一般的硬盘设备都是以“/dev/sd”UUID是一串用于标识每块独立硬盘的字符串,具有唯一性及稳定性,特别适合用来挂载网络设备挂载硬件设备步骤1....[root@rhel ~]# vgcreate storage /dev/sdb /dev/sdc第3步:再切割出一个约为150MB的逻辑卷设备。...[root@rhel ~]# e2fsck -f /dev/storage/vo第3步:重置设备在系统中的容量。

12.2K20

linux 设备

,fpga", "rockchip,rk3399"; 3.2节点名 理论个节点名只要是长度不超过31个字符的ASCII字符串即可,Linux内核还约定设备名应写成形如[@]的形式,其中name就是设备名...unit_address一般是设备地址,用来唯一标识一个节点 Linux中的设备树还包括几个特殊的节点,比如chosen,chosen节点不描述一个真实设备,而是用于firmware传递一些数据给OS...这样就可以实现类似函数调用的效果 3.KEY 在设备树中,键值对是描述属性的方式,比如,Linux驱动中可以通过设备节点中的”compatible”这个属性查找设备节点 inux设备树语法中定义了一些具有规范意义的属性...index个irq号 unsigned int irq_of_parse_and_map(struct device_node *dev, int index) #读取该设备的第index个irq号,...并填充一个irq资源结构体 int of_irq_to_resource(struct device_node *dev, int index, struct resource *r) #获取该设备

3.1K20

Linux 常见主设备设备清单

14 音频设备,如 /dev/dsp(数字音频)、/dev/mixer(混音器) 请注意,不同的Linux发行版和不同的设备驱动可能会有所不同,上述设备号只是在大部分系统中的常见设定。...在 Linux 系统中,NVMe 设备通常具有 /dev/nvmeXnY 格式的设备文件名,其中 X 是控制器的编号,Y 是命名空间的编号。...NVMe 设备的主设备号是在设备驱动程序注册到内核时由内核动态分配的,因此,不同的系统,内核版本或配置可能会有所不同。在许多现代 Linux 系统中,NVMe 设备的主设备号可能是 259。...不过,你仍然可以在 NVMe 驱动的源代码中找到关于如何注册设备和处理设备号的代码。NVMe 驱动的源代码通常位于 drivers/nvme/host 目录下。...特定的设备驱动程序,例如 SCSI 或者 NVMe,通常会在它们的代码中调用 register_blkdev 函数来注册一个块设备

46610

Linux设备驱动之字符设备(一)

Linux设备驱动的分类 从上图可以看到Linux系统将各异的设备分为三大类:字符设备,块设备和网络设备。内核针对每一类设备都提供了对应驱动模型架构,包括基本的内核设施和文件系统接口。...主设备号用来标识对于的设备驱动程序,而次设备号则由驱动程序使用,用来标识它所管理的若干同类设备设备号的表示 在linux系统中,设备号用dev_t表示。这是个32位的无符号整数。... --------------------------- typedef __kernel_dev_t dev_t; typedef __u32 _..._kernel_dev_t; 在内核中,dev_t的低20位用来表示次设备号,高12位用来表示主设备号。...随着Linux系统的演变,上述的主次设备号的分发可能在将来会发生变化,所以设备驱动程序开发者应该避免直接使用主次设备号所占的位宽来获得对于的主设备号或次设备号。

7.1K52

Linux设备驱动之字符设备(二)

通过上一节Linux设备驱动字符设备(一)了解了Linux设备驱动的分类,设备号的构成,设备号的申请以及设备号的释放。 在Linux内核中使用struct cdev结构来代码字符设备。...struct kobject kobj 内核的内嵌对象,是Linux设备驱动模型的重要成员。...字符设备注册 在前面知道了如何分配字符设备,以及初始化。接下来的任务就是将字符设备注册到系统中去。内核提供了cdev_add函数,用来将一个字符设备加入到系统中。...该部分在后面Linux字符设备框架一节会详细分析,目前只要明白主要流程即可。 字符设备的注销 当驱动程序需要从系统卸载的时候,就需要使用cdev_del释放字符设备占用的内存。...目前为止,已经了解了设备号,设备号的构成,字符设备分配,字符设备的初始化,字符设备注册以及字符设备的注销。将在下一节通过一个简单的字符设备驱动程序来再次熟悉整个流程,然后总结字符设备驱动的编写模型。

6.1K20

【Android 逆向】Android 系统文件分析 ( 外部存储设备文件 | sbin 命令程序目录 | dev 字符设备目录 )

文章目录 一、外部存储设备文件 二、sbin 命令程序目录 三、dev 字符设备目录 一、外部存储设备文件 ---- /sdcard 文件是一个链接 , 相当于快捷方式 , 其实际的目录是 /storage...WIFI 传输的 adb 命令 , 执行相关响应操作 ; 三、dev 字符设备目录 ---- /dev/ 目录是 字符设备目录 ; drwxr-xr-x 16 root root 3940...2021-10-18 08:53:14.180333478 +0800 dev 当前的命令行终端 , 实际上就是一个 tty 设备 ; /dev/cpu0 对应 cpu 设备 ; /dev/bus...对应 总线 设备 ; 观察权限标识符 , drwx--x--x , crwxrwx--- 等 , 第一位是 d 表示该文件是 目录文件 , 第一位是 c 表示该文件是 字符设备 , 第一位是 p 表示该文件是管道设备...; 管道设备 是通信机制 组成部分 , 有 单向管道 和 双向管道 , 进程间通信 , 一般使用管道进行 ;

55710

linux重要的目录之proc和dev目录

/dev/目录 设备文件分为两种:块设备文件(b)和字符设备文件(c) 设备文件一般存放在/dev目录下 dev设备(device)的英文缩写。/dev这个目录对所有的用户都十分重要。...因为在这个目录中包含了所有Linux系统中使用的外部设备。但是这里并不是放的外部设备的驱动程序,这一点和windows,dos操作系统不一样。它实际上是一个访问这些外部设备的端口。...目录 描述 /dev/hd[a-t] IDE设备 /dev/sd[a-z] SCSI设备 /dev/fd[0-7] 标准软驱 /dev/md[0-31] 软raid设备 /dev/loop[0-7] 本地回环设备.../dev/ram[0-15] 内存 /dev/null 无限数据接收设备,相当于黑洞 /dev/zero 无限零资源 /dev/tty[0-63] 虚拟终端 /dev/ttyS[0-3] 串口 /dev...[0-9] /dev/pilot => /dev/ttyS[0-9] /dev/random 随机数设备 /dev/urandom 随机数设备 相关文章 linux重要的目录之etc linux重要目录之

3K20

linux重要的目录之proc和dev目录

/proc/目录 虚拟文件系统,将内核与进程状态归档为文本文件(系统信息都存放这目录下) Linux系统上的/proc目录是一种文件系统,即proc文件系统。.../proc/modules 目前我们的 Linux 已经加载的模块列表,也可以想成是驱动程序啦!.../dev/目录 设备文件分为两种:块设备文件(b)和字符设备文件(c) 设备文件一般存放在/dev目录下 dev设备(device)的英文缩写。/dev这个目录对所有的用户都十分重要。...因为在这个目录中包含了所有Linux系统中使用的外部设备。但是这里并不是放的外部设备的驱动程序,这一点和windows,dos操作系统不一样。它实际上是一个访问这些外部设备的端口。.../dev/fd[0-7] 标准软驱 /dev/md[0-31] 软raid设备 /dev/loop[0-7] 本地回环设备

3.9K00

linux字符设备驱动

Linux系统中,应用程序访问外设是通过文件的形式来进行的,Linux将所有的外设都看做文件,统一存放在/dev目录下。...linux如何管理文件 Linux设备纳入文件系统的范畴来管理。 每个设备Linux系统上看起来都像一个文件,它们存放在/dev目录中,称为"设备节点"。...但是对于描述设备文件的inode,跟设备驱动有关的成员只有两个。 dev_t i_rdev; 包含真正的设备号。...* 驱动程序就是利用这种机制,在模块初始化函数中,进行设备的设置、注册等。 * 在模块卸载函数进行设备的注销工作。...proc/devices 找到 first_drv的主设备号是249,如下图 建立设备文件 # mknod /dev/first_drv c 249 0 建立好设备文件之后,应用程序就可以通过设备文件来访问驱动程序了

10.6K65

linux 字符设备驱动

Linux系统中,应用程序访问外设是通过文件的形式来进行的,Linux将所有的外设都看做文件,统一存放在/dev目录下。...linux如何管理文件 Linux设备纳入文件系统的范畴来管理。 每个设备Linux系统上看起来都像一个文件,它们存放在/dev目录中,称为"设备节点"。...但是对于描述设备文件的inode,跟设备驱动有关的成员只有两个。 dev_t i_rdev; 包含真正的设备号。...* 驱动程序就是利用这种机制,在模块初始化函数中,进行设备的设置、注册等。 * 在模块卸载函数进行设备的注销工作。...proc/devices 找到 first_drv的主设备号是249,如下图 建立设备文件 # mknod /dev/first_drv c 249 0 建立好设备文件之后,应用程序就可以通过设备文件来访问驱动程序了

9.6K45
领券