- 博客(6)
- 资源 (20)
- 收藏
- 关注
原创 1、Linux设备的阻塞式和非阻塞式访问
1、休眠休眠的概念:休眠的进程会被搁置在一边,等待将来的某个事件发生。当进程休眠时,它期待某个条件未来为真,当一个休眠的进程被唤醒是,它必须再次检查它所等待的条件的确为真。休眠有简单休眠、高级休眠、手工休眠等。 1.1简单休眠Linux内核中最简单的休眠方式称为是wait_event的宏,它在休眠的同时也要检查进程等待的条件。以下是几种简单的休眠宏:
2016-08-07 15:35:23 1192
原创 Linux设备驱动中的并发
1、Linux中的并发与竞争Linux设备驱动中必须解决的一个问题:多进程对共享资源的并发问题,多个进程对同一个设备的并发访问,势必会导致对该设备资源的竞争。竞态发生的几种情况:1)、对称多处理器的多个CPU;2)、单CPU内进程与抢占它的进程;2)、中断(硬中断、软中断、tasklet、底半部)与进程之间并发的概念:多个执行单元同时、并行被执行,而并发执行单元对共
2016-08-06 21:49:13 1906
原创 Linux延时处理
1、Linux的延时处理设备驱动经常需要将某些特定代码延迟一段时间后执行--通常是为了让硬件能完成某些任务。 1.1长延时 超时如果驱动程序使用等待队列来等待其他一些事件,而我们同时希望在特定时间段中运行,则可以使用下列函数处理。timeout表示要等待的jiffies值,下列函数会在给的等待队列上休眠,但会在超时到期时返回。 wait_event_timeou
2016-08-06 17:01:30 927
原创 高级字符驱动程序操作
通过读/写来实现数据传输,但除了数据传输之外,还有请求设备锁门、弹出介质、报告错误信息等。休眠:当一个进程所需要的资源得不到满足时,会标记为一种特殊状态,该状态就可以理解为休眠,休眠中的进程会被搁置在一边,等待将来的某个事件发生。对于休眠需要记住三天规则:1)、永远不要在原子上下文中进入休眠(原子上下文是指:执行多个步骤时,不能有任何的并发访问);2)、当我们被唤醒时,我们永远无法
2016-08-05 20:04:58 827
原创 并发与竞态
同步异步的区别:同步就是指一个进程在执行某个请求的时候,若该请求需要一段时间才能返回信息,那么这个进程将会一直等待下去,直到收到返回信息才继续执行下去;异步是指进程不需要一直等下去,而是继续执行下面的操作,不管其他进程的状态。当有消息返回时系统会通知进程进行处理,这样可以提高执行的效率。 而我们平时经常讨论的同步问题多发生在多线程环境中的数据共享问题。即当多个线程需
2016-08-05 20:03:32 819
转载 linux sys节点属性 show以及store
从底层把值传给上层有很多种方法,sysfs就是很简单的一个:提到sysfs,就不得不提函数宏 DEVICE_ATTRDEVICE_ATTR的原型:#define DEVICE_ATTR(_name,_mode,_show,_store)\struct device_atttribute dev_attr_##_name = __ATTR(_name,_mode,_s
2016-08-03 19:11:47 7704
Android驱动开发与移植实战详解
2017-03-05
在Fedora22平台下将opencv移植到S3C6410
2015-12-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人