当前位置:  技术问答>linux和unix

设备文件作用是什么啊,大家帮忙解释下,谢谢~

    来源: 互联网  发布时间:2016-09-29

    本文导语:  是不是对字符设备(比如键盘)读操作,就抽象成了对相应的字符设备文件的读操作呢。那块设备(如磁盘),读操作可以直接读磁盘中的文件啊,不需要块设备文件啊。这是怎么回事呢?大牛帮小弟解释下,字符设...

是不是对字符设备(比如键盘)读操作,就抽象成了对相应的字符设备文件的读操作呢。那块设备(如磁盘),读操作可以直接读磁盘中的文件啊,不需要块设备文件啊。这是怎么回事呢?大牛帮小弟解释下,字符设备文件和块设备文件的作用是什么啊?感激不尽~~

|
设备文件是应用程序与驱动程序交互的接口。
//是不是对字符设备(比如键盘)读操作,就抽象成了对相应的字符设备文件的读操作呢?
是的,为便于应用程序的编程,将设备抽象成了对相应的字符设备文件,读写设备文件就是在操作相应的设备,不可能直接操作硬件设备,用户态下无法直接访问硬件设备的地址空间。读写设备文件后经由内核的驱动程序管理模块来调用相应的驱动程序去直接操作硬件,这也就是系统调用。不过一般驱动程序也是分层的,有与硬件直接打交道的,有与应用程序接口的,有的驱动程序还嵌套其他的驱动程序,这样分层也是为了便于调试维护和移植。
//那读取磁盘文件时块设备文件的作用是什么呢?
读取磁盘文件时就需要读写块设备文件,以间接调用相应的磁盘驱动去读写磁盘文件。不能直接读取磁盘文件,虽然你调用了read()、write()、fread()、fwrite()来读写了文件,但这些都不是直接在读写磁盘文件,直接读写磁盘文件的过程和操作在驱动程序中。建议你看一下设备驱动开发详解的内容,试着写个简单的驱动程序就能弄清楚这个概念问题。

|
//那字符设备文件和块设备文件都在哪里存储的呢?不能在磁盘吧?

字符设备文件和块设备文件当然是在磁盘上呀。为什么是在磁盘上呢,因为这样做就经过了文件系统这一级的“封装”而统一接口,你想为什么用open(),read(),write()就可以与成千上万种驱动交互(当然有的驱动不这样)。内核利用文件系统来统一接口,来区分是在调用什么什么驱动程序。设备文件在磁盘上,但不同于普通文件,它里面并没有存放相应的设备数据(这是站在驱动层说的,而在应用层可以这么错误的理解)。驱动在加载时已经把相应的信息注册到了内核中(具体是哪块我也不清楚,可能是在文件系统中吧)。文件系统在识别了这个打开的文件后在驱动列表中找到相应的驱动程序就可调用相应的驱动程序来与应用层交互,所以这之间还有文件系统作为“传话人”。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 求人帮忙Linux驱动中 设备注册的问题
  • CSS属性参考手册 iis7站长之家
  • 简单的字符设备驱动程序居然出错!大家帮忙看看哈^_^
  • 一个很常见的设备驱动程序例子不知道哪里有错,怎么编译,请大家帮忙阿,谢谢!!!
  • 加载混杂字符设备驱动在/dev/下没有出现设备文件,请帮忙分析我程序!
  • [求助] 字符设备驱动,写数据和读数据都有问题,望大家帮忙[已解决,来人接分结贴]。
  • UIO(linux Userspace I/O子系统)用户空间设备驱动I/O技术介绍
  • 弱问:一个设备能不能既是字符设备又是块设备?
  • 字符设备驱动,混杂设备驱动,总线、设备、驱动模型、平台驱动
  • 关于设备操作的一点迷惑:计算机如何知道驱动程序要操作的设备正好是指定的设备?
  • 如何根据主设备号打开设备?
  • 设备与设备文件问题
  • 怎么知道设备节点对应那个设备?
  • MTD字符设备和块设备有着什么样的关系????
  • 关于设备节点,设备文件系统的关系
  • 字符型设备驱动生成的块设备
  • 程序如何open这个设备,如何知道这个设备对应的特殊文件名?
  • 请问cf接口设备一般对应什么设备文件呢?
  • 怎么区分字符设备和块设备???????
  • 混杂 字符型设备 自动创建设备文件的问题
  • linux2.4如何在设备拔出后将无效的设备节点也删除
  • 内存映射设备后,就可以直接访问设备的片内内存 了(比如显卡的显存)?
  • Linux设备驱动(第三版)- 字符设备驱动 - 例子
  • 问一个问题。请问如何在文件系统管理并使用设备,也就是当一个设备装载,下载时。文件系统是如何实现的
  • Linux下写了一个字符设备驱动,找不到设备文件在哪个目录
  • linux 启动的时候 可以检查出很多设备 并给设备配以驱动程序
  • 用户可通过访问设备节点控制设备,是否也可直接读取class或devices里的文件获得设备信息?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3