- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第31卷 第5期 华 侨 大 学 学 报 (自然 科 学 版 ) Vo1.31 No.5
2010年 9月 JournalofHuaqiaoUniversity(NaturalScience) Sep.2010
文章编号: 1000—5013(2010)05-0515-06·
Linux下Proc文件系统的编程剖析
郭松 ,谢维波
(华侨大学 计算机科学与技术学院,福建 泉州 362021)
摘要:论述Linux下可加载内核模块和虚拟文件系统的运作原理,比较内核程序运行在微内核和一体化内
核两种组织方式下的优缺点.在此基础上 ,提出Proc文件系统下的编程,包括编写内核模块和Proc文件系统
程序的一些过程,并对主要代码进行解析说明.通过一个编程示例 ,给出Proe文件系统编程的框架 ,以显示
Linux虚拟文件系统的能力.
关键词: Proc文件系统;Linux;内核模块;虚拟文件系统
中图分类号:TP311.1 文献标识码: A
通过对Proc文件系统中文件的读写操作,达到对驱动程序或其他内核程序的控制,实现用户态程
序与核心态程序的数据通信.向Proc写入信息,可以使用标准的文件系统提供的机制.文件系统注册的
标准机制,是每个文件系统都用 自己的函数来处理索引节点和文件操作.通过编写内核模块来实现用户
态到核心态通信,通过内核模块在 Proc文件系统中创建文件夹或文件,来为用户程序提供接 口基于
此,本文介绍编写内核模块和Proc文件系统程序的一些过程,并对主要代码进行解析说明.
1 可加载内核模块和虚拟文件系统
1.1 可加载内核模块
为了支持构建安全操作系统,现代中央处理器 (CPU)--般提供至少两种运行模式:特权模式与用
户模式 .它们不仅具有不同的优先权等级,还有各 自的地址空间,即内核空间和用户空间.所有的现代
CPU都具有保护系统软件不受应用程序破坏的功能,即在CPU中实现不同的操作模式或级别L1].
Unix系统使用最高级别和最低级别——内核程序运行在特权模式,在这个级别中可以进行所有的
操作;而应用程序运行在用户模式,处理器控制着对硬件的直接访问,以及对内存的非授权访问.
根据各个管理模块是否放在特权模式下,操作系统有微内核和一体化内核两种组织方式[1],如图1
所示.传统的Unix及大部分类 Unix操作系统基本上都属于一体化内核组织方式,而Mach,Windows
NT,Window2ooo/xP等基本属于微内核组织方式(图1).
用户模式 回国围 目 用户模式回 国 圆 圈
敞 黻
园 园 一式围困目 围圈
(a)微内核 (b)一体化内核
图1 操作系统内核组织方式
Fig.1 Organizationofoperatingsystem kernel
收稿 日期: 2009—10—23
通信作者:谢维波((1964一),男,教授,主要从事信号处理与模式识别的研究.E-mail:xwblxf@hqu.edu.an.
基金项 目: 福建省厦门市科技计划项 目(35O2Z2OO83047)
华 侨 大学 学 报 (自然科 学 版)
一 体化内核组织方式的优点是效率高、安全,但其缺点是不容易扩展.若要增加一种新设备驱动或
文件系统等功能,则必须对内核重新编译定制,而且 占用内存较多.微内核组织方式的优点是可扩展性
好,占用内存少,但缺点是效率低,也没有一体化内核安全l1].
在Linux中引入内核模块机制,主要 目的是为了充分吸取两者的优点,克服它们的缺点.内核模块
是Linux用来高效地利用微 内核的理论优点而不会降低系统性能的一种方法.
Linux内核模块本质上是存放在文件系统中的ELF对象文件,没有链接,不能独立运行,但可以动
态加载 (Insmod)到内核并与内核链接,从而成为内核的一部分,或者从内核解除链接.其基本
您可能关注的文档
最近下载
- 不锈钢管道安装施工与方案.doc VIP
- 喜茶运营管理手册和员工操作管理手册.doc VIP
- 施工总包合同.docx VIP
- 土木专业英国规范NA to BS EN 1991-1-4_2005+A1_2010.pdf VIP
- 软件风险管理计划.docx VIP
- 2024年秋季人教版7年级上册数学全册教学课件(新教材).pptx
- 中山市八年级下期末考试数学试题(有答案)-精品 .pdf VIP
- Module10 Unit 2 Don’t shout please!(教案)外研版(三起)英语五年级上册1.docx VIP
- 顶格筹码峰与平均成本双线合一选股公式.docx VIP
- Module 10 Unit 2 Don’t shout, please! (教案)外研版(三起)英语五年级上册1.docx VIP
文档评论(0)