- 博客(6)
- 资源 (7)
- 收藏
- 关注
原创 per-CPU变量
为什么需要per-CPU变量假设系统中有4个cpu, 同时有一个变量在各个CPU之间是共享的,每个cpu都有访问该变量的权限。 当cpu1在改变变量v的值的时候,cpu2也需要改变变量v的值。这时候就会导致变量v的值不正确。这时候机智的你就会说,在cpu1访问变量v的时候可以使用原子操作加锁,cpu2访问变量v的时候需要等待。可是机智的是否考虑过加锁对性能的影响,原子操作对cpu是极耗cpu的。再
2016-07-26 17:21:21 5760
原创 Linux消息队列
什么是消息队列消息队列可以分为队列和消息队列 队列是从开始到结束,有序的排放消息。消息队列是用来在应用程序发送消息,队列中存放了一些待处理的消息。消息 消息用来在接受者和发送者之间传输,它本质上是一个字节数组,上面有一些头信息。一个消息示例可以是任何告诉一个系统开始处理任务或完成任务的信息。消息队列的基本结构是简单的,有一个客户端应用程序称为生产者,创建消息,并将它们传送到消息队列。其他应
2016-07-22 16:44:09 573
原创 Linux互斥与同步之原子操作
例子一个全局共享的变量flagint flag=0进程Avoid funcA(){ flag++;}进程Bvoid funcB(){ flag++}在进程A和进程B都运行起来后,flag的值应该会是多少?case1funcA先执行,再执行funcB。或者 funcB先执行,再执行funcA。 上述无论那个先执行,结果都是
2016-07-20 09:57:19 1761
原创 GCC内嵌汇编
如果你是一个嵌入式开发人员,或者是Linux内核研发人员。可能经常会在内核中遇见如下代码:/* * CPU interrupt mask handling. */static inline unsigned long arch_local_irq_save(void){ unsigned long flags; asm volatile( "mrs %0
2016-07-14 16:25:55 2454 1
转载 zram 简介
本文部分转载于: http://kernel.meizu.com/zram-introduction.htmlzram 技术的由来zram(也称为 zRAM,先前称为 compcache)是 Linux 内核的一项功能,可提供虚拟内存压缩。zram 通过在 RAM 内的压缩块设备上分页,直到必须使用硬盘上的交换空间,以避免在磁盘上进行分页,从而提高性能。由于 zram 可以用内存替代硬盘为系统提供交
2016-07-13 17:57:52 13738
原创 Linux设备驱动之字符设备(三)
在Linux设备驱动之字符设备(一)中学习了设备号的构成,设备号的申请与释放。在Linux设备驱动之字符设备(二)中学习了如何创建一个字符设备,初始化,已经注册到系统中和最后释放该字符设备。本节将结合前两节学到的知道,编写一个简单的字符设备驱动。最后总结一下字符设备驱动的模型。字符设备驱动程序源码#include <linux/module.h>#include <linux/kernel.h>
2016-07-13 17:28:49 705
ARMGIC手册详解.zip
2020-03-21
ARM_v8_architecture参考手册.zip
2020-03-21
ARMv8-A_Architecture.zip
2020-03-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人