环形缓冲区是生产者和消费者模型中常用的数据结构。生产者将数据放入数组的尾端,而消费者从数组的另一端移走数据,当达到数组的尾部时,生产者绕回到数组的头部。如果只有一个生产者和一个消费者,那么就可以做到免锁访问环形缓冲区(Ring Buffer)。写入索引只允许生产者访问并修改,只要写入者在更新索引之前 ...
分类:
其他好文 时间:
2018-07-05 21:23:28
阅读次数:
188
dmesg系统启动异常诊断语法格式:dmesg【option】dmesg[选项]注意:dmesg命令及后面的选项里,每个元素之间都要至少要有一个空格dmesg用于显示内核环形缓冲区的内容。在进行系统引导时,内核会将硬件和模块初始化相关的信息写到这个缓冲区中。内核环形缓冲区中的信息对于诊断系统问题是非常有用的。内核环形缓冲区的内容同时会保存在/var/log目录中,即名称为dmesg的文件里,可以通
分类:
系统相关 时间:
2018-06-09 00:06:29
阅读次数:
214
整个shuffle的流程图 Paste_Image.png Map Shuffle的作用以及相应的设置 partition 过程:输入的<key,value>对经过map()处理后输出新的<key,value>对,它首先会被存储到环形缓冲区中(字节数组实现)。该环形缓冲区的大小默认为100MB。并且 ...
分类:
其他好文 时间:
2018-05-11 13:03:42
阅读次数:
161
驱动开发中使用函数 printk() 打印的信息可以通过 dmesg 查看 简介 ‘dmesg’命令显示linux内核的环形缓冲区信息,我们可以从中获得诸如系统架构、cpu、挂载的硬件,RAM等多个运行级别的大量的系统信息。当计算机启动时,系统内核(操作系统的核心部分)将会被加载到内存中。在加载的过 ...
分类:
系统相关 时间:
2018-04-07 16:16:37
阅读次数:
185
1、前言 最近项目中用到一个环形缓冲区(ring buffer),代码是由linux内核的kfifo改过来的。缓冲区在文件系统中经常用到,通过缓冲区缓解cpu读写内存和读写磁盘的速度。例如一个进程A产生数据发给另外一个进程B,进程B需要对进程A传的数据进行处理并写入文件,如果B没有处理完,则A要延迟 ...
分类:
系统相关 时间:
2018-02-25 13:18:51
阅读次数:
254
转自:http://blog.chinaunix.net/uid-28458801-id-4262445.html 操作系统:ubuntu10.04 前言: 在嵌入式开发中,只要是带操作系统的,在其上开发产品应用,基本都需要用到多线程。 为了提高效率,尽可能的提高并发率。因此,线程之间的通信就是问题 ...
分类:
编程语言 时间:
2018-01-11 16:11:58
阅读次数:
216
``` cat aa.c / ringbuf .c / include include define NMAX 8 int iput = 0; / 环形缓冲区的当前放入位置 / int iget = 0; / 缓冲区的当前取出位置 / int n = 0; / 环形缓冲区中的元素总数量 / doub ...
分类:
其他好文 时间:
2018-01-02 15:23:38
阅读次数:
209
1、前言 最近项目中用到一个环形缓冲区(ring buffer),代码是由linux内核的kfifo改过来的。缓冲区在文件系统中经常用到,通过缓冲区缓解cpu读写内存和读写磁盘的速度。例如一个进程A产生数据发给另外一个进程B,进程B需要对进程A传的数据进行处理并写入文件,如果B没有处理完,则A要延迟 ...
分类:
系统相关 时间:
2017-11-21 01:12:35
阅读次数:
221
版权声明:本文为博主原创文章,未经博主允许不得转载 首先,先引出两点来展开下面的话题。 (1)map阶段的排序是在hash之后,写入磁盘之前进行。排序的两个关键字是partition(分区编号)和key。 (2)map结束后,并不是马上写到磁盘的,而是有个环形缓冲区,数据写到缓冲区中,默认溢出率是8 ...
分类:
编程语言 时间:
2017-09-24 11:34:10
阅读次数:
303
一、分析驱动程序,依据开发板改动代码 代码太长,就不贴了,几个注意点: 1、 查看开发板原理图和S3C2410的datasheet,UDA1341的L3MODE、L3DATA、L3CLOCK分别与S3C2410的GPB2、GPB3、GPB4相连。IISLRCK=GPE0, IISSCLK=GPE1, ...
分类:
系统相关 时间:
2017-07-07 19:58:59
阅读次数:
304