Linux学习方法-框架学习法——Linux驱动架构的演进

配套视频学习链接:https://www.bilibili.com/video/BV1HE411w7by?p=4&vd_source=d488bc722b90657aaa06a1e8647eddfc

目录

Linux驱动演进的过程

Linux驱动的原始架构(Linux V2.4)

平台总线架构(platform)

Linux设备树

Linux驱动演进的趋势


Linux驱动演进的过程

  • Linux-v2.4--->Linux-v2.6--->Linux-V3.x
  • 原始架构--->平台总线--->设备树

  • 总体上来讲,产品的开发越来越方便
  • 架构越来越复杂,但使用越来越简单,开发工作量减少

Linux驱动的原始架构(Linux V2.4)

  • ‘设备节点’,即设备文件(/dev/xxx),它是上层应用和底层驱动的桥梁
  • Linux:设备即文件(read,write)
  • 主设备号,次设备号,mknod()
  • 结构体file_operations(函数指针)
  • register_chdev()---系统注册
  • 用户态read()->sys_read()->vfs_read()->驱动read
  • 原始架构依然很重要,里面的知识并没有被淘汰,而是被封装和继承了。

平台总线架构(platform)

  • Linux2.6版本,封装了原始架构,更加抽象
  • 引入了设备驱动模型(sysfs),使得热插拔/电源管理得以加强
  • 好处:做产品更省事省力
  • 实现了BSP(板级支持包)和驱动的分离

  • Linux设备树

  • 设备资源独立了出来(arch/arm/mach-xxx/board-xxx.c),从C文件发展为DTS设备树脚本文件 (arch/arm/boot/dts/xxx.dts)
  • 换个板子,不需编译Linux系统,只要换个设备树文件就好。
  • BootLoard参与传递设备资源(启动时需要把设备树文件传给内核)。

Linux驱动演进的趋势

  • 越来越先进易用,但内部架构越来越复杂
  • ‘分离’,实际是一种模块化设计思路
  • ’分层’,Linux中应用很普遍,屏蔽了底层的细节,增加了易用性

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

这么多向量数据库,它们之间到底有哪些差异?

上篇说到chroma的近邻搜索算法实现得有问题,不如qdrant的。其实向量数据库之间看似都一样,但细细比较还是有很多不同的。 国外有一系列文章已经讲得很详细了,而且也就是半年前写的,还是具有很强的参考价值,文章如下&a…

最佳 PDF 转 Word 转换器软件,可实现无缝转换

如今,PDF文件格式因其高安全性而被计算机用户所熟悉,这使得无法直接编辑内容。因此,每当用户需要复制内容时,都会遇到很多困难。在这里将介绍了一些可以让您将 PDF 转换为 Word 的工具。 借助高效、免费的 PDF 转 Word 转换器软件…

c语言的数据结构:找环状链表入口处

一起<(&#xffe3;︶&#xffe3;)↗[GO!] 1.如何判断一个链表是否有环 思路:设定两个快慢指针fast和slow,fast每次走两个结点,slow每次走一个节点 如果fast指针遇到了Null,那么这个链表没有环,如果fast和slow可以相遇,则代表这个链表有环 代码如下 N:fast先进环,slow后…

【寸铁的刷题笔记】树、dfs、bfs、回溯、递归(二)

【寸铁的刷题笔记】树、dfs、bfs、回溯、递归(二) 大家好 我是寸铁&#x1f44a; 金三银四&#xff0c;树、dfs、bfs、回溯、递归是必考的知识点✨ 快跟着寸铁刷起来&#xff01;面试顺利上岸&#x1f44b; 喜欢的小伙伴可以点点关注 &#x1f49d; 上期回顾 感谢大家的支持&am…

Linux运维-Web服务器的配置与管理(PHP)

Web服务器的配置与管理(PHP) 项目场景 某企业在CentOS上搭建Web服务系统&#xff0c;以PHP作为网页开发环境&#xff0c;以MySQL为后台数据库。 基础知识 PHP PHP原始为Personal Home Page的缩写&#xff0c;已经正式更名为 “PHP: Hypertext Preprocessor”&#xff08;超…

第1讲-introduction

计算机组成与结构简介 计算机的基本组成 计算机的层次结构

Spring Boot 手写starter!!!

原因&#xff1a;为什么要手写starter&#xff1f;&#xff1f;&#xff1f; 原因&#xff1a;简化功能。 实例&#xff1a;以分页为例&#xff1a;写一个starter。 1.首先定义一个PageX注解。 Target({ElementType.METHOD}) Retention(RetentionPolicy.RUNTIME) Documented p…

【计算机毕业设计】541鲜花商城系统

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…

pikachu靶场-RCE

介绍&#xff1a; RCE(remote command/code execute)概述 RCE漏洞&#xff0c;可以让攻击者直接向后台服务器远程注入操作系统命令或者代码&#xff0c;从而控制后台系统。 远程系统命令执行 一般出现这种漏洞&#xff0c;是因为应用系统从设计上需要给用户提供指定的远程命…

Pytorch 自用 Scheduler 分享

✅作者简介&#xff1a;人工智能专业本科在读&#xff0c;喜欢计算机与编程&#xff0c;写博客记录自己的学习历程。 &#x1f34e;个人主页&#xff1a;小嗷犬的个人主页 &#x1f34a;个人网站&#xff1a;小嗷犬的技术小站 &#x1f96d;个人信条&#xff1a;为天地立心&…

TreeData 数据查找

TreeData 数据查找 最近做需求的时候遇到了这样的一个需求&#xff0c;Tree组件数据支持查找&#xff0c;而且TreeData的数据层级是无限级的 开始想的事借助UI组件库&#xff08;Ant-design-vue&#xff09;中的Tree组件的相关方法直接实现,看了下api 发现没法实现&#xff0c;…

【前端素材】推荐优质后台管理系统PORTAL平台模板(附源码)

一、需求分析 后台管理系统是一种具有多层次结构的软件系统&#xff0c;用于管理网站、应用程序或系统的后台操作和管理。下面是对后台管理系统的分层次、详细分析&#xff1a; 第一层&#xff1a;用户界面层 登录界面&#xff1a;提供用户登录验证&#xff0c;确保只有经过授…

Puppeteer 使用实战:如何将自己的 CSDN 专栏文章导出并用于 Hexo 博客(三)

文章目录 往期效果将文章信息导出适配 hexo 的文章模板导出的文章路径问题终端控制执行脚本代码整理结尾 往期 Puppeteer 使用实战&#xff1a;如何将自己的 CSDN 专栏文章导出并用于 Hexo 博客&#xff08;二&#xff09; 效果 写了一个 node 脚本用来批量处理 md 文件 本期…

代码随想录算法训练营第50天|123.买卖股票的最佳时机III、188.买卖股票的最佳时机IV

文章目录 123.买卖股票的最佳时机III思路代码 188.买卖股票的最佳时机IV思路代码 123.买卖股票的最佳时机III 题目链接&#xff1a;123.买卖股票的最佳时机III 文章讲解&#xff1a;代码随想录|123.买卖股票的最佳时机III 视频讲解&#xff1a;123.买卖股票的最佳时机III 思路 …

第九届大数据与计算国际会议 (ICBDC 2024) 即将召开!

2024年第九届大数据与计算国际会议&#xff08;ICBDC 2024&#xff09;将于2024年5月24至26日在泰国曼谷举行。本次会议由朱拉隆功大学工程学院工业工程系主办。ICBDC 2024的宗旨是展示大数据和计算主题相关科学家的最新研究和成果&#xff0c;为来自不同地区的专家代表们提供一…

【多线程】synchronized 关键字 - 监视器锁 monitor lock

synchronized 1 synchronized 的特性1) 互斥2) 可重入 2 synchronized 使用示例1) 修饰代码块: 明确指定锁哪个对象.2) 直接修饰普通方法: 锁的 SynchronizedDemo 对象3) 修饰静态方法: 锁的 SynchronizedDemo 类的对象 3 Java 标准库中的线程安全类 1 synchronized 的特性 1)…

操作系统-复试笔记

http://t.csdnimg.cn/PJLWh 操作系统基础 什么是操作系统&#xff1f; 操作系统&#xff08;Operating System&#xff0c;简称 OS&#xff09;是管理计算机硬件与软件资源的程序&#xff0c;是计算机的基石。操作系统本质上是一个运行在计算机上的软件程序 &#xff0c;用于…

智能风控体系之个人客户画像建设

客户画像最早在互联网电商中应用&#xff0c;在刻画目标群体时&#xff0c;数据分析师会将用户数据进行分析并形成合适的客户画像标签&#xff0c;涉及常见字段包括有姓名&#xff0c;性别&#xff0c;年龄&#xff0c;收货地址&#xff0c;手机号&#xff0c;银行卡&#xff0…

【Java程序设计】【C00294】基于Springboot的车辆充电桩管理系统(有论文)

基于Springboot的车辆充电桩管理系统&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的车辆充电桩管理系统 本系统前台功能模块分为&#xff1a;首页功能和用户后台管理 后台功能模块分为&#xff1a;管理员功能和…

抖音小店是什么?怎么玩?今天一文详解!

大家好&#xff0c;我是电商小布。 在电商这个行业快速发展的情况下&#xff0c;抖音短视频平台也想利用到自己平台的优势&#xff0c;加入其中。 抖音小店项目就是抖音与电商的结合。 简单来说&#xff0c;就是在抖音平台上开网店&#xff0c;进行产品的交易。 不同于以前…