第 14 章 Linux 设备模型

在 2.5 开发循环中一个声明的目标是为内核创建一个统一的设备模型. 之前的内核没有单一的数据结构, 使它们可以来获取关于系统如何整合的信息. 尽管缺乏信息, 有时事情也进行的不错. 新系统, 带有它们的更加复杂的技术并且需要支持诸如电源管理等特性, 但是, 清楚地要求需要一个通用的描述系统结构的抽象.

2.6 设备模型提供了这个抽象. 现在它用在内核来支持广泛的任务, 包括:

电源管理和系统关机

这些需要一个对系统的结构的理解. 例如, 一个 USB 宿主适配器不可能被关闭, 在处理所有的连接到这个适配器的设备之前. 这个设备模型使能了一个按照正确顺序的系统硬件的遍历.

与用户空间的通讯

sysfs 虚拟文件系统的实现被紧密地捆绑进设备模型, 并且暴露它所代表的结构. 关于系统到用户空间的信息提供和改变操作参数的旋纽正越来越多地通过 sysfs 和 通过设备模型来完成.

可热插拔设备

计算机硬件正更多地动态变化; 外设可因用户的一时念头而进出. 在内核中使用的来处理和(特别的)与用户空间关于设备插入和拔出的通讯, 是由设备模型来管理.

设备类别

系统的许多部分对设备如何连接没有兴趣, 但是它们需要知道什么类型的设备可用. 设备模型包括一个机制来分配设备给类别, 它在一个更高的功能性的级别描述了这些设备, 并且允许它们从用户空间被发现.

对象生命期

许多上面描述的功能, 包括热插拔支持和 sysfs, 使在内核中创建和操作对象复杂了. 设备模型的实现要求创建一套机制来处理对象生命期, 它们之间的关系, 和它们在用户空间的表示.

Linux 设备模型是一个复杂的数据结构. 例如, 考虑图设备模型的一小部分, 它展示了(用简单的形式)和 USB 鼠标关联的设备模型结构的微小片段. 图中心的下方, 我们看到核心"设备"树, 展示了鼠标如何连接到系统. "bus"树跟踪什么连接到每个总线, 而在"classes" 下的子树涉及设备提供的功能, 不管它们是如何连接的. 设备模型树即便在一个简单的系统中也包含几百个节点, 如同在图中展示的那些; 它是一个难于整个呈现的数据结构.

图 14.1. 设备模型的一小部分

linux设备模型的主要功能,第 14 章 Linux 设备模型相关推荐

  1. 第14章 Linux的shell编程

    文章目录 文档配套视频讲解链接地址 第14章 Shell编程 14.1 Shell简介 1. **Shell交互过程** **2. 选择Shell** 2. 编译型语言与解释型语言 **14.2 sh ...

  2. 第14章 Linux终端设备驱动之终端设备

    本章知识点 在 Linux 系统中,终端设备非常重要,没有终端设备,系统将无法向用户反馈信息,Linux 中包含控制台.串口和伪终端 3 类终端设备. 1.终端设备的概念及分类, Linux 终端设备 ...

  3. 机器学习第14章(概率图模型)

    概率图模型 14.1 隐马尔科夫模型 机器学习最重要的任务:根据一些已观察到的证据(例如训练样本)来对感兴趣的未知变量(例如类别标记)进行估计和预测. probabilistic model概率模型将 ...

  4. Linux 系统编程技巧与概念 第14章 字节次序

    字节次序 e.g. unsigned short int a = 1; 会用 2 bytes 表示 HEX 0 1 BIN 00000000 00000001 Big Endian 表示方式 内存地址 ...

  5. 全国计算机等级三级Linux应用与开发技术考试-第2章-Linux系统概述-练习题

    目录 一.选择题 二.填空题 一.选择题 1.以下不属于Linux家族的是(C)   A.Ubuntu   B.CentOS  C.Solaris  D.Red Hat 2.Linux之父是(B)   ...

  6. linux rz 上传文件夹_第二章Linux服务器环境搭建之Tomcat安装

    一.下载tomcat安装包 官网下载地址: http://tomcat.apache.org/download-80.cgi 我下载的版本是tomcat 9,具体下载那个版本需要根据自己的需要进行选择 ...

  7. 全国计算机等级三级Linux应用与开发技术考试-第3章-Linux系统使用基础-练习题

    目录 一.选择题 二.填空题 一.选择题 1.可以设定使用者密码的指令是(C)   A.pwd   B.newpwd  C.passwd  D.password 2.指令表示不换行的选项是(B)    ...

  8. 第四章 linux字符设备的编写一

    第四章 linux字符设备驱动一 文章目录 第四章 linux字符设备驱动一 前言 一.字符设备的编写步骤 二.字符设备应用 1.视频教学中的使用 2.个人观点 总结 附录 前言 字符设备是Linux ...

  9. linux日志配置含义,Linux操作系统中的日志功能详解

    日志系统将我们系统运行的每一个状况信息都使用文字记录下来,这些信息有助我们观察系统运行过程中正常状态和系统运行错误时快速定位错误位置的途径等;下面学习啦小编主要概述一下Linux操作系统中的日志功能. ...

最新文章

  1. 华为荣耀畅玩7c计算机在那,华为荣耀畅玩7C
  2. C++STL容器排序查找效率测试
  3. 进程创建fork-小代码
  4. openshift for linux
  5. Java 读取文件大写和格式化输出字串
  6. 华为9月将带来鸿蒙系统2.0;张勇任阿里巴巴董事长后发布首封致股东信;iOS 14首个公测版发布​| 极客头条
  7. java 最佳主键_最佳Java 8书籍
  8. 拓端tecdat|matlab使用贝叶斯优化的深度学习:卷积神经网络CNN
  9. SimpleDateFormat线程不安全及解决方式
  10. 快速预览Office 15服务端:Exchange 2013
  11. scratch教程2-程序sb,sb2,sb3转换EXE,HTML
  12. J2EE学习总结(五)------用户登录界面设计
  13. Oracle官方PLSQL学习网址
  14. 【每晚20点红包雨】2018天猫聚划算99大促欢聚盛典活动介绍
  15. 微信下载app需要点击右上角在浏览器中打开下载的解决办法
  16. 30m服务器可以用多少人在线,30m网速(30m宽带够几个人用)
  17. 3169: 小万的回文串
  18. 周末了,看,首富出门遛狗。
  19. MATLAB 正态(高斯)分布概率密度函数
  20. 检测和缓解PLC恶意软件的过程计算方法

热门文章

  1. 在Linux上将视频转换成动态gif图片 (附:ffmpeg和ImageMagick安装方法)
  2. PHP 程序员最易犯10种错误
  3. LeetCode 234. Palindrome Linked List
  4. 【AI视野·今日Robot 机器人论文速览 第二期】Mon, 7 Jun 2021
  5. 【AI视野·今日CV 计算机视觉论文速览 第187期 part2】Fri, 18 Dec 2020
  6. 【三维深度学习】多视角立体视觉 MVSNet代码解读
  7. 草稿 断开式连接 1204
  8. ImageList控件 图片容器控件 1130
  9. java演练0920 我们9203班 02 随机点名功能实现
  10. dj鲜生-23-模板抽离-继承的小结