当前位置: 首页 > news >正文

【Linux】【驱动】杂项设备驱动

【Linux】【驱动】杂项设备驱动

    • Linux三大设备驱动
      • 1. 我们这节课要讲的杂项设备驱动是属于我们这三大设备驱动里面的哪个呢?
      • 2.杂项设备除了比字符设备代码简单,还有别的区别吗?
      • 3.主设备号和次设备号是什么?
    • 挂载驱动

杂项设备驱动是字符设备驱动的一种,他相对完整的字符驱动来说信息会稍微减少一点

Linux三大设备驱动

字符设备:IO 的传输过程是以字符为单位的,没有缓冲。比如2C,SPI 都是字符设备
块设备:I0 的传输过程是以块为单位的。根存储相关的,都属于块设备,比如,tf 卡
网络设备: 与前俩个不一样,是以 socket 套接字来访问的。

1. 我们这节课要讲的杂项设备驱动是属于我们这三大设备驱动里面的哪个呢?

杂项设备是字符设备的一种。可以自动生成设备节点
我们的系统里面有很多杂项设备。我们可以输入 cat /pro/misc 命令来查看

2.杂项设备除了比字符设备代码简单,还有别的区别吗?

杂项设备的主设备号是相同的,均为 10,次设备号是不同的。主设设备号相同就可以节省内核的资源

3.主设备号和次设备号是什么?

设备号包含主设备号和次设备号,主设备号在 Linux 系统里面是唯一的,次设备号不一定唯一
设备号是计算机识别设备的一种方式,主设备相同的就被视为同一类设备
主设备号可以比做成电话号码的区号。比如北京的区号是 010次设备号可以比作成电话号码。
主设备号可以通过命令 cat /proc/devices 来查看。

下面是代码

#include <linux/init.h>
#include <linux/module.h>
#include <linux/miscdevice.h>
#include <linux/fs.h>	struct file_operations misc_fops = {.owner	= THIS_MODULE};struct miscdevice misc_dev = 
{.minor = MISC_DYNAMIC_MINOR,.name = "hello_misc",.fops = &misc_fops
};//drivers for init
static int misc_init(void)
{int ret = 0;ret = misc_register(&misc_dev);if(ret<0) {printk("misc_register is failed\n");return -1;}printk("misc registe is succeed \n");return 0;
}//drivers for exit 
static void misc_exit(void)
{
//misc_deregister(&misc_dev);printk("misc exit \n");}module_init(misc_init);
module_exit(misc_exit);MODULE_LICENSE("GPL");

挂载驱动

在这里插入图片描述

ret = misc_register(&misc_dev);//挂载驱动misc_deregister(&misc_dev);//移除驱动

相关文章:

【Linux】【驱动】杂项设备驱动

【Linux】【驱动】杂项设备驱动 Linux三大设备驱动1. 我们这节课要讲的杂项设备驱动是属于我们这三大设备驱动里面的哪个呢?2.杂项设备除了比字符设备代码简单&#xff0c;还有别的区别吗?3.主设备号和次设备号是什么? 挂载驱动 杂项设备驱动是字符设备驱动的一种&#xff0…...

【HCIP】10.路由策略

&#x1f4ce;13 路由策略与路由控制.pptx 通过修改路由的属性&#xff0c;影响了路由的生成及选路&#xff0c;最终影响了转发流量的路径&#xff1b;控制平面。 ACL IP prefix Filter-Policy Router-Policy 笔记...

【腾讯云Cloud Studio实战训练营】使用Cloud Studio社区版快速构建React完成点餐H5页面还原

陈老老老板&#x1f9b8; &#x1f468;‍&#x1f4bb;本文专栏&#xff1a;生活&#xff08;主要讲一下自己生活相关的内容&#xff09; &#x1f468;‍&#x1f4bb;本文简述&#xff1a;生活就像海洋,只有意志坚强的人,才能到达彼岸。 &#x1f468;‍&#x1f4bb;上一篇…...

测试开发工程必备技能之一:Mock的使用

1. 背景 在实际产品开发过程中&#xff0c;某个服务或前端依赖一个服务接口&#xff0c;该接口可能依赖多个底层服务或模块&#xff0c;或第三方接口&#xff0c;比如说服务 A 依赖服务B&#xff0c;服务B又依赖服务 C 这种依赖的问题会导致原本的需求目的是要验证服务A&…...

Qbytearray:从十六进制字符串转字节一些注意事项

1、从十六进制字符串转字节后&#xff0c;按字节使用时 QByteArray data QByteArray::fromHex("cc94");printf("%x %x\n",data.at(0),data.at(0)&0xff);//若超过127&#xff0c;会不一样printf("%d %d\n",data.at(0),data.at(0)&0xff);…...

【Docker】Docker的使用案例以及未来发展、Docker Hub 服务、环境安全的详细讲解

前言 Docker 是一个开源的应用容器引擎&#xff0c;让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。 &#x1f4d5;作者简介&#xff1a;热…...

Redis有哪几种内存淘汰策略?

推荐阅读 AI文本 OCR识别最佳实践 AI Gamma一键生成PPT工具直达链接 玩转cloud Studio 在线编码神器 玩转 GPU AI绘画、AI讲话、翻译,GPU点亮AI想象空间 资源分享 「java、python面试题」来自UC网盘app分享&#xff0c;打开手机app&#xff0c;额外获得1T空间 https://dr…...

操作系统练习:在Linux上创建进程,及查看进程状态

说明 进程在执行过程中可以创建多个新的进程。创建进程称为“父进程”&#xff0c;新的进程称为“子进程”。每个新的进程可以再创建其他进程&#xff0c;从而形成进程树。 每个进程都有一个唯一的进程标识符&#xff08;process identifier&#xff0c;pid&#xff09;。在L…...

Java虚拟机(JVM):垃圾收集算法

目录 一、分代收集理论 二、标记-清除算法 三、标记-复制算法 四、标记-整理算法 一、分代收集理论 分代收集理论建立在两个分代假说之上&#xff1a; 1、弱分代假说&#xff1a;绝大多数对象都是朝生夕灭的。 2、强分代假说&#xff1a;熬过越多次垃圾收集过程的对象就…...

【爬虫】Requests库的使用

这个库比我们上次说的 urllib 可是要牛逼一丢丢的。通过它我们可以用更少的代码&#xff0c;模拟浏览器操作。 不多说&#xff0c;直接上手代码。 requests 常见用法 mport requests# get请求网站 r requests.get(https://www.baidu.com/) # 获取服务器响应文本内容 r.text …...

了解生成对抗网络 (GAN)

一、介绍 Yann LeCun将其描述为“过去10年来机器学习中最有趣的想法”。当然&#xff0c;来自深度学习领域如此杰出的研究人员的赞美总是对我们谈论的主题的一个很好的广告&#xff01;事实上&#xff0c;生成对抗网络&#xff08;简称GAN&#xff09;自2014年由Ian J. Goodfel…...

opencv-人脸关键点定位

#导入工具包 from collections import OrderedDict import numpy as np import argparse import dlib import cv2#https://ibug.doc.ic.ac.uk/resources/facial-point-annotations/ #http://dlib.net/files/# 参数 ap argparse.ArgumentParser() ap.add_argument("-p&quo…...

言语理解与表达 郭熙(一)

40题 35min 逻辑填空 &#xff08;20题&#xff09; 题型&#xff1a;实词填空&#xff1b;成语填空&#xff1b;混搭填空 解题思路 词义辨析&#xff1a;词义侧重&#xff1b;固定搭配&#xff1b;程度较重&#xff1b;感情色彩 语境分析&#xff1a; 关联关系&#xff…...

【stable-diffusion使用扩展+插件和模型资源(上】

文章目录 前言一、插件推荐1.qrcode-monster2.sd-webui-openpose-editor3.sd-webui-depth-lib4.roop&#xff08;换脸插件&#xff09;5.sd-webui-qrcode-toolkit&#xff08;艺术二维码&#xff09;5.光源控制6.二次元转真人7.动态视频转场&#xff08;loopback-wave&#xff…...

面试之快速学习STL-无序关联式容器

和关联式容器一样&#xff0c;无序容器也使用键值对&#xff08;pair 类型&#xff09;的方式存储数据。不过&#xff0c;本教程将二者分开进行讲解&#xff0c;因为它们有本质上的不同&#xff1a; 关联式容器的底层实现采用的树存储结构&#xff0c;更确切的说是红黑树结构&a…...

C++线程库

C线程库是C11新增的重要的技术之一&#xff0c;接下来来简单学习一下吧&#xff01; thread类常用接口 函数名功能thread()构造一个线程对象&#xff0c;没有关联任何线程函数&#xff0c;即没有启动任何线程。thread(fn, args1, args2, ...)构造一个线程对象&#xff0c;并…...

一文看懂群晖 NAS 安装 Mysql 远程访问连接

文章目录 1. 安装Mysql2. 安装phpMyAdmin3. 修改User 表4. 本地测试连接5. 安装cpolar6. 配置公网访问地址7. 固定连接公网地址 群晖安装MySQL具有高效、安全、可靠、灵活等优势&#xff0c;可以为用户提供一个优秀的数据管理和分析环境。同时具有良好的硬件性能和稳定性&#…...

永久设置pip指定国内镜像源(windows内)

1.首先列出国内四个镜像源网站&#xff1a; 一、清华源 https://pypi.tuna.tsinghua.edu.cn/simple/ 二、阿里源 https://mirrors.aliyun.com/pypi/simple 三、中科大源 https://pypi.mirrors.ustc.edu.cn/simple/ 四、豆瓣源 http://pypi.douban.com/simple/ 2.一般下载所需要…...

【SA8295P 源码分析】27 - QNX Ethernet MAC 驱动 之 emac_tx_thread_handler 数据发送线程 源码分析

【SA8295P 源码分析】27 - QNX Ethernet MAC 驱动 之 emac_tx_thread_handler 数据发送线程 源码分析 系列文章汇总见:《【SA8295P 源码分析】00 - 系列文章链接汇总》 本文链接:《【SA8295P 源码分析】27 - QNX Ethernet MAC 驱动 之 emac_tx_thread_handler() 数据发送线程…...

爬虫抓取数据时显示超时,是代理IP质量不行?

很多人在做数据抓取的时候&#xff0c;会遇到显示超时了&#xff0c;然后就没有响应了。这是什么原因的&#xff1f;有的人回答是使用的代理IP质量不行&#xff0c;这种答案&#xff0c;对也不对。 数据抓取时&#xff0c;出现超时的原因时多方面影响的&#xff0c;主要分为目标…...

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...

51c自动驾驶~合集58

我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留&#xff0c;CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制&#xff08;CCA-Attention&#xff09;&#xff0c;…...

【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验

系列回顾&#xff1a; 在上一篇中&#xff0c;我们成功地为应用集成了数据库&#xff0c;并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了&#xff01;但是&#xff0c;如果你仔细审视那些 API&#xff0c;会发现它们还很“粗糙”&#xff1a;有…...

项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)

Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败&#xff0c;具体原因是客户端发送了密码认证请求&#xff0c;但Redis服务器未设置密码 1.为Redis设置密码&#xff08;匹配客户端配置&#xff09; 步骤&#xff1a; 1&#xff09;.修…...

脑机新手指南(七):OpenBCI_GUI:从环境搭建到数据可视化(上)

一、OpenBCI_GUI 项目概述 &#xff08;一&#xff09;项目背景与目标 OpenBCI 是一个开源的脑电信号采集硬件平台&#xff0c;其配套的 OpenBCI_GUI 则是专为该硬件设计的图形化界面工具。对于研究人员、开发者和学生而言&#xff0c;首次接触 OpenBCI 设备时&#xff0c;往…...

django blank 与 null的区别

1.blank blank控制表单验证时是否允许字段为空 2.null null控制数据库层面是否为空 但是&#xff0c;要注意以下几点&#xff1a; Django的表单验证与null无关&#xff1a;null参数控制的是数据库层面字段是否可以为NULL&#xff0c;而blank参数控制的是Django表单验证时字…...

HTML前端开发:JavaScript 获取元素方法详解

作为前端开发者&#xff0c;高效获取 DOM 元素是必备技能。以下是 JS 中核心的获取元素方法&#xff0c;分为两大系列&#xff1a; 一、getElementBy... 系列 传统方法&#xff0c;直接通过 DOM 接口访问&#xff0c;返回动态集合&#xff08;元素变化会实时更新&#xff09;。…...

保姆级【快数学会Android端“动画“】+ 实现补间动画和逐帧动画!!!

目录 补间动画 1.创建资源文件夹 2.设置文件夹类型 3.创建.xml文件 4.样式设计 5.动画设置 6.动画的实现 内容拓展 7.在原基础上继续添加.xml文件 8.xml代码编写 (1)rotate_anim (2)scale_anim (3)translate_anim 9.MainActivity.java代码汇总 10.效果展示 逐帧…...

【UE5 C++】通过文件对话框获取选择文件的路径

目录 效果 步骤 源码 效果 步骤 1. 在“xxx.Build.cs”中添加需要使用的模块 &#xff0c;这里主要使用“DesktopPlatform”模块 2. 添加后闭UE编辑器&#xff0c;右键点击 .uproject 文件&#xff0c;选择 "Generate Visual Studio project files"&#xff0c;重…...

用神经网络读懂你的“心情”:揭秘情绪识别系统背后的AI魔法

用神经网络读懂你的“心情”:揭秘情绪识别系统背后的AI魔法 大家好,我是Echo_Wish。最近刷短视频、看直播,有没有发现,越来越多的应用都开始“懂你”了——它们能感知你的情绪,推荐更合适的内容,甚至帮客服识别用户情绪,提升服务体验。这背后,神经网络在悄悄发力,撑起…...