Linux下Proc文件系统的编程剖析.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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)到内核并与内核链接,从而成为内核的一部分,或者从内核解除链接.其基本

文档评论(0)

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档