- 博客(13)
- 资源 (2)
- 收藏
- 关注
原创 Buddy 算法中释放过程解释
在page_init中 通过调用pagetable_init();建立了页目录表和页表;通过调用zone_sizes_init(); 函数建立了Node, Zone,Page的分层的结构,并且初始化了伙伴算法的基本数据结构(为每个zone的free_area 的map字段分配内存,并且初始化为0)。位图大小free_area[0].map位图大小=((size-
2009-12-25 16:26:00 3639 2
转载 Linux初始化内核临时页表之后的setup_memory函数
话说在linux内核初始化完内核临时页表来映射前8MB内存后,在欲望的驱使下,linux开始着手抢占896MB以下的内存了。然而抢夺这896MB内存绝非易事。linux还有许多麻烦的事要做。比如说进攻和占领伊拉克等等。于是setup_memory函数开始为linux策划和筹备此事。主要任务是建立一张与物理内存页框号对应的位图。如果该页框被占用则对应位图中的位被置1,否则置0。在伙
2009-12-20 23:44:00 2686
原创 读内存初始化代码有感
直接从 start_kernel() 内核引导部分来查找 VMM 相关内容。可以看到第一个应该关注的函数是setup_arch(),在这个函数当中使用paging_init() 函数来初始化和映射硬件页表(在初始化前已有 8M内存被映射,在这里不做记录),而 paging_init() 则是调用的pagetable_init() 来完成内核物理地址的映射以及相关内存的初始化。在 paget
2009-12-20 23:34:00 3880 1
原创 Linux 内存管理 -- 高端内存的映射方式
解释一: 高端内存是指物理地址大于 896M 的内存。对于这样的内存,无法在“内核直接映射空间”进行映射。为什么?因为“内核直接映射空间”最多只能从 3G 到 4G,只能直接映射 1G 物理内存,对于大于 1G 的物理内存,无能为力。实际上,“内核直接映射空间”也达不到 1G, 还得留点线性空间给“内核动态映射空间” 呢。因此
2009-12-20 23:27:00 6350 1
原创 linux 内核启动代码解释网站
http://tldp.org/HOWTO/Linux-i386-Boot-Code-HOWTO/kernel_head.html http://bbs.tongji.net/thread-258437-1-1.html http://www.diybl.com/course/6_system/linux/Linuxjs/200871/129588_6.html http:
2009-12-19 22:02:00 1333
原创 对internal_add_timer 的疑惑
static inline void internal_add_timer(struct timer_list *timer) { /* * must be cli-ed when calling this */ unsigned long expires = timer->expires; unsigned long idx = expires -
2009-12-18 14:16:00 1840 1
原创 关于linux内核研究的网站
Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 <!-- /* Font
2009-12-08 22:30:00 1041
原创 Symbian SDK的安装与使用
一 安装部分Installing Perl Perl (www.activestate.com) ActivePerl-5.6.1.635 (5.6.1 is required by Symbian tools, later versions will not work) The Carbide.c++ tools require a c
2009-12-06 11:02:00 2302
转载 switch_to宏为什么要三个参数
先看看switch_to的代码,它是一个宏#define switch_to(prev,next,last) do { / asm volatile("pushl %%esi/n/t" / "pushl %%edi/n/t" / "pushl %%ebp/n/t" / "movl %%esp,%0/n/t" /
2009-12-06 10:55:00 4153 2
原创 Linux 虚拟文件系统概观
Linux 虚拟文件系统概观 作者 Richard Gooch 翻译 albcamus 最后更新:2007 年 6 月 24 日 版权:1999, Richard Gooch 版权:2005, Pekka Enberg 本文件以 GPLv2 许可发放 [翻译说明:Richard Gooch 的这份 O
2009-12-04 14:38:00 2323
原创 How to install Android SDK and play with Android 2.0 in the emulator
Google has released the Android 2.0 SDK as of October 27th, 2009. Weknow how eager everyone has been to get their hands on Android 2.0, sowe have decided to write up instructions so that anyone ma
2009-12-03 19:48:00 1298 1
转载 Android内核的大致分析
以下为Android官方公布的架构图: 在kernel子目录下存放的就是Android的Linux Kernel了, 通过和标准的Linux 2.6.25 Kernel的对比,我们可以发现,其主要增加了以下的内容: 1. 基于ARM架构增加Gold-Fish平台,相应增加的目录如下: kernel/arch/arm/mach-gol
2009-12-02 15:39:00 8173
原创 Arm 体系结构以、变体和处理器系列
一.ARM体系结构到目前为止,ARM微处理器体系结构共定义了6个版本。从版本1到版本6,ARM微处理器体系结构的指令集功能不断扩大,同时产生了一些变体,这些变体扩展了不同版本指令集的功能。ARM处理器系列中各种处理器,其采用的实现技术各不相同,性能差别很大,应用的场合也有所不同,但是基于支持相同的ARM体系不同版本的处理器的应用软件是兼容的。 二. ARM体系结构的变体 不同A
2009-12-02 13:42:00 2238
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人