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

Linux中的内存分配和释放之__free_pages()函数分析

  记得我们在上篇文章mem_init()分析中提到__free_page()函数吗?我们现在来完善它。它的调用过程是这样的:mem_init()->free_all_bootmem_node():我们知道这个函数是统计一共释放了多少空闲页。->free_all_bootmem_core()就是在这个函数里面先后多次调用__free_pages()函数。目的就是为了释放每个内存node里面无用的内存孔洞页。我们现在就来好好探讨这个函数。
  fastcall void __free_pages(struct page *page, unsigned int order)
{
   if (!PageReserved(page) && put_page_testzero(page)) {
       if (order == 0)
          free_hot_page(page);//我们先来看看这个函数。
   else
      __free_pages_ok(page, order);//我们最后才来讨论这个函数。
   }
}
 
  void fastcall free_hot_page(struct page *page)
{
   free_hot_cold_page(page, 0);
}
  static void fastcall free_hot_cold_page(struct page *page, int cold)//如果cold是0的话,表示要把page所指向内存页释放到
                                                                  //其所在内存页区中当前处理器的“热区”内存中,如果为1的话,就释放到这页所在页区
                                                              //中当前处理器的“冷区”高速缓存内存中。在这里肯定有不少人不太了解linux在启动后是
     &nbs


相关文档:

linux ftp 命令详解和自动上传脚本实现

FTP>ascii: 设定以ASCII方式传送文件(缺省值)
FTP>bell: 每完成一次文件传送,报警提示.
FTP>binary: 设定以二进制方式传送文件.
FTP>bye: 终止主机FTP进程,并退出FTP管理方式.
FTP>case: 当为ON时,用MGET命令拷贝的文件名到本地机器中,全部转换为小写字母.
FTP>cd: 同UNIX的CD命令.
FTP>c ......

linux下 php5.3.2 调用 so

php 通用的调用 so的方法是使用dl()函数,但是在php5.3之后不再支持这种方法,仅支持静态调用,使用dl() 动态调用的方法见:
   引用页1:   http://tech.idv2.com/2007/07/06/use-local-so-in-php/
感谢原作者提供的清晰明了的方法,但是我在5.3.1版本i中没有通过,于是我找到了页面:
    ......

Linux多线程编程

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

Linux应用程序安装与管理

目标:
        了解linux应用程序的组成部分
        掌握使用RPM工具管理软件包的方法
        掌握应用程序源代码包的编译安装方法
        掌握图形界面下应用程序管理工具的使用
1、L ......

Linux x86 run time process manipulation

[------------------------------------------------------------------------]
[-- Uninformed Research -- informative information for the uninformed. --]
[------------------------------------------------------------------------]
[-- Genre : Development ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号