linux26内核,Linux26内核对象机制研究.pdf
Linux26内核对象机制研究.pdf
第二篇
嵌入式操作系统技术
第二篇嵌入式操作系统技术 4l
Linux2.6内核对象机制研究
康涌泉 桑楠 邹楚雄
电子科技大学计算机科学与工程学院,成都,610054
摘要本文对Linux26内核设备驱动管理中内柱对象机制进行了分析,重点以块设备驱动程序的体系
结构为例,描述了各层次的关系和设备驱动程序的框架。从而为设备驱动程序的开发提供一个参考模型。
关键词设备驱动程序,设备模型,内核对象机制.Kobject
引 言
此庞大的一个组织,使得设备驱动程序管理的拓扑结构相当复杂。在I,inux2.5之前版本的内桉中,投有一个数
据结构来描述系统是如何组织在一起的;L,nu盖2.5开发的一个明确H标就是为内核创建一个统一的没备模型。
在新的内核体系中,需要一个描述系统更为复杂的拓扑结构及支撑特性的抽象数据结构。本文重点分析了
机制各层次数据结构的关系.为进一步柑f究嵌入式1.inux环境下没备驱动程序的丌发和应用提供丁支持。
2 内核设备模型的任务
在Linux2.6内核巾,设备模型为世备驱动程序管理,描述设备抽象数据结构之问关系等提供了一个有效
的手段,其主要任务包括:
(1)电源管理和系统关机
该模型保汪系统硬什设备按照一定顺序改变状态。比如连接到USB适配器卜的设备在断开之前,不能关
闭该适配器。
(2)与用户空间通信
虚拟文件系统sys{s是与设备模型紧密联系的,系统由它来表示没备结构并提供给用户空间,根据它提供
的系统信息束操纵、管理相应设备,从而为系统控制提供便利。
(3)热插拔设备管理
计算机用户对计算机设备的灵活性需求越来越苛刻,外罔设备随时可能会捕^或拔出。Lmux26内核通
过设备模型来管理内核的热插拔机制,处理、世备插人或拔山时内核与用户空问的通信。
(4)设备类管理
系统通常并不关心设备是如何连接的,却需要知道H前系统中哪种设备町用。设备模型提供r一种为、垃
备分类的机制,使得在用户空削就能发现该设备是舌可用。
(5)对象生命周期处理
前面提到的热插拔、sysfs等机制使得在内棱巾创建或操纵对象变得复杂r。殴备模型的实现就是为系统
提供一套机制米处理对象的生命期、对象彼此关系及其在用户空间的表不等。
3 内核对象机制数据结构
内核对象机制巾有3个主要的数据结构:r系统(Sub
象集台(KernelObjectSet,在代码突现中J1jKset表不)肃l内核对象(Kernel
Object,在代码实现中用Kobject表示)。它们之间的关系立¨图1所示。
Subsystem处于最上层,它足内核对象机制最上层的数据结构,用于描
述一类设备子系统。所有届于某类的殴备,将通过代表设备的数据结构
ksct.1ist链中。内桉启动后.
中的Koblject成员挂接到其所属类的subsys
Kset之间的关系
42 中国西部嵌入式系统与单片机技术论坛2005学术年套论文集
mmllll
着初始化的进行,系统还会创建更多的子系统,用于实现不同部件的登记注册,如字符设备子系统(cdev—
subsys)。
对象可能会出现在不同的对象集合中。
Kobject是内核对象机制中最基本的数据结构,存最初的设计构思中,仅仅是想将其作为一个引用计数器,
象与设备模型提供纽带。用面向对象的方法,Kobjects可以被看作是顶层,其他类都由该抽象类派生的。
4 Kobject详细说明
一个字符设备结构的描述:
struetcdev{
struct
kobjectkobj;
struct
module*OWll(.|r;
linux26内核,Linux26内核对象机制研究.pdf相关推荐
- linux kernel and user space通信机制,Linux内核与用户空间通信机制研究.pdf
ISSN 1009-3044 E-mail:info@CCCC.net.CR ComputerKnowledgeandTechnology电脑知识与技术 http://www.dnzs.net.cn ...
- 武汉大学计算机学院谢超,基于模块化的电子地图自适应设计机制研究.pdf
第 3 5 卷 第 1 0 期 武 汉 大 学 学 报 信 息 科 学 版 V o l35 N o1 0 20 1 0 年 1 0 月 Ge o m a t i c s a n d In f o r ...
- 论文中文翻译——Double-Fetch情况如何演变为Double-Fetch漏洞:Linux内核中的双重获取研究
本论文相关内容 论文下载地址--Web Of Science 论文中文翻译--How Double-Fetch Situations turn into Double-Fetch Vulnerabil ...
- 详解Linux2.6内核中基于platform机制的驱动模型
原文地址:详解Linux2.6内核中基于platform机制的驱动模型 作者:nacichan [摘要]本文以Linux 2.6.25 内核为例,分析了基于platform总线的驱动模型.首先介绍了P ...
- 【Linux 内核】宏内核与微内核架构 ( 操作系统需要满足的要素 | 宏内核 | 微内核 | Linux 内核动态加载机制 )
文章目录 一.操作系统需要满足的要素 二.宏内核 三.微内核 四.Linux 内核动态加载机制 一.操作系统需要满足的要素 电脑上运行的 操作系统 , 是一个 软件 ; 设备管理 : 操作系统需要 为 ...
- Linux内核中的platform机制
Linux内核中的platform机制 从Linux 2.6起引入了一套新的驱动管理和注册机制:platform_device和platform_driver.Linux中大部分的设备驱动,都可以使用 ...
- centos内核编译与其签名机制
centos内核编译与其签名机制 linux内核3.7引入的签名机制,极大地方便了对内核模块的安全认证,同时也为操作系统厂家提供了IP保护的技术手段.不过,凡事有利也有弊.对刚刚接触具有签名机制的内核 ...
- linux 内核 工作队列,Linux内核新旧工作队列机制的剖析和比较
摘要:在中断驱动的程序设计中,工作队列是一种强有力的工具.但是在Linux2.6.35及其以前的内核版本中,每创建一个工作队列就创建与CPU数目相同的内核线程,耗费大量的内核资源:工作只能严格串行的处 ...
- 内核常见锁的机制与实现分析1
今天讨论下内核常见锁的机制与实现分析. 第一个问题内核何时会发生临界资源的竞争访问? 对于非抢占UP(uni processor)内核只有一种情况会发生竞争, 即高优先级异常/中断处理函数抢占内核线程 ...
最新文章
- jquery的常用API汇总
- 数据结构源码笔记(C语言):冒泡排序
- 基于 Quartz 开发企业级任务调度应用--转
- Ubuntu 16.04下Caffe-SSD的应用(六)——PASCAL VOC2007数据集介绍
- 696. Count Binary Substrings 计数二进制子串
- 使用eclipse开发javaweb登录功能
- APPKIT打造稳定、灵活、高效的运营配置平台
- 2020年抖音美妆直播报告
- IDEA中的将项目提交到远程git仓库
- 数据结构与算法学习笔记之 提高读取性能的链表(上)
- ps文字换行_零基础一周内熟悉使用PS基础工具【Photoshop教程二】
- 破解路由器密码并限制和***邻居电脑
- LOJ-10102(桥的判断)
- 报警c语言程序,PIC单片机警报声C程序
- 全国大学生信息安全竞赛writeup--暗号(reverse300)
- MC开服教程2:材质包法自定义唱片音乐
- c语言实现mysql通配符_Mysql的C语言接口简单实现电话本功能
- 八位共阴数码管的工作方式
- 归因分析_归因分析:如何衡量影响? (第2部分,共2部分)
- CSDN英雄会上会英雄
热门文章
- 为什么 SAP 电商云 Spartacus UI SSR 模式下的客户端应用,不会发起 product 请求
- SAP Commerce Cloud SmartEdit 学习笔记
- 什么是 SAP vocabulary-based annotations
- SAP Spartacus避免不能向下兼容的breaking changes
- Business Partner Relationship Category in CRM and C4C
- SAP Fiori 3的暗黑主题,酷炫无比
- BadI /ui2/catalog_provider_bd
- react native命令行全局安装
- Change Fiori launchpad logo
- Marketing Cloud Launchpad动态tile显示数字刷新的触发逻辑