一、通过对象容器进行管理的,
对象容器就像系统的监控器一样,监控系统,系统咋干嘛都知道,是个全局性得管理系统。

二、内核对象基类派生出设备对象基类,设备对象基类是对对象基类的继承和派生。
具体设备类型继承了设备对象基类,是设备对象基类的派生。
这种结构很像树的结构。
也就是大家都是有一个老祖宗,都是同血缘!同宗同族!任何对象都是内核对象的派生!线程呀啥呀,都是内核对象的子孙。内核对象实质就是一个结构体而已!

三、管理流程
分三层:IO设备管理层、驱动设备框架层、设备驱动层。

对于简单的设备,如串口等,可以绕过驱动设备框架层,直接注册到IO设备管理层。

对于复杂的设备管理流程:例如看门狗,先把驱动设备注册到驱动管理架构层,驱动管理框架层再注册到IO设备管理层。

四、设备注册
注册的目的是将三层联系在一起,就是把上层的借口和设备驱动操作关联起来。这样应用层只需知道这个设备对象的名字就可以操作它了。

设备注册,是将设备的驱动操作函数关联起来,就是将该具体设备的操作函数指针绑定到该设备的结构体里(设备对象控制块),然后把该设备的结构体再放到容器中。
这样的话msh就可以查看了它的运行状态啥的。

思路是这么个思路。

具体:
1,创建设备控制块
2,填充设备控制块
3,将设备控制块注册到对象容器中

五、对于串口关注点
设备流模式 RT_DEVICE_FLAG_STREAM 参数用于向串口终端输出字符串:当输出的字符是 “\n” 时,自动在前面补一个 “\r” 做分行。

问题:注册到设备管理器上?
答:就是填充串口设备变量。
设备管理器是个啥东西?
答:就是内核对象容器。

RTT——IO设备管理篇·基本概念理解相关推荐

  1. 18 操作系统第五章 设备管理 IO设备的基本概念和分类 IO控制器 IO控制方式 IO软件层次结构 IO核心子系统 假脱机技术 设备的分配与回收 缓冲区管理

    文章目录 1 IO设备的基本概念和分类 1.1 什么是I/O设备 1.2 I/O设备分类 2 IO控制器 2.1 I/O设备组成 2.2 I/O控制器功能 2.3 I/O控制器的组成 2.4 寄存器编 ...

  2. rtt面向对象oopc——3.对官方IO设备模型框架图的补充绘图

    该补充图有幸得到rt thread官方认可,gitee上已提交PR,且通过了官方评审,已被合并到<IO设备模型>章节末尾的<补充说明>小节里了rt-thread官方文档gite ...

  3. 5.1.1 IO设备的概念与分类

    目录 思维导图 什么是IO设备 按使用特性分类 按传输速率分类 按信息交换的单位分类 思维导图 什么是IO设备 按使用特性分类 按传输速率分类 按信息交换的单位分类

  4. 什么是io?程序员该怎么理解io

    引言 很多程序员会谈及IO,仿佛是种时尚或者给自己贴金的方式,因为提上它一般会涉及应用程序的性能相关话题,离高深的底层知识更接近了.但多数人的理解其实是模糊的,他们的脑海里会浮动着抽象的场景:IO就是 ...

  5. IO设备在OS中的权衡

    IO设备是操作系统的中断源之一,IO设备包括磁盘,时钟,中断源,显示器,按照数据传送的基本单元分为块设备和字符设备.本文从磁盘这一个IO设备来归纳操作系统中IO设备从硬件到软件的工作方式. 硬件水平观 ...

  6. spring cloud contract的应用实现与概念理解-服务提供者一侧的落地

    如题,本文是在前一篇"spring cloud contract的应用实现与概念理解-服务请求者一侧的落地"的基础上,续写服务提供者一侧的有关实现与理解. 通过对官网文章的学习和编 ...

  7. RT-Thread (2) RTT SPI设备驱动流程 || LWIP + ENC28J60

    系列文章目录 RT-Thread (1) 添加外部内存到内存管理 RT-Thread (2) RTT SPI设备驱动流程 || LWIP + ENC28J60 RT-Thread (3) 为RTT增加 ...

  8. KVM中的网络IO设备虚拟化方式

    在KVM虚拟化的架构里,对CPU的虚拟化采用的是硬件辅助的方式(Intel VT-x,AMD-V),效率比较高,内存的虚拟化有Intel EPT技术的支持,效率也没有问题:那么对于像磁盘驱动器,网卡等 ...

  9. 【操作系统】IO设备

    第五章 IO设备 文章目录 第五章 IO设备 I/O设备的基本概念和分类 I/O控制器 I/O软件层次结构 I/O核心子系统 假脱机技术(SPOOLing技术) 设备的分配与回收 缓冲区管理 I/O设 ...

最新文章

  1. python2 json大数据_大数据技术之python 操作json
  2. 字节跳动Java岗面试题;java帮助文档手机版
  3. Spring Cron Expression
  4. android高仿天天动听,Android仿天天动听歌曲自动滚动view
  5. 布客·ApacheCN 编程/后端/大数据/人工智能学习资源 2020.9
  6. C语言实现TCP服务端
  7. 为什么程序员如此“嫌弃”主干开发模式?
  8. jsp页面输出excel文件乱码解决方案
  9. 冰点还原精灵怎么使用
  10. 月入过万的外卖CPS红包小程序源码分享(附搭建教程)
  11. python实现——40W告警日志分析(上)
  12. 前端工程师面试题详解(二)
  13. 利用python将某列修改成另一列
  14. List 接口中扩充的 10 个方法详解
  15. 未来趋势:区块链溯源技术
  16. shell 向 awk 传参
  17. Python 跳出嵌套循环的5种方法
  18. DVWA-SQL盲注 medium
  19. 《How Tomcat Works》读书笔记(三)--Connector(连接器)
  20. Fuchsia OS 现已支持第二代 Nest Hub

热门文章

  1. 面试中精华,俺自己总结的
  2. php软件开发--nginx服务器(待补充)
  3. SpringMVC 配置注解的映射器、适配器(重点)
  4. 电气通用规范_与通用电气的对话使我了解到有关开放式组织的知识
  5. openstreetmap_OpenStreetMap成立10周年,开源医疗设备等等
  6. (31)Gulp 构建样式文件
  7. Bootstrap3 栅格系统之列排序
  8. Bootstrap 源代码之行内代码
  9. android 视频恢复软件,视频恢复软件免费版
  10. Git笔记(8) 远程仓库的使用