字符设备驱动

---恢复内容开始---

一个Linux软件系统的结构大致如下:

 

Linux下将设备全部看成是文件,库提供了统一的系统调用来操作文件,如open、read、write等。

当应用程序调用open来打开一个文件时,从上到下的工作是:

  1. 应用程序使用open并传入相关参数;
  2. 库根据传入的参数,执行swi指令,引起内核异常,进入内核;
  3. 内核根据传入的参数,调用相关的异常处理函数,并找到相应的驱动程序;
  4. 驱动程序完成设备的初始化,并要求内核为该设备分配主设备号;
  5. 内核分配完主设备号后,再为该设备分配一个文件句柄并将该句柄传给库进而传给应用程序;
  6. 应用程序获得文件句柄后就可对该设备进行read、write等后续操作了。

---恢复内容结束---

猜你喜欢

转载自www.cnblogs.com/heart-flying/p/9231546.html