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

论坛网站用的虚拟主机wordpress视频主题吾爱破解

论坛网站用的虚拟主机,wordpress视频主题吾爱破解,人力外包项目发布平台,公司网站制作导航系列文章目录 Linux设备框架#xff1a;kset与kobject基本介绍 [link] Linux设备框架#xff1a;kset与kobject源码分析 [link] kset与kobject基本介绍 一、前言二、kobject、kset和设备的关系2.1 kset 结构体2.2 kobject 结构体 三、总结 一、前言 Linux 设备模型如同一座拥…系列文章目录 Linux设备框架kset与kobject基本介绍 [link] Linux设备框架kset与kobject源码分析 [link] kset与kobject基本介绍 一、前言二、kobject、kset和设备的关系2.1 kset 结构体2.2 kobject 结构体 三、总结 一、前言 Linux 设备模型如同一座拥有众多楼层总线和房间设备的摩天大楼由内部主体kset、kobject和外部装饰sysfs文件系统构成。 kset和kobject是大楼主体的承重柱、横梁或者墙体构成整座大楼框架组织各楼层、房间。kobject连接各房间、楼层的通道kset则对各楼层、房间按功能类型划分区域。sysfs文件系统是连接摩天大楼内外的纽带它将摩天大楼内部各楼层、房间之间的层次关系展示给外面的世界用户空间的程序同时向外界提供了与大楼内部互动通道。 在驱动开发过程中很多驱动开发者初遇 Linux 设备模型中的kset、kobject时觉得非常的抽象难以理解。担心会因对其理解不透彻而影响驱动开发的困感。 其实对于顾客来说在平常的逛街购物过程中摩天大楼外部装饰sysfs文件系统和内部的楼层、房间总线、设备、驱动才是最常接触的。熟悉了楼层功能、房间布局就能在大楼中熟练的完成购物活动顾客无需在意隐藏在内部的承重住、横梁kset、kobject是怎么设计的这些一点也不影响逛街购物。 同理在驱动开发过程中驱动开发人员掌握了总线、设备、驱动就能完成驱动开发任务。而内核中的 kset 和 kobject 是被封装在内部的一套管理设备的机制。执行总线、设备的相关的接口函数自动会完成kset 和 kobject层级的操作。因此暂时对 kset 和 kobject 的不理解也无需担心会影响驱动开发。 二、kobject、kset和设备的关系 Linux 设备框架引入集合的概念用来管理同类型设备。所有同类设备通过链表组织在一起形成一个集合。下面是设备结构体包含了 kobject 成员Linux设备框架中就是通过该成员来管理每一个设备的。 struct device {struct kobject kobj;...... };2.1 kset 结构体 kset 的结构体比较简单如下所示。它拥有 list 和 kobject 成员Linux设备框架通过前者来管理集合中的所有设备用后者来管理相关联的集合。 struct kset {struct list_head list;spinlock_t list_lock;struct kobject kobj;const struct kset_uevent_ops *uevent_ops; } __randomize_layout;其中list成员是设备链表的头节点kobj成员是用来管理集合的kobject对象和device中的kobject对象作用一样。 2.2 kobject 结构体 Kobject 的每一项成员都和设备管理框架相关以下给出了 kobject 结构体定义 struct kobject {const char *name;struct list_head entry;struct kobject *parent;struct kset *kset;struct kobj_type *ktype;struct kernfs_node *sd; /* sysfs directory entry */struct kref kref;...... };const char *name kobject 对象的名称如果其拥有者是kset则表示kset实例的名字如果其拥有者是device则表示设备的名字。如果该 kobject 对象的拥有者加入到内核那么在sysfs文件系统中会创建一个以该名字命名的目录。 struct list_head entry 用来将该 kobject 对象的拥有者通过该成员以链表的形式被管理。 struct kobject *parent; 该成员指向该 kobject 对象拥有者的父对象构建了各拥有者之间的层级关系。在sysfs文件系统中该层级关系以 kobject 对象名字命名的目录间的层级关系呈现。 struct kset *kset; 指向该 kobject 对象拥有者的所属集合即kset实例表示该拥有者属于哪个集合。 struct kobj_type *ktype 定义了 kobject 对象的一组 sysfs 文件系统相关的操作函数和属性。其中属性由内部成员struct attribute **default_attrs表示同样该属性也会反映到sysfs文件系统中以文件的形式在 kobject 对象名字命名的目录下呈现。 通过该成员让 C 中的 struct 数据类型具备了C中 class 类型的某些特点这里体现了基于C语言面向对象设计思想。各上层对象通过继承 kobject 的方式拥有 ktype不同的 kobject 对象继承者会有不同的 ktype用以体现不同拥有者的特质差异。 struct kernfs_node *sd 用来指向该 kobject 对象在sysfs 文件系统中对应目录的实例即以 kobject 对象名字命名的目录。 struct kref kref 该成员用来表示 kobject 对象对象拥有者的引用计数其核心数据是一原子型变量。内核通过该成员追踪kobject 对象的生命周期。 三、总结 Linux 设备框架中将同类型的设备归类为一个集合一个集合中拥有一个 kset 实例和若干设备且以链表的形式管理。Kset 实例通过 kset.list 成员成为链表头节点各设备通过 device.kobj.entry 成员以子节点身份挂在链表上。同样父子关系的集合通过 kset.kobj.parent 连接在一起。
http://www.dnsts.com.cn/news/161630.html

相关文章:

  • 电商网站流程图网站查询服务器
  • 上海哪家网站建设公司好如何建个人网站视频
  • 网站登不了企业建设网银第八章 电子商务网站建设课件
  • 中国工程建设工程造价管理协会网站彬县网站建设
  • 网站获取访问者qq安康市城市建设开发总公司网站
  • 同城型网站开发wordpress多主题模式
  • 老男孩linux网站网站开发的公司名称
  • 网站建设排名公司做网站济宁
  • 户外家具技术支持东莞网站建设百度关键词seo排名优化
  • 做网站包括哪些深圳网站建设公司哪好
  • 苏州网站开发公司兴田德润在哪儿绥化网站建设
  • 打开一张图片后点击跳转到网站怎么做的他达拉非哪个牌子好
  • 免费cms建站五指网站空间空间租赁
  • 深圳h5网站建设营销型网站建设的步骤流程是什么
  • 手机配件网站模板新浪 sae wordpress
  • 企业内部网站模板下载个人开发小程序多少钱
  • 新洲网站建设永久免费linux云主机
  • 建造自己的网站外国企业网站模板免费下载
  • 单页网站 营销网站弹幕代码
  • 男女做暖暖视频网站三拼域名做网站
  • 用自己的电脑做服务器搭建网站0基础学设计该从何开始
  • 网站开发容易学吗深圳怎么制作公司网页
  • 网站上不去的原因项目建设网站
  • 凡科网的网站免费的可以用吗松岗网站
  • 淮安网站建设报价宜春网站建设公司联系方式
  • 制作网站需要学什么买域名了怎么做网站
  • 网站建设教程赚找湖南岚鸿认 可wordpress php 5.4
  • 哪个网站上可以做初中数学题打开网站后直接做跳转
  • 企业网站建设不足建设工程有限公司是干什么的
  • 网页设计 站点中文商城响应式html网站模板