LDD3笔记(3)

原创 2006年06月17日 23:41:00

2006617星期六

当被调用的驱动程序无法满足调用者的请求,它应该阻塞该进程,进程置于休眠状态直到其请求可继续。

把进程置于休眠时,注意两条规则:1.不要在原子上下文中进入休眠。原子上下文是指:在执行多个步骤的时候,不能有并发的访问。 2. 被唤醒之后,必须检查,以确保我们等待的条件真正为真。

linux中,等待队列通过“等待队列头”来管理,它是一个wait_queue_head_t的结构体,定义在 linux/wait.h中。可以用静态或者动态的方法来初始化一个等待队列头。

可以用四种wait_event宏来把进程置于休眠。它需要的参数是queue(等待队列头)和condition(布尔表达式,条件为真时,将被唤醒)。

唤醒用的宏是两种wake_up宏。

有时调用者进程会通知我们它不想被阻塞。显式的非阻塞的I/Ofilp->f_flags中的O_NONBLOCK标志决定。 Linux/fcntl.h  linux/fs.h

在驱动程序中使用输出缓冲区可以提高性能。

注意 scull例子中如何使用while循环来实现 休眠和唤醒。

LDD3学习笔记(1) 写笔记的原因和搭建环境

一  写笔记原因 由于工作需要准备学习linux驱动及其内核,经老大推荐学习LDD3,做LDD3里面的实验。现况,有少量linux基础,仅限于少量命令行操作和少量内核基础。 二  LDD3环境搭建 l...
  • yang978897961
  • yang978897961
  • 2016年08月27日 14:51
  • 353

设备驱动简介 -- ldd3读书笔记

设备驱动简介 -- ldd3读书笔记
  • xiaocainiaoshangxiao
  • xiaocainiaoshangxiao
  • 2014年11月01日 17:38
  • 1514

【原创】【专栏】《Linux设备驱动程序》--- LDD3源码目录结构和源码分析经典链接

【原创】LDD3源码目录结构和源码分析经典链接 http://blog.chinaunix.net/uid-25194149-id-3361623.html http://blog.csdn....
  • u010787933
  • u010787933
  • 2014年07月08日 16:57
  • 1627

LDD3学习之short

http://qchfu2006.blog.163.com/blog/static/14153441020121120395443 编译好short之后,运行short_load会出现以下问题:...
  • liu0808
  • liu0808
  • 2017年01月13日 10:25
  • 118

linux设备驱动编程环境的搭建小结(结合LDD3使用)

1. 学习Linux设备驱动程序,肯定少不了LDD3,但该书使用的内核版本2.6.10,目前的linux发行版都比这个版本高不少,使用高内核版本的发行版,编译LDD3,有很多错误。这里使用RHEL4-...
  • dijkstar
  • dijkstar
  • 2016年05月07日 19:01
  • 697

Example code for LDD3

作者的ftp ftp://ar.linux.it/pub/ldd3/
  • RichardYSteven
  • RichardYSteven
  • 2010年11月15日 13:25
  • 894

ldd3学习笔记--环境搭建(构建linux2.6.10源码树)

ldd3《Linux设备驱动程序(第三版)》使用的内核是linux-2.6.10,所以想要搭建一个该版本的内核,方便学习。 //***********************************...
  • u013162593
  • u013162593
  • 2015年04月24日 22:25
  • 1576

LDD3笔记

之前曾经囫囵吞枣的读过一遍,很多地方不懂,到现在留在脑海的所剩无几,现在重新读一遍。 本篇作为阅读笔记,记录学习过程。 环境: 1. OS: Ubuntu 10.04 $ uname ...
  • smile_cc
  • smile_cc
  • 2013年04月02日 09:13
  • 511

《MFC游戏开发》笔记三 游戏贴图与透明特效的实现

本系列文章由七十一雾央编写,转载请注明出处。 http://blog.csdn.net/u011371356/article/details/9313239 作者:七十一雾央 新浪微博:h...
  • lsybryant
  • lsybryant
  • 2014年09月08日 13:46
  • 1250

读LDD3,内存映射与DMA--PAGE_SHIF…

读LDD3,内存映射与DMA--PAGE_SHIFT,页帧号。 原文链接http://www.cnblogs.com/chingliu/archive/2011/09/09/2223795.htm...
  • shangyaowei
  • shangyaowei
  • 2013年12月19日 20:44
  • 247
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:LDD3笔记(3)
举报原因:
原因补充:

(最多只允许输入30个字)