欢迎访问文稿网!

设备的分类

范文之家 分享 时间: 加入收藏 我要投稿 点赞
3

设备的分类

    5.1.1 设备的分类

    在Linux系统中,硬件设备分为三种,即块设备(block device)、字符设备(char device)和网络设备(network device)。块设备将数据按可寻址的块为单位进行处理,一般要使用缓冲区在设备与内存之间传送数据,常用的块设备有磁盘,U盘,CD-ROM等;字符设备是以字符为单位进行数据传输,字符设备通常只允许顺序访问,一般不需要使用缓冲区而直接对它进行读写,常用的字符设备有鼠标,键盘,串行口等;网络设备是通过通信网络传输数据的设备,一般指与通信网络连接的网络适配器(网卡)等,Linux使用套接字(socket)以文件I/O方式提供了对网络数据的访问。

    网络设备在Linux里做专门的处理。为屏蔽物理设备的多样性,Liunx对所有的网络设备抽象,并定义统一概念:接口(interface)。对于每一个已经驱动了的网络设备,都用一个struct net_device的数据结构表示。

    网络设备与字符设备及块设备的不同在于:

    (1)网络接口不存在于Linux文件系统中,而是在核心中用一个net_device数据结构表示。而字符和块设备都存在与之对应的设备文件。

    (2)网络设备在数据包发送和接收时,直接通过接口访问,而不需要进行文件的操作。

    (3)网络接口是在系统初始化的时候生成的,对于内核支持但不存在的物理设备,将不存在与之对应的net_device结构。

    (4)在系统和驱动程序之间定义有专门的数据结构(sk_buff)进行数据的传递。系统里支持对发送数据和接收数据的缓存,提供流量控制机制,提供对多协议的支持。

221381
领取福利

微信扫码领取福利

微信扫码分享

阅读并接受《用户协议》
注:各登录账户无关联!请仅用一种方式登录。


用户注册协议

一、 本网站运用开源的网站程序平台,通过国际互联网络等手段为会员或游客提供程序代码或者文章信息等服务。本网站有权在必要时修改服务条款,服务条款一旦发生变动,将会在重要页面上提示修改内容或通过其他形式告知会员。如果会员不同意所改动的内容,可以主动取消获得的网络服务。如果会员继续享用网络服务,则视为接受服务条款的变动。网站保留随时修改或中断服务而不需知照会员的权利。本站行使修改或中断服务的权利,不需对会员或第三方负责。

关闭