Chinaunix首页 | 论坛 | 博客
  • 博客访问: 57341
  • 博文数量: 24
  • 博客积分: 205
  • 博客等级: 入伍新兵
  • 技术积分: 185
  • 用 户 组: 普通用户
  • 注册时间: 2012-12-14 15:57
文章分类

全部博文(24)

文章存档

2013年(8)

2012年(16)

我的朋友

发布时间:2013-01-04 11:31:19

linux paging init 分析 谨以此文纪念过往岁月 一.   前言 Linux中内存管理机制是一个很大的内容,在本文中,主要是来关注linux启动时,对于页表项的建立。其主要来关注paging_init这个函数,同时在其中掺杂cache,tlb等内容。 二.paging_init详解 这个函数看上去很简单,但是他却一点也不简单,在其中遍布了杀机,一步不慎就将陷入那不可自拔的深潭,咱们还是步步为营,一步一步来理解其中的种种。 void  __init paging_init(struct meminfo *mi, s......【阅读全文】

阅读(395) | 评论(0) | 转发(0)

发布时间:2013-01-03 20:34:34

挂载根文件系统 挂载根文件系统是一个相当复杂的过程,因为Linux内核允许根文件系统存放在很多不同的地方,比如硬盘分区、软盘、通过NFS共享的远程文件系统,甚至保存在ramdisk中(RAM中的虚拟块设备)。   为了使叙述变得简单,在此假定根文件系统存放在硬盘分区(毕竟这是最常见的情行)。当系统启动时,内核就要在变量ROOT_DEV中寻找包含根文件系统的磁盘主设备号: --------------------------------------------------------------------- init/do_mount......【阅读全文】

阅读(315) | 评论(0) | 转发(0)

发布时间:2013-01-03 16:06:37

 本文分析基于linux2.4.19 source,pxa 270 cpu.   ARM linux内核启动时,通过start_kernel()->trap_init()的调用关系,初始化内核的中断异常向量表. /* arch/arm/kernel/traps.c */ void __init trap_init(void) {    extern void __trap_init(unsigned long);    unsigned long base = vectors_base();    _......【阅读全文】

阅读(392) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册