Linux嵌入式系统中有哪几种设备

linux操作系统对于一名嵌入式工程师来说,往往是最常用的操作系统,而无论是内核工作者还是驱动开发者都会和设备打交道,浏览/driver目录,你会发现有众多子文件夹,而每个子文件夹基本都对应一个设备驱动。今天要讲的就是linux有哪几种设备?而这也是找工作中最常被问到的问题。
字符(char)设备是个能够像字节流(类似文件)一样被访问的设备,由字符设备驱动程序来实现这种特性。字符设备驱动程序通常至少要实现open,close,read和write系统调用。大多数字符设备是一个个只能顺序访问的数据通道。
字符设备提供连续的数据流,应用程序可以顺序读取,通常不支持随机存取。相反,此类设备支持按字节/字符来读写数据。举例来说,键盘、串口、调制解调器都是典型的字符设备。
顾名思义,块设备不同字符设备的是应用程序可以随机访问设备数据,应用程序可以自由定位数据的位置,硬盘、闪存、cd-rom等都是典型的块设备。数据的读写是以块(512b)的倍数操作。而块设备不支持基于字符的寻址。
网络设备在系统中的作用类似于一个已挂载的块设备。块设备将自己注册到blk_dev数据及其他内核结构中,然后通过自己的request函数在发生请求时传输和接收数据块,同样网络设备也必须在特定的数据结构中注册自己,以便与外界交换数据包时被调用。网络设备在linux里做专门的处理。linux的网络系统主要是基于bsd unix的socket机制。在系统和驱动程序之间定义有专门的数据结构(sk_buff)进行数据的传递。系统里支持对发送数据和接收数据的缓存,提供流量控制机制,提供对多协议的支持。

农业小型气象站有哪些技术参数?价格多少
苹果正在准备新一代iPod touch,一组苹果iPod Touch 7概念渲染图
漏电起痕试验常见故障有哪些以及它的注意事项
工业物联网的全面发展还得需要5G的助力
可调恒温控制器的工作原理及制作
Linux嵌入式系统中有哪几种设备
台厂大佬谈半导体产业下半年发展走势
各种传感器在地铁环境控制系统中的应用
HDBS智能电池状态测试仪操作说明
东芝DT02-V系列监控硬盘介绍
Holtek新推出传感器信号调理MCU BH66F5350
光学轮廓仪检测仪器有哪些?
瑞昇新能源:掌握锂电接触式干燥技术核心专利
华为云桌面,助您解锁轻松高效办公模式
当今的交互式自助服务终端通过自动化交付货物
vr智能教育基地打破沉闷教学,让教育方式立体化
2018年中国和全球十大畅销智能手机公布 国内市场OPPO独占鳌头
基于英特尔Android平板电脑运行的游戏
贸泽电子备货适用于工业系统的Analog Devices ADcmXL1021-1振动传感器
LTC3520满足大多数锂离子电池供电电子设备的多输出电源需求