网站大量收购独家精品文档,联系QQ:2885784924

Linux数据类型2..doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
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)

xznh + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档