[ linux 2.xx内核学习 ]
过去不再从来
反应有点慢
展开
-
linux内核学习准备工作-链表回顾(1)
麻省理工-MIT:c内存管理课程原创 2015-10-18 09:45:31 · 394 阅读 · 0 评论 -
linux内核链表用于项目中的演练
main.c:#include <stdio.h>#include "list.h"typedef struct file{ int a; int b; struct list_head list;}FILEX,*PFILEX;int main(){ FILEX file_a; FILEX file_b; FILEX file_c; FI原创 2016-03-27 22:14:24 · 354 阅读 · 0 评论 -
linux-信号量
概念:如果一个任务去获取一个不可用的信号量时,信号量可以将这个任务推进一个等待队列,去睡眠。CPU可以去干其他的事。当信号量可用时,等待队列中的任务被唤醒,获得该信号量。与自旋锁比较: 信号量相对于自旋锁===》在或得信号量得情况下可以睡眠。信号量简称睡眠锁。类型: 计算信号量,二值信号量。使用: 《1》.初始化 《2》.P 《===获取信号量 (或者down)原创 2016-02-16 23:13:25 · 307 阅读 · 0 评论 -
原子位操作
include/asm-generic/bitops针对SMP与非SMP:#include <asm/types.h>#include <linux/irqflags.h>#ifdef CONFIG_SMP#include <asm/spinlock.h>#include <asm/cache.h> /* we use L1_CACHE_BYTES *//* Use an a原创 2016-02-10 22:49:57 · 601 阅读 · 0 评论 -
原子操作
centos7中的原子变量-一般使用来作为计数器定义:include/linux/types.htypedef struct { int counter;} atomic_t;#ifdef CONFIG_64BITtypedef struct { long counter;} atomic64_t;#endif原子变量操作:#ifndef atomic_ad原创 2016-02-10 21:38:11 · 425 阅读 · 0 评论 -
linux内核数据结构-哈希表理解
下载 <1>.散列表散列表也叫哈希表。以数组结构来作对比,数组中要查询某一个值,得通过一个一个数值的比较。而hashtable是通过某一种关系(func)的映射:【key,value】: 存储地址 = func(关键字) 也就是一种键值关系。找到存储地址,就相当于找到值了,而不像数组需要去比较。实现这样一种对应关系有多种算法。这里以求余数算为例。存储地址=func(key)=key m原创 2016-02-06 21:15:48 · 1142 阅读 · 0 评论 -
linux内核锁
《linux内核设计与实现》关于内核同步。(2.6内核)1.概念 同步:避免并发和防止竞争条件。(synchronization)2.内核中可能造成并发执行嗯的原因 《1》.中断 《2》.软中断和tasklet 《3》.内核抢占。 《4》.睡眠以及用户空间的同步:再内核执行的进程可能会睡眠。会唤醒调度程序,调度一个新的用户进程执行。 《5》原创 2016-02-10 18:01:52 · 496 阅读 · 0 评论 -
linux内核链表回顾-(2)
Linux 2.6.24 关于链表欢迎下载文档源码:/include/linux/list.h <1>.链表声明并初始化:struct list_head { struct list_head *next, *prev;};#define LIST_HEAD_INIT(name) { &(name), &(name) }#define LIST_HEAD(name) \原创 2015-10-18 15:46:32 · 339 阅读 · 0 评论 -
linux内核驱动模块-再回首helloworld
源码编译 使模块的有效加入内核 - [root@localhost helloworld]# pwd/root/helloworld[root@localhost helloworld]# lshello.c Makefile[root@localhost helloworld]# cat hello.c #include <linux/init.h>#include <l原创 2015-12-12 09:18:55 · 1347 阅读 · 0 评论 -
linux内核深入学习参考
linux内核学习、参考: http://blog.chinaunix.net/uid-23629988-id-3187266.html http://blog.chinaunix.net/uid-23629988-id-2973560.html原创 2017-07-12 23:12:54 · 248 阅读 · 0 评论