第十一章:内核的数据处理

原创 2012年03月30日 14:33:45

在编译时使用-Wall –Wstrict-prototypes选项编译可以防止大多数的代码缺陷。

使用标准C语言类型

内核中的普通内存地址通常是unsigned long ,因为:至少在当前linux支持的所有平台上,指针和long整型的大小是一样的。

为数据项分配确定的空间大小

<asm/types.h>中定义若干类型:u8, u16, u32, u64

使用新的编译器可以定义如下类型等等:uint8_t, uint32_t

其他有关移植性的问题

页分配常见代码:假设需要16KB空间来存储临时数据,则分配页的代码是

#include <asm/pages.h>

int order = get_order(16*1024);

buf = get_free_pages(FGP_KERNEL, order);

传给order的值必须是2的幂。

链表

相关类型以及API

struct list_head{struct list_head *next, *prev;};

初始化

sturct list_head todo_list;

INIT_LIST_HEAD(&todo_list);

也可以这样初始化:

LIST_HEAD(todo_list);

API:

list_add(struct list_head *new, struct list_head *head);

list_add_tail(struct list_head *new, struct list_head *head);

list_del(struct list_head *entry);

list_del_init(struct list_head *entry);

list_empty(struct list_head *head);

list_entry(entry, type, name);

list_move(struct list_head *entry, struct list_head *head);

list_move_tail(struct list_head *entry, struct list_head *head);

list_splice(struct list_head *list, struct list_head *head);

 

Excel VBA高效办公应用-第十一章-教师员工数据管理-Part1 (教师考核评测数据处理)

本示例有以下启发意义: 1. 管理学方面-员工绩效考核中的互评,应该属于360度测评中的一种,在没有在线工具时,可使用Excel来完成 2. 可将相对复杂的功能,作为子程序来实现,然后在其他子程序中进...

Linux内核异步数据处理--kfifo

引题: 在驱动编程中,经常会遇到异步数据处理的情况,比如采用中断或定时器处理数据输入输出等情况 此时数据的采集与处理往往不同步,于是驱动编程中数据采集方需要将采集的数据暂时放到一个缓冲...

第十一章--内核的数据类型

本文作为第十一章--内核的数据结构,主要讲述: 1、数据类型。 2、其他有关移植性的问题。 3、链表。...

第十一章 内核的数据类型

1、有关移植性的问题 (1)时间间隔 (2)页大小 (3)字节序 (4)数据对齐      若果要访问未对齐的数据,则应该使用下面的宏:      #include      get_...
  • cnxxrj
  • cnxxrj
  • 2013年11月19日 13:41
  • 762

【Linux 驱动】第十一章 内核的数据类型

一,内核数据数据类型         主要分为: 标准 C 语言类型、确定大小的类型和特定内核对象的类型。         1)标准 C 语言类型               当需要"一...

第十一章 内核数据类型

Attenton:将linux 移植到新的体系架构时,开发者遇到的若干问题都与不正确的数据类型有关。坚持使用严格的数据类型且使用 -Wall -Wstrict-prototypes 进行编译可以避...
  • xgmiao
  • xgmiao
  • 2012年10月21日 15:06
  • 387

快速数据处理(安装、使用、测试)

  • 2017年12月03日 10:48
  • 1.74MB
  • 下载

Hadoop-Spark大数据处理技巧.pdf

  • 2017年12月06日 10:59
  • 36.22MB
  • 下载

利用Docker搭建大数据处理集群

在开始正文之前,需要掌握以下基础知识: Linux基础知识(推荐《鸟哥的Linux私房菜》,我早年看的时候是第三版,现在已经有了新版本);Doceker镜像,容器和仓库的概念(推荐《Docker ...

高性能网络数据处理代码

  • 2017年12月04日 17:39
  • 147KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:第十一章:内核的数据处理
举报原因:
原因补充:

(最多只允许输入30个字)