ISSN 1009-3044 E—mail:info@CCCC.net.CR

ComputerKnowledgeandTechnology电脑知识与技术 http://www.dnzs.net.cn

Vo1.8,No.16,June2012. Tel:+86—551—5690963 5690964

Linux内核与用户空间通信机制研究

刘斌,朱程荣

(同济大学计算机科学与技术系,上海201804)

摘要:Linux内核采用单内核架构,具有简单、高效、安全的优点。Linux各子系统包含在内核 中,而系统配置及管理工具运行于用户

空间。开发人员需要采用一种合适的在内核与用户空间之间通信的方法。该文总结了几种常用的通信方法:设备节点适合于驱动

程序开发,但创建过程比较复杂;/proc文件易于创建,但是不支持大量数据的传输;netlink具有高可扩展性,越来越多的系统工具采

用这种方式,而其传输速度较慢;内存映射是传输速度最快的方式,使用不当时会对 系统造成破坏。

关键词:Linux;驱动程序;proc文件;netlink;内存映射 ‘

中图分类号:TP316.8 文献标识码:A 文章编号:1009-3044(2012)16-3816—02

TheResearchofCommunicationM echanism betweenLinuxKernelandUser-space

LIU Bin,ZHU Cheng—rong

(ComputerScienceandTechnologyDepa~mentofTon~iUniversity,Shanghai201804,China)

Abstract:ThearchitectureofLinuxisdesignedasmonolithickernel,thismakesLinuxsimple,efficient,secure.SinceallLinuxsubsystems

arecontainedinitskernel,whilemostsystem configurationandmanagementtoolsarerunninginuser—space,developershavetofinda

properwavtocommunicatebetweenkernelanduser—space.Theauthorintroducesseveralusualmechanisms:devicenodeisusedfordriv—

erdevelopment,tOcreateadevicedriverinterfacaiscomplicatedthanothermethods;/procfileiseasytOcreateanduse,butitcannot

transferlargemessage;netlinksocketsisahighlyextensiblemessagemechanism ,moreandmoresystem toolsusethismechanism,even

thoughitstransferspeedislow;memory—mappedI/O isfastest,butitsmisusewillcausesystem faliure.

Keywords:Linux;devicedriver;procfile;nedink;memory—mappedI/O

Linux是一个开源操作系统,具有 良好的平台间可移植性 ,在嵌入式及服务器操作系统领域所 占的份额越来越大。Linux内核,

跟许多其他类Unix系统一样,采用单内核架构,即内核运行在一个独立的地址空间中 】。单内核架构有以下优点:

1)简单。单内核使得内核设计较为简单,内核映像文件更容易存储。

2)高效。所有内核服务运行于同一个内核空间,其间的通信不需涉及状态转换过程,使内核保持较高的工作效率。

3)安全。运行于内核空间的指令具有特权,内核空间独立于用户空间,这使得用户不能随意占用系统资源、对系统修改甚至危

害系统的安全 ,这样内核就具有较高的安全性。

Linux内核子系统运行于内核空间,而对其的配置管理却是通过用户空间的管理工具来完成的。Linux内核需要提供一定的接口,

linux kernel and user space通信机制,Linux内核与用户空间通信机制研究.pdf相关推荐

  1. linux kernel and user space通信机制,Linux内核空间与用户空间通信机制地研究.doc

    实用文案 标准文档 Linux内核空间与用户空间通信机制的研究 Linux kernel space and user space communication mechanism 摘 要 Linux ...

  2. 線上 Android/Linux Kernel Source Code瀏覽 - Android/Linux Source Code Cross Reference

    線上 Android/Linux Kernel Source Code瀏覽 - Android/Linux Source Code Cross Reference http://hala01.com/ ...

  3. linux 内核与用户空间通信之netlink使用方法

    Linux中的进程间通信机制源自于Unix平台上的进程通信机制.Unix的两大分支AT&T Unix和BSD Unix在进程通信实现机制上的各有所不同,前者形成了运行在单个计算机上的Syste ...

  4. Linux内核和用户空间通信的方法

    Linux内核和用户空间通信的方法(二)- 使用netlink   作者:Kendo 2006-9-3 这是一篇学习笔记,主要是对<Linux 系统内核空间与用户空间通信的实现与分析>中的 ...

  5. Linux内核空间-用户空间通信之debugfs

    一.debugfs文件系统简介 debugfs虚拟文件系统是一种内核空间与用户空间的接口,基于libfs库实现,专用于开发人员调试,便于向用户空间导出内核空间数据(当然,反方向也可以).debugfs ...

  6. 操作系统4小时速成:操作系统发展和分类,运行环境:运行机制和内核,用户态非特权,核心态特权,中断技术,访管指令

    操作系统4小时速成:操作系统发展和分类,运行环境:运行机制和内核,用户态非特权,核心态特权,中断技术,访管指令 2022找工作是学历.能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得 ...

  7. Linux Kernel TCP/IP Stack — L2 Layer — Linux Bridge(虚拟网桥)的基本操作

    目录 文章目录 目录 Linux bridge 的基本操作 创建 Bridge 将 veth pair 连上 Bridge 为 Bridge 配置 IP 地址 将物理网卡接口设备挂靠 Bridge L ...

  8. k n:linux kernel 从开机,到加载内核镜像到内存

    原文地址: linux的内核运行原理是怎么样的呢?如何从开机,到加载内核镜像到内存? linux的内核运行原理是怎么样的呢?如何从开机,到加载内核镜像到内存? 最佳答案 本回答由提问者推荐 头像 匿名 ...

  9. Linux Kernel TCP/IP Stack — L2 Layer — Linux Bridge(虚拟网桥)

    目录 文章目录 目录 Linux bridge Linux bridge 的实现方式 Linux bridge 的代码逻辑 Linux bridge 在 Linux 的语境中,Bridge(网桥)和 ...

最新文章

  1. 把blogengine当作cms作公司网站
  2. 机器学习中遇到的问题
  3. 数据统一管理--企业决策分析之刚需
  4. [渝粤教育] 泉州师范学院 弦管传奇 古乐南音 参考 资料
  5. C++ STL常用算法总结
  6. 视频教程-R语言实战之行业案例分享视频课程-其他
  7. 计算机打字怎么学笔,学电脑·非常简单:五笔打字
  8. mac 安装 JDK
  9. word中标题去掉前面的点
  10. 【虚幻4】从U3D到UE4的转型之路
  11. 南京oracle认证考试,南京Oracle认证考试-Oracle认证Web组件开发专家(OCWCD)-南京万和...
  12. 文字图片白底黑字_白底黑字简短文字图片 白底黑字纯简短文字
  13. 关于阅读ROS的源代码
  14. 分布式论文精读1:MapReduce
  15. 找到右下角弹广告的真凶
  16. 20ZR暑期集训 简单数据结构
  17. 链家全国房价数据分析 : 数据获取
  18. 操作系统实验四——使用命名管道实现进程通信
  19. 17. 【移动Web开发之flex布局】
  20. 命名规约+权限修饰符+封装+特征修饰符

热门文章

  1. linux下inotify的使用
  2. SQL Server 2008创建数据库
  3. GNS3中配置PIX enable ×××
  4. 你有过这样的“反应”吗?
  5. 使用PowerDesigner生成Access数据库
  6. 下一个全球电子通道系统,一定是BCH!
  7. [译] 在 Facebook 发一张登机牌,你就有可能被盗号了
  8. Unity中对象池的使用
  9. 使用JMeter进行性能测试
  10. many-to-many