目录简述

一、设备驱动的角色

二、有无操作系统时的设备驱动

(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】设备驱动简述,快速认知相关推荐

  1. linux中流设备_[快速上手Linux设备驱动]之块设备驱动流程详解一

    [快速上手Linux设备驱动]之块设备驱动流程详解一 walfred已经在[快速上手Linux设备驱动]之我看字符设备驱动一 文中详细讲解了linux下字符设备驱动,并紧接着用四篇文章描述了Linux ...

  2. linux驱动程序设计21 Linux设备驱动的调试

    本章导读 "工欲善其事,必先利其器",为了方便进行Linux设备驱动的开发和调试,建立良好的开发环境很重 要,还要使用必要的工具软件以及掌握常用的调试技巧等. 21.1节讲解了Li ...

  3. 嵌入式Linux设备驱动面试题汇总

    大家平时在写驱动的时候,驱动相关的知识都会用到,但真到面试的时候,很难快速流畅的回答面试提出的问题,特意从网上收集整理网友遇到的问题 驱动大概的分为三部分:基础部分,同步相关,还有中断部分.中断,同步 ...

  4. 《Android深度探索(卷1):HAL与驱动开发》——1.6节 Linux设备驱动

    本节书摘来自异步社区<Android深度探索(卷1):HAL与驱动开发>一书中的第1章,第1.6节 Linux设备驱动,作者李宁,更多章节内容可以访问云栖社区"异步社区" ...

  5. linux设备驱动归纳总结(四):1.进程管理的相关概念【转】

    本文转载自;http://blog.chinaunix.net/uid-25014876-id-64866.html linux设备驱动归纳总结(四):1.进程管理的相关概念 xxxxxxxxxxxx ...

  6. linux设备驱动归纳总结(六):2.分享中断号【转】

    linux设备驱动归纳总结(六):2.分享中断号 转自:http://blog.chinaunix.net/uid-25014876-id-90837.html xxxxxxxxxxxxxxxxxxx ...

  7. linux块设备驱动中断程序,linux设备驱动归纳总结(六):1.中断的实现

    linux设备驱动归纳总结(六):1.中断的实现 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...

  8. linux下怎样看设备的中断号,Linux设备驱动的中断处理

    Linux设备驱动中,中断处理非常重要,尤其是在嵌入式系统中,无时无刻不在与中断打交道,因此,中断处理必须要牢牢掌握. 设备在产生某个事件时通知处理器的方法就是中断.中断就是一个信号,当硬件需要通知C ...

  9. Linux设备驱动01:Linux设备驱动概述

    目录 1. 设备驱动的作用 2. 有无操作系统时的设备驱动 2.1 无操作系统 2.1.1 硬件.驱动和应用程序的关系 2.1.2 单任务软件典型架构 2.2 有操作系统 2.2.1 硬件.驱动.操作 ...

最新文章

  1. 2004-10-26+ 用户输入的安全问题
  2. poj1603(Flody算法)
  3. The Clean Architecture
  4. 一些常见去除恶意软件的东东
  5. IDC:2015年全球专用备份一体机市场稳健增长
  6. 手机照片导入电脑步骤_怎样把手机里的照片传到电脑里
  7. css学习笔记(三)——布局模型
  8. hdu 4560 拆点最大流 ***
  9. 基于udp的协议netty课设题目_Netty UDP示例
  10. BZOJ5216 [Lydsy2017省队十连测]公路建设
  11. 遗传算法在计算机视觉上的应用,遗传算法在视觉感知方面的应用
  12. 谷歌fireBase推送
  13. ansible:变量调用set_fact和register
  14. linux startx无效_LINUX startx命令-用来启动X Window
  15. linux下打开.mpp文件(微软project).
  16. 什么是BI、数据仓库、数据湖和数据中台,他们有什么差异?
  17. 面试高频算法题补充系列:木棍切割问题
  18. 硬方案——锁相环PLL技术实战总结(基本原理、集成芯片CD4046参数设计避坑经验总结及实测验证)
  19. java使用poi绘制折线图和饼图(用数据绘制和使用excel生成的表格数据)
  20. Mac os x的发展

热门文章

  1. Thinkphp6调用企业微信官方php版本接口方法
  2. 服务器微信支付接口笔记-(与app端对接)
  3. 搭建Vulhub靶场 【附图】
  4. pandas中DataFrame的常用操作
  5. 胖哥和几个群友写了个好用的OAuth2授权服务器
  6. oracle goldengate 数据库复制配置手册
  7. Codeforces 833D Red-Black Cobweb [点分治]
  8. vue 自定义指令v-directive
  9. 上海浦东机场的wifi使用攻略
  10. java编程找出吸血鬼数字,找出四位數的所有吸血鬼數字(JAVA)