200元7天入门UI设计
特色直播课
招生说明会-如何为孩子选择好学校好专业
设计小白也能学会海报“整容”术
测一测我到底适合学什么?跳槽转行学啥好?测一测就知道-北大青鸟嘉华学校官网
电脑
首页 >手机网站 > 新闻 > linux中设备和模块的分类介绍

linux中设备和模块的分类介绍

字符设备:字符设备是能够像字节流(类似文件)一样被访问的设备,有字符设备驱动程序来实现这种特性。字符设备驱动程序通常至少要实现open、close、read、write系统调用。字符设备可以通过文件系统节点来访问,这些设备文件和普通文件之间的唯一差别在于对普通文件的访问可以前后移动访问位置,而大多数字符设备是一个只能顺序访问的数据通道。一个字符设备是一种字节流设备,对设备的存取只能按顺序按字节的存取而不能随机访问,字符设备没有请求缓冲区,所有的访问请求都是按顺序执行的。但事实上现在一些高级字符设备也可以从指定位置一次读取一块数据。
块设备:块设备也是通过设备节点来访问。块设备上能够容纳文件系统。在大多数unix系统中,进行I/O操作时块设备每次只能传输一个或多个完整的块,而每块包含512字节(或更2的更高次幂字节的数据)。linux可以让应用程序向字符设备一样读写块设备,允许一次传递任意多字节的数据。因而,块设备和字符设备的区别仅仅在于内核内部管理数据的方式,也就是内核及驱动程序之间的软件接口,而这些不同对用户来讲是透明的。在内核中,和字符驱动程序相比,块驱动程序具有完全不同的接口。存储设备一 般属于块设备,块设备有请求缓冲区,并且支持随机访问而不必按照顺序去存取数据,比如你可以 先存取后面的数据,然后在存取前面的数据,这对字符设备来说是不可能的。Linux下的磁盘设备都是块设备,尽管在Linux下有块设备节点,但应用程序一般是通过文件系统及其高速缓存来访问块设备的,而不是直接通过设备节点来读写块设备上的数据。
网络设备:网络设备不同于字符设备和块设备,它是面向报文的而不是面向流的,它不支持随机访问,也没有请求缓冲区。由于不是面向流的设备,因此将网络接口映射到文件系统中的节点比较困难。内核和网络设备驱动程序间的通讯,完全不同于内核和字符以及块驱动程序之间的通讯,内核调用一套和数据包传输相关的函数而不是read,write。网络接口没有像字符设备和块设备一样的设备号,只有一个唯一的名字,如eth0、eth1等,而这个名字也不需要与设备文件节点对应。
由上大致总结下字符设备与块设备的区别:1、字符设备是面向流的,最小访问单位是字节;而块设备是面向块的,最小访问单位是512字节或2的更高次幂。2、字符设备只能顺序按字节访问,而块设备可随机访问。3、块设备上可容纳文件系统,访问形式上,字符设备通过设备节点访问,而块设备虽然也可通过设备节点访问,但一般是通过文件系统来访问数据的。
2016-02-22 16:46:56
相关热词搜索:

其他资讯

深圳有什么好的技术学校?我对深圳的技术学校不是很了解,只在机...
2018-09-05
12月26日,深圳市龙青创科技术服务有限公司到嘉华学校举办了Java...
2016-12-28
3月12日上午,由嘉华职业教育主办的首届嘉华杯校园奥斯卡微电影...
2014-03-12
还记得传说中的经典90坦克大战吗?那些怀旧的记忆,伴随着我们...
2014-12-31
不读名牌大学,就读北大青鸟,一样都有锦绣前程,北大青鸟深圳嘉...
2013-06-06
不会动手的IT工程师不是好的IT工程师!实践出真知,北大青鸟深圳...
2018-11-23
申请嘉华免费学习机会
姓名:
电话:
我适合学IT技术吗?测一测揭晓答案
2020不知道学什么好?
北大青鸟职业规划老师免费规划学习方案
姓名 电话
说明:您的信息通过加密传输,请放心填写,提交后请保持手机通畅,我们将在24小时内与您联系。