易截截图软件、单文件、免安装、纯绿色、仅160KB

linux内存管理

    页申请的核心调用是: __alloc_pages(). 页申请顺序如下:
    首先找最大能符合的块, 如果一个空闲块不能满足, 更高一级的块将分割成2个buddy, 一个被占用, 一个放入低一级的freelist.
    当块被释放时, 检查每对buddy, 如果两者都空闲, 把他们合并到更高一级的块数组里去, 同时放入更高一级的freelist. 如果一个buddy还在被用, 那此块将加入到当前级的freelist.
    如果一个zone已经没有足够空闲页,而且又需要分配,那申请将退到下一级,一般顺序是:ZONE_HIGHMEM --> ZONE_NORMAL --> ZONE_DMA. 如果空闲页击中pages_low门限,kswapd将开始释放页。
http://hi.baidu.com/zengzhaonong/blog/item/bd4b15465d4104096b63e584.html
页面管理机制的初步建立
http://hi.baidu.com/mudgao/blog/item/57ebc03ebf065b3771cf6c73.html
每个pg_data_t数据结构代表着一片均匀的、连续的内存空间。在连续空间UMA结构中,只有一个节点contig_page_data,而在NUMA结构或不连续空间UMA结构中,有多个这样的数据结构。
       计算三个管理区的大小,并存放在zones_size数组中。三个管理区是:
      ZONE_DMA:从0~16MB分配给这个区
ZONE_NORMAL:从16MB~896MB分配给这个区
ZONE_HIGHMEM :896MB以上分配给这个区
arch/xxx/kernel/head.S
init/main.c: start_kernel()->setup_arch()
arch/xxx/kernel/setup.c->init_bootmem_node()
                                         free_bootmem()
                                         reserve_bootmem()
                                &nbs


相关文档:

Linux设备模型之input子系统详解

一:前言
最近在研究android的sensor driver,主要是E-compass,其中用到了Linux input子系统.在网上也看了很多这方面的资料,感觉还是这篇分析的比较细致透彻,因此转载一下以便自己学习,同时和大家分享!
(这篇博客主要是以键盘驱动为例的,不过讲解的是Linux Input Subsystem,可以仔细的研究一下!)
键盘驱动将检 ......

linux多线程设计


linux多线程设计
  1 引言
  线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年
代中期,solaris是这方面的佼佼者。传统的Unix也支持线程的概念,但是在一个进程(process)中只允许有一个线程,这样多线程就意味着多
进程。现在,多线程技术已经被许多操作系统所支持,包括Windo ......

linux中vi显示中文乱码的问题


由于在windows下默认是gb编码,而我的vim默认是utf-8(gedit默认也是utf-8),所以打开会成乱码。修改了一下配置文件,使vi支持gb编码就好了。
$vi ~/.vimrc
let &termencoding=&encoding
set fileencodings=utf-8,gbk
$:wq
再次打开vi,显示就正常了。
vim中编辑不同编码的文件时需要注意的一些地方 ......

linux shell编程if语句内判断参数

shell 编程中使用到得if语句内判断参数
–b 当file存在并且是块文件时返回真
-c 当file存在并且是字符文件时返回真
-d 当pathname存在并且是一个目录时返回真
-e 当pathname指定的文件或目录存在时返回真
-f 当file存在并且是正规文件时返回真
-g 当由pathname指定的文件或目录存在并且设置了SGID位时返回为真
......

Linux的文件的inode

一个文件,除了本身包含的内容以外,还会有一个名字和其他一些用于管理方面的“属性”信息,比如文件的建立/修改日志,它的访问权限等。这些属性都被保存到一中我们称之为inode(节点)的数据结构中,文件的长度和它在磁盘上的存放地点也保存在这里。系统使用的是文件的节点编号,而子目录结构只不过是为方便人们 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号