linux内核基础
码农gogo
目前主要从事MyCAT分布式中间件开发工作,大规模MySQL集群自动化管理,MySQL高可用架构设计,对分布数据库,分布式存储比较感兴趣
展开
-
Linux内核中kfifo使用
/* * Sample kfifo byte stream implementation * * Copyright (C) 2010 Stefani Seibold <stefani@seibold.net> * * Released under the GPL version 2 only. * */#include <linux/init.h>#include <linux/m原创 2015-06-17 18:02:59 · 2549 阅读 · 0 评论 -
深入分析Linux自旋锁
转载:http://blog.chinaunix.net/uid-20543672-id-3252604.html 作者:Tekkaman Ninja转载 2015-06-18 11:29:45 · 488 阅读 · 0 评论 -
对Linux系统休眠的理解
转载:http://blog.chinaunix.net/uid-20543672-id-3248664.html 作者:Tekkaman Ninja转载 2015-06-18 11:28:07 · 518 阅读 · 0 评论 -
Linux内核实现List二个关键的宏offsetof 和 container_of
二个宏定义在inux/kernel.h头文件1.offsetof offsetof宏的定义如下: #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) 关键之处在于将地址0强制转换为type类型的指针,从而定位到member在结构体中偏移位置。编译器认为0是一个有效的地址,从而认为0是type指针的起始地址。2.c原创 2015-06-09 15:27:35 · 642 阅读 · 0 评论 -
Linux 内核基础--rb_tree使用方法
1.在你的所要使用的模块中包含头文件#include<linux/rb_tree.h>2.将rb_node嵌入到自己结构体中struct my_data{ struct rb_node node; char key[32]; char value[32]};3.定义rb树的根,一般为全局变量struct rb_root my_root_tree = RB_ROOT;4.实现原创 2015-06-10 17:32:55 · 2730 阅读 · 2 评论 -
ubuntu15.04 开启root登陆
创建文件: mkdir -p /etc/lightdm sudo vim /etc/lightdm/lightdm.conf添加如下内容: [SeatDefaults] autologin-user=root greeter-session=unity-greeter user-session=ubuntu greeter-show-manual-login=true allow-g原创 2015-07-08 17:49:43 · 1429 阅读 · 0 评论 -
Linux 内核基础--List使用方法
1.引入头文件#include <linux/list.h>2.嵌入其他结构体中作为一个结构体成员struct fox{ int id; struct list_head list;};3.声明并初始化头结点struct list_head ptr_head;INIT_LIST_HEAD(&ptr_head);4.操作list添加操作: list_add(&fox_new.li原创 2015-06-10 02:05:49 · 848 阅读 · 1 评论 -
Ubuntu 14.04 Linux内核版本3.16.0内核模块开发Makefile文件样板
#!/bin/shifneq ($(KERNELRELEASE), ) obj-m := rbtree_test.o //改成自己的模块名称elsePWD :=$(shell pwd)KVER ?=$(shell uname -r)KDIR :=/lib/modules/$(KVER)/buildall: $(MAKE) -C $(KDIR) M=$(PWD)clean:原创 2015-06-10 18:01:13 · 710 阅读 · 0 评论