【Linux】设备驱动简述,快速认知
目录简述
一、设备驱动的角色
二、有无操作系统时的设备驱动
(1)无操作系统时
(2)有操作系统时
三、Linux设备分类
(1)字符设备
(2)块设备
(3)网络设备
四、Linux设备驱动在整个系统的关系
一、设备驱动的角色
①充当硬件和应用软件之间的桥梁
②具体任务:读写设备寄存器,完成设备的轮询、中断处理、DMA通信,进行物理内存向虚拟内存的映射。
③应用软件调用驱动,驱使硬件完成要求的任务。
二、有无操作系统时的设备驱动
(1)无操作系统时
一般是以.h和.c来定义一个软件模块,这里应用软件直接访问设备驱动的接口。
(2)有操作系统时
①无操作系统时的硬件操作还是必需的
②将驱动融入内核,设计面向操作系统内核的接口,对外呈现为操作系统的API,不再提供接口。
注:应用程序与硬件没有联系,只与内核有联系,内核是应用程序知道的层次中的最底层。在实际工作中内核抽象了相关细节。驱动为连接硬件和内核的桥梁。
③操作系统的作用:处理多并发的任务以及存储管理方面的问题。
内核和设备系统之间关系详解图如下:
三、Linux设备分类
计算机系统的硬件主要由CPU、存储器和外设组成。Linux将存储器和外设分为三个基础大类,字符设备、块设备以及网络设备。
(1)字符设备
①串行顺序依次进行访问的设备。
②块设备不经过系统的快速缓冲
③触摸屏、磁带驱动器、鼠标等
(2)块设备
①可以按照任意顺序进行访问,以块为单位进行操作
②硬盘、eMMC等块设备上可以构建文件系统
③块设备经过系统的快速缓冲
(3)网络设备
①面向数据包的接收和发送而设计
②内核与网络设备的通信,主要还是用套接字接口。
四、Linux设备驱动在整个系统的关系
(1)除网络设备外,字符设备与块设备都被映射到Linux文件系统的文件和目录,可以通过文件系统的系统调用接口(open/close/read/write)
(2)访问块设备有两种方式,如图一种原始方式,一种构建文件系统(FAT/EXT4/BTRFS)后通过文件访问。
(3)Linux块子系统 & MTD系统
①Linux块子系统面向磁盘 & MMC/SD工作,在其上可建立FAT/EXT等文件系统
②MTD系统面向Nor & Nand Flash工作,在其上可建立YAFFS2等文件系统
【Linux】设备驱动简述,快速认知相关推荐
- linux中流设备_[快速上手Linux设备驱动]之块设备驱动流程详解一
[快速上手Linux设备驱动]之块设备驱动流程详解一 walfred已经在[快速上手Linux设备驱动]之我看字符设备驱动一 文中详细讲解了linux下字符设备驱动,并紧接着用四篇文章描述了Linux ...
- linux驱动程序设计21 Linux设备驱动的调试
本章导读 "工欲善其事,必先利其器",为了方便进行Linux设备驱动的开发和调试,建立良好的开发环境很重 要,还要使用必要的工具软件以及掌握常用的调试技巧等. 21.1节讲解了Li ...
- 嵌入式Linux设备驱动面试题汇总
大家平时在写驱动的时候,驱动相关的知识都会用到,但真到面试的时候,很难快速流畅的回答面试提出的问题,特意从网上收集整理网友遇到的问题 驱动大概的分为三部分:基础部分,同步相关,还有中断部分.中断,同步 ...
- 《Android深度探索(卷1):HAL与驱动开发》——1.6节 Linux设备驱动
本节书摘来自异步社区<Android深度探索(卷1):HAL与驱动开发>一书中的第1章,第1.6节 Linux设备驱动,作者李宁,更多章节内容可以访问云栖社区"异步社区" ...
- linux设备驱动归纳总结(四):1.进程管理的相关概念【转】
本文转载自;http://blog.chinaunix.net/uid-25014876-id-64866.html linux设备驱动归纳总结(四):1.进程管理的相关概念 xxxxxxxxxxxx ...
- linux设备驱动归纳总结(六):2.分享中断号【转】
linux设备驱动归纳总结(六):2.分享中断号 转自:http://blog.chinaunix.net/uid-25014876-id-90837.html xxxxxxxxxxxxxxxxxxx ...
- linux块设备驱动中断程序,linux设备驱动归纳总结(六):1.中断的实现
linux设备驱动归纳总结(六):1.中断的实现 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...
- linux下怎样看设备的中断号,Linux设备驱动的中断处理
Linux设备驱动中,中断处理非常重要,尤其是在嵌入式系统中,无时无刻不在与中断打交道,因此,中断处理必须要牢牢掌握. 设备在产生某个事件时通知处理器的方法就是中断.中断就是一个信号,当硬件需要通知C ...
- Linux设备驱动01:Linux设备驱动概述
目录 1. 设备驱动的作用 2. 有无操作系统时的设备驱动 2.1 无操作系统 2.1.1 硬件.驱动和应用程序的关系 2.1.2 单任务软件典型架构 2.2 有操作系统 2.2.1 硬件.驱动.操作 ...
最新文章
- 2004-10-26+ 用户输入的安全问题
- poj1603(Flody算法)
- The Clean Architecture
- 一些常见去除恶意软件的东东
- IDC:2015年全球专用备份一体机市场稳健增长
- 手机照片导入电脑步骤_怎样把手机里的照片传到电脑里
- css学习笔记(三)——布局模型
- hdu 4560 拆点最大流 ***
- 基于udp的协议netty课设题目_Netty UDP示例
- BZOJ5216 [Lydsy2017省队十连测]公路建设
- 遗传算法在计算机视觉上的应用,遗传算法在视觉感知方面的应用
- 谷歌fireBase推送
- ansible:变量调用set_fact和register
- linux startx无效_LINUX startx命令-用来启动X Window
- linux下打开.mpp文件(微软project).
- 什么是BI、数据仓库、数据湖和数据中台,他们有什么差异?
- 面试高频算法题补充系列:木棍切割问题
- 硬方案——锁相环PLL技术实战总结(基本原理、集成芯片CD4046参数设计避坑经验总结及实测验证)
- java使用poi绘制折线图和饼图(用数据绘制和使用excel生成的表格数据)
- Mac os x的发展