- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Linux数据类型2.
caddr_t //核心地址
clock_t //时钟滴答计数器
compt_t //压缩的时钟滴答
dev_t //设备号(主和次)
fd_set //文件描述符集
fpos_t //文件位置
gid_t //数值组ID
ino_t //i节点编号
mode_t //文件类型,创建文件模式
nlink_t //目录项的链接计数
off_t //文件大小和偏移量
pid_t //进程ID和进程组ID
ptrdiff_t //两个指针想减的结果
rlim_t //资源限量
sig_atomic_t //能原子的访问的数据类型
size_t //对象(例如字符串)大小(不带符号的)
ssize_t //返回字节计数的函数(带符号的)(如read, write)
time_t //日历时间的秒计数器
uid_t //数值用户ID
wchar_t //能表示所有不同的字符码
ARM Linux基本数据类型综合应用实例
[日期:2011-04-07] 来源:Linux社区 作者:huang879135
本文章将带读者走进Linux内核,亲身感受一下这个优秀的操作系统Linux的具体搭建过程。其实读者可以看到,若将这一高楼大厦分解细分为砖瓦,那么每一部分其实也并不是那么难的。
在Linux内核中,直接使用基本数据类型来构建的关键数据结构微乎其微,一般都是将基本数据类型组合起来,构成构造数据类型(如结构体等),来组成其关键的数据结构。
本文就以Linux中内存管理中的物理页为例进行讲解。
1、内存页管理机制
内存把物理页作为内存管理的基本单位。尽管处理器的最小可寻址单位通常为字,但是,内存管理单元(MMU,管理内存并把虚拟地址转换为物理地址的硬件)通常是以页为单位进行处理的。也正因为如此,MMU以页的大小为单位来管理系统中的页表。因此,从虚拟内存的角度来看,页就是最小分配单位。
不同的体系结构,所支持的页大小也不尽相同,读者可以查看/include/asm../page.h中的定义,如下所示:
/*include/asm-i386/page.h*/
/*PAGE_SHIFT决定页大小,页大小为4KB*/
#define PAGE_SHIFT 12
/*include/asm-alpha/page.h*/
/*页大小为8KB*/
#define PAGE_SHIFT 13
/*include/asm-arm/page.h*/
/*页大小为4KB*/
#define PAGE_SHIFT 12
/*include/asm-arm26/page.h,arm2600*/
/*若定义了页大小为16KB*/
#if defined(CONFIG_PAGESIZE_16)
#define PAGE_SHIFT 14 /*16KB*/
/*其他情况页大小为32KB*/
#else /*default*/
#define PAGE_SHIFT 15 /*32KB*/
#endif
/*include/asm-ppc/page.h*/
/*页大小为4KB*/
#define PAGE_SHIFT 12
这里的PAGE_SHIFT是用于决定页大小的,将它的数值进行以2为底取幂运算,所得到的结果就是页得大小,比如2的12次方为4K。可以看到,不同的体系结构的页大小是不同的,有些体系结构甚至可以支持多种不同的页大小,在ARM中,就可以支持3种页大小,其中S3C2410的页大小为4KB。
本篇文章来源于 Linux公社网站() 原文链接:/Linux/2011-04/34260.htm
2、内核物理页结构
内核的物理页结构定义在linux/mm.h中,它是一个构造数据类型—结构体,其结构体定义如下:
struct page{
/*页状态标记*/
page_flags_t flages;
/*页引用标记*/
atomic_t _count;
/*页映射计数,并且限制页反向映射*/
atomic_t _mapcount;
/*私有页标记*/
文档评论(0)