第1章 概述

1. 操作系统有什么用

  • 用于处理复杂的并发任务
  • 提供内存管理机制
  • 应用程序可使用统一的系统调用接口访问各种设备,而不论设备的具体类型和工作方式

2. linux设备分类

  • 字符设备:以串行顺序依次访问的设备,如触摸屏、磁带驱动器、鼠标等。
  • 块设备:可以按任意顺序访问,以块为单位进行操作,如硬盘、eMMC等。
  • 网络设备:面向数据包的接受和发送,不倾向于对应于文件系统的节点。内核与网络设备的通信主要使用套接字接口。

3. Linux设备驱动与软硬件系统的关系

4. Linux设备驱动工程师要求

  • 硬件基础:懂得SRAM、Flash、SDRAM、磁盘的读写方式,UART、I2C、USB等设备接口以及轮询、中断、DMA的原理,PCI总线的工作方式以及CPU的内存管理单元(MMU)等。
  • C语言基础:灵活运用C语言结构体、指针、函数指针以及内存动态申请和释放等。
  • Linux内核基础:了解驱动与内核的接口、内核定义的驱动体系结构,尤其是块设备、网络设备、Flash设备、串口设备等复杂设备。
  • 多任务并发控制和同步基础:自旋锁、互斥、信号量、等待队列等并发与同步机制。
posted @ 2019-06-27 10:28  Raina_R  阅读(179)  评论(0编辑  收藏  举报