笔记整理—linux驱动开发部分(1)驱动梗概

        驱动可以分为广义上的和狭义上的驱动。广义上的驱动是用于操作硬件的代码,而狭义上的驱动为基于内核系统之上让硬件去被操作的逻辑方法。

        linux体系架构:

        1.分层思想 :在OS中间还会有许多层。

:

        2.驱动的上面是系统调用(API)。

        3.驱动的下面是硬件,是寄存器。

        4.驱动自己也分层次(有谁去调用设的分层)。

         linux模块化设计:

        宏内核:单内核,将内核作为一个大的个体,独立运行在一个单独的运行空间中(地址空间),相互之间可以相互调用函数——紧耦合+高集成,简单高效但谁也别出事,一旦出问题就完啦~。

        微内核:内核功能被分为独立的过程,过程中IPC(进程间通信)通信,高度内核化,一个服务失效不会影响别的功能,但效率低,如Windows。

        linux是非典型宏内核,又在微内核上做了吸收,有松耦合性。

        静态模块化,编译时可裁剪,但想升级就要重新编译。

        动态模块化,不用重新烧录,不用挂机重启,就能实现安装与卸载。

        驱动设备分类,字符设备、块设备、网络设备。以本身读写操作的特征进行区分。

        字符设备,读写以字节为单位,如LCD、串口、LED、蜂鸣器、touch。

        块设备,相对于字符设备定义,操作以块为设备(多字节组成),读多少块不是由软件决定的(Nandflash)以块为单位寻址。如硬盘、Nandflash、iNand、SD设备等。

        网络设备,准专为网卡设计的驱动模型,因为网络通信有专用接口。linux中网络设备主要就是为了去支持API中的socket相关函数工作。

        驱动是内核的一部分,且成为了内核中最大的一部分。

        内核以直接函数调用方法调用驱动,所以驱动的位置很重要,驱动的动态安装与卸载都会改变内核。驱动崩溃,可能会使内核崩溃;驱动效率会影响内核效率;驱动漏洞会成为内核漏洞。

        常见的驱动安全问题,野指针、恶意用户程序、缓冲区溢出、竞争专状态。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/901672.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Springboot 整合 Java DL4J 实现智能客服

🧑 博主简介:历代文学网(PC端可以访问:https://literature.sinhy.com/#/literature?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编程,…

大语言模型的Scaling Law【Power Low】

NLP-大语言模型学习系列目录 一、注意力机制基础——RNN,Seq2Seq等基础知识 二、注意力机制【Self-Attention,自注意力模型】 三、Transformer图文详解【Attention is all you need】 四、大语言模型的Scaling Law【Power Low】 文章目录 NLP-大语言模型学习系列目录一、什么是…

隧道煤矿甬道的可视化大屏,关键时刻起关键作用

隧道、煤矿甬道的可视化大屏在关键时刻确实能发挥关键作用。它可以实时显示内部的环境参数,如温度、湿度、瓦斯浓度等,帮助工作人员及时掌握潜在危险情况。 同时,大屏能展示人员分布和设备运行状态,便于高效调度和管理。 在紧急…

计算机网络:网络层 —— IPv4 地址与 MAC 地址 | ARP 协议

文章目录 IPv4地址与MAC地址的封装位置IPv4地址与MAC地址的关系地址解析协议ARP工作原理ARP高速缓存表 IPv4地址与MAC地址的封装位置 在数据传输过程中,每一层都会添加自己的头部信息,最终形成完整的数据包。具体来说: 应用层生成的应用程序…

技术成神之路:设计模式(二十一)外观模式

相关文章:技术成神之路:二十三种设计模式(导航页) 介绍 外观模式(Facade Pattern)是一种结构型设计模式,它为子系统中的一组接口提供一个统一的接口。外观模式定义了一个高层接口,使得子系统更容易使用。 …

qt QGraphicsGridLayout详解

一、概述 QGraphicsGridLayout是Qt框架中用于在QGraphicsScene中布置图形项的一个布局管理器。它类似于QWidget中的QGridLayout,但主要处理的是QGraphicsItem和QGraphicsWidget等图形项。通过合理设置网格位置、伸缩因子和尺寸,可以实现复杂而灵活的布局…

【论文笔记】MLSLT: Towards Multilingual Sign Language Translation

🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。 基本信息 标题: MLSLT: Towards Multiling…

2024-网鼎杯第二次模拟练习-web02

进入做题页面,经过信息搜集和目录扫描,发现只有一个公告是可以利用的 http://0192c74e0f9871c2956795c804c3dde3.8nfp.dg01.wangdingcup.com:43014/OA_announcement.php?id1 这个后面有一个明显的注入点,经过多次刷新和快速刷新后发现&…

使用FRP搭建内网穿透服务(新版toml配置文件,搭配反向代理方便内网网站访问)【使用frp搭建内网穿透】

FRP(Fast Reverse Proxy)是一个高性能的反向代理应用程序,主要用于内网穿透。它允许用户将内部网络服务暴露到外部网络,适用于 NAT 或防火墙环境下的服务访问。 他是一个开源的 服务 如果大家不想用 花生壳 软件,可以尝…

基于信号分解和多种深度学习结合的上证指数预测模型

大家好,我是带我去滑雪! 为了给投资者提供更准确的投资建议、帮助政府和监管部门更好地制定相关政策,维护市场稳定,本文对股民情绪和上证指数之间的关系进行更深入的研究,并结合信号分解、优化算法和深度学习对上证指数…

探索孤独症儿童治愈的希望之路

孤独症,作为一种严重影响儿童发展的神经发育障碍性疾病,给无数家庭带来了难以承受的沉重负担。然而,人们始终未曾放弃对孤独症儿童治愈可能性的不懈探索。 早期干预乃是关键所在。一旦儿童被诊断为孤独症,就应迅速启动全面且系统的…

分类预测 | GCN图卷积神经网络多特征分类预测(MATLAB)

分类预测 | GCN图卷积神经网络多特征分类预测(MATLAB) 目录 分类预测 | GCN图卷积神经网络多特征分类预测(MATLAB)分类效果基本介绍程序设计参考资料分类效果 基本介绍 GCN图卷积神经网络多特征分类预测(MATLAB) 在图卷积神经网络(GCN)中,多特征分类

orange pi开启vnc服务,并使用mac远程连接

先输入vncserver看一下是否开启了vnc服务,如果提示输入密码,就是正在开启,然后选择只是查看权限还是也有控制权限,肯定要控制阿,所以选择n。 或者输入:sudo netstat -pl | grep vnc 如果能找到vnc的进程&a…

ThriveX 现代化博客管理系统

ThriveX 现代化博客管理系统 🎉 🔥 首先最重要的事情放第一 开源不易,麻烦占用 10 秒钟的时间帮忙点个免费的 Star,再此万分感谢! 下面开始进入主题↓↓↓ 🌈 项目介绍: Thrive 是一个简而不…

生活中是否害怕过机械硬盘出现坏道?

目录 一、坏道起因 二、继续了解-系统对坏扇区的处理 (一)硬盘自身的处理机制 (二)操作系统层面的处理 三、进一步了解-备用扇区 (一)备用扇区的工作原理 (二)S.M.A.R.T.技术…

DMVPN协议

DMVPN(Dynamic Multipoint VPN)动态多点VPN 对于分公司和分总公司内网实现通信环境下,分公司是很多的。我们不可能每个分公司和总公司都挨个建立ipsec隧道 ,而且如果是分公司和分公司建立隧道,就会很麻烦。此时我们需…

【单运放可调频率正弦波电路二阶RC移相震荡文氏桥】2021-12-20

缘由想让正弦波频率是1K赫兹到100K赫兹应该怎么调节滑动变阻器,计算起来感觉不对劲-嵌入式-CSDN问答 调节R12负反馈让波形不出现销顶失真,同时负反馈深度影响输出幅值,调节频率范围有限,频率越高越不稳定。 RC移相式振荡器文氏电…

ThinkPHP+Mysql 灵活用工+灵活用工平台+灵活用工系统

基于 ThinkPHPMysql 灵活用工灵活用工平台灵活用工系统灵活用工小程序灵活用工源码灵活用工系统源码 开发语言 ThinkPHPMysql 源码合作 提供完整源代码 软件界面展示 一、企业管理后台 二、运用管理平台 三、手机端

vue文件报Cannot find module ‘webpack/lib/RuleSet‘错误处理

检查 Node.js 版本:这个问题可能与 Node.js 的版本有关。你可以尝试将 Node.js 的版本切换到 12 或更低。如果没有安装 nvm(Node Version Manager),可以通过以下命令安装: curl -o- https://raw.githubusercontent.co…

Docker 安装使用

1. 下载 下载地址:Index of linux/static/stable/x86_64/ 下载好后,将文件docker-18.06.3-ce.tgz用WinSCP等工具,上传到不能外网的linux系统服务器 2. 安装 解压后的文件夹docker中文件如下所示: 将docker中的全部文件&#xff…