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

Linux中的内存页表创建之memtable_init()函数分析

    本函数的分析很难具体,因为涉及了很多arm的处理器型号和每个型号对应的cache和write buffer的工作方式,这片文章只是做简单的记录,方便以后了解更深后回来再来完善这个函数。
     这个函数的调用过程如:start_kernel()->setup_arch()->paging_init()->memtable_init().传递的struct meminfo mi是一个全局变量,里面记录了整个系统所有bank的信息。我们来大概看看这个函数的代码。
     void __init memtable_init(struct meminfo *mi)
     {
         struct map_desc *init_maps, *p, *q;//要注意这里很重要的结构-struct map_desc,这个结构体的内容等下会细讲的。
         unsigned long address = 0;
         int i;
         build_mem_type_table();//这个函数可以说来是我最含糊的函数,我们来浅析一下吧。
static void __init build_mem_type_table(void)
{
 struct cachepolicy *cp;
 unsigned int cr = get_cr();//就是获得cp15的c1寄存器的内容
 int cpu_arch = cpu_architecture();//获得寄存器的架构版本
 int i;
#if defined(CONFIG_CPU_DCACHE_DISABLE)
       if (cachepolicy > CPOLICY_BUFFERED)
       cachepolicy = CPOLICY_BUFFERED;
#elif defined(CONFIG_CPU_DCACHE_WRITETHROUGH)
       if (cachepolicy > CPOLICY_WRITETHROUGH)
       cachepolicy = CPOLICY_WRITETHROUGH;
#endif//这里涉及到一个全局变量cachepolicy,我们可以称为cache政策,其实可以看出以上几行都是和系统配置选项有关的。
 if (cpu_arch < CPU_ARCH_ARMv5) {
                          if (cachepolicy >= CPOLICY_WRITEALLOC)
                 &n


相关文档:

linux 隐式调用 自己写的动态库

~/test
|
|
|------main.c
|------lib
|        |
|        |------StringLen.h
|        |------Strlen.c
|        |------Strnlen.c
----------------StringLen.h:
#ifndef _STRING ......

Linux下查看CPU使用率!系统资源使用情况!

top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。下面详细介绍它的使用方法。 top - 01:06:48 up 1:22, 1 user, load average: 0.06, 0.60, 0.48
Tasks: 29 total, 1 running, 28 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.3% us, 1.0% sy, 0.0% ni, ......

实现Linux虚拟系统与Windows互传文件

     本人安装的是Vmware 6.5精简版,导致后来我想在虚拟机和Windows下互传不了文件,发现少了linux.iso镜像文件。我在网上找到并把它放到虚拟机的安装目录下,然后启动虚拟机下的linux操作系统,虚拟机--->设置,单击CD/DVD,选择使用ISO镜像,路径指向linux.iso,然后在/mnt/cdrom下就有了vmware-t ......

Linux正则表达式技术指南

Linux正则表达式技术指南
导读:本文介绍Linux正则表达式技术。包括使用不同的工具如grep、awk以及sed去查找包含特定文本串的文件。
关键词:Linux正则表达式 grep awk sed
 
正在加载数据...
【TechTarget中国原创】作为一个Linux管理员,您需要对文本文件进行处理。您可以使用不同的工具如grep、awk以及sed去 ......

linux字符模式下的分辨率设置

不同色彩和分辨率所对应的值   
    depth-----640x480----800x600----1024x768-----1280x1024
  8bit---------769--------771--------773----------775
  15bit--------784--------787--------790----------793
    编辑/boot/grub/目录下的menu.lst文件(有些系统menu.lst文件是软连接到 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号