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

驱动开发系列09 - Linux设备模型之设备,驱动和总线

一:概述

        Linux 设备模型(LDM)是 Linux 内核中引入的一个概念。用于管理内核对象(那些需要引用计数的对象、例如文件、设备、总线甚至驱动程序),以及描述它们之间的层次结构,以及这些内核对象之间绑定关系。Linux 设备模型引入了对象生命周期管理、引用计数、以及面向对象(OO)编程风格、 以及资源自动释放等底层特性,在此不再赘述。我们将在后续文章中详细介绍。
        在本文中,我们将讨论Linux设备模型上层部分,包括设备(devices)、驱动程序(drivers)和总线(buses)、Linux内核平台抽象数据结构、以及设备和驱动程序的匹配机制。

二:Linux 内核平台抽象和数据结构

        Linux 设备模型是建立在一些基本数据结构之上的,包括设备(struct device)、设备驱动程序(struct device_driver)和总线类型(struct bus_type)。第一个数据结构表示的是设备,第二个数据结构表示的是驱动程序,而最后一个数据结构表示设备与 CPU 之间的连接通道。

        设备的数据结构:

        设备(Devices)用于关联物理设备或虚拟设备。这是建立在struct device 数据结构之上,所以得首先介绍struct device数据结构,详见 include/linux/device.h:

struct device {struct device *parent;struct kobject 
http://www.lryc.cn/news/421143.html

相关文章:

  • HTML实现弹出层
  • Android控件详解
  • 记忆化搜索专题篇
  • 入网测评检查项大全(安全资料)
  • uni-app 开发App时调用uni-push 实现在线系统消息推送通知 保姆教程
  • 13.StringRedisTemplete使用
  • [工具]-gitee+pycharm-配置
  • 中间件是一种在客户端和服务器之间进行通信和处理的软件组件或服务
  • RCE-eval长度限制突破技巧
  • 【黑马】MyBatis
  • oracle创建dblink使得数据库A能够访问数据库B表LMEAS_MFG_FM的数据
  • git config 如何配置用户账户
  • SpringBoot基础(二):配置文件详解
  • Web安全(一)-靶场搭建过程-基于docker
  • 【JavaEE】单例模式和阻塞队列
  • RCE绕过技巧
  • Spring源码解析(31)之事务配置文件解析以及核心对象创建过程
  • win11安装docker报错记录
  • 【vulnhub】CLAMP 1.0.1靶机
  • GPS跟踪环路MATLAB之——数字锁相环
  • docker开发环境搭建-关于数据库的IP是什么
  • loginApi
  • 【RAG检索增强生成】Ollama+AnythingLLM本地搭建RAG大模型私有知识库
  • 【wiki知识库】08.添加用户登录功能--前端Vue部分修改
  • 写给非机器学习人员的 embedding 入门
  • Oracle【plsql编写九九乘法表】
  • ansible安装K8s
  • restful传值
  • Qt自定义TreeWidget,实现展开折叠按钮在右侧,且一条竖直线上对齐
  • 硅步千里:如何入行?——之入行成为软件开发者