源代码:
…….
#ifndef MODULE_SYMBOL_PREFIX
#define MODULE_SYMBOL_PREFIX ""
#endif
…….
struct kernel_symbol //内核符号结构
{
unsignedlong value; //该符号在内存地址中的地址
constchar *name; /...
分类:
系统相关 时间:
2014-06-24 21:49:02
阅读次数:
362
在BIOS触发0x19中断将磁盘的第一个扇区(512B)加载到内存中后,计算机才真正开始执行磁盘上的程序。而这512B的程序bootsect.s中的第一批代码,此时处理器还处于实模式内存寻址的最大范围是1M(0x0000-0xFFFF),接下来我们看看在bootsect.s的第一批代码中做了些什么?...
分类:
系统相关 时间:
2014-06-24 19:09:03
阅读次数:
291
阅读内核代码习惯和喜欢使用source insight。如果能在source insight上修改内核代码,同时又不需要把修改的内核代码再拷贝到虚拟ubuntu上去那就方便了。于是想通过用samba与xp共享的方式来实现。即xp、samba、虚拟ubuntu9.10等工具。事实上是可以的,用sour...
分类:
其他好文 时间:
2014-06-24 09:57:21
阅读次数:
391
为了更好地理解内核代码是如何执行的,我们借用ULK-3中的思想,把内核看作必须满足两种请求的侍者:一种请求来自顾客,另一种请求来自数量有限的几个不同的老板。对不同的请求,侍者采用如下的策略:
1. 老板提出请求时,如果侍者正空闲,则侍者开始为老板服务,这是空闲情况。
2. 如果老板提出请求时侍者正在为顾客服务,那么侍者停止为顾客服务,开始为老板服务,这是高优先级抢占低优先级情况。
...
分类:
其他好文 时间:
2014-06-15 19:59:41
阅读次数:
145
这个代码是Trinity的内核代码。主要功能,。就是BOSS被杀死后,世界BOSS向所有的私服玩家都公告一次。公告的内容在SQL里面配置适合使用在变态魔兽世界私服中。可以实现BOSS击杀公告。你也可以根据此代码扩展更改,实现击杀boss获得奖励什么的
# HG changeset patch # U...
分类:
其他好文 时间:
2014-05-26 18:24:32
阅读次数:
374
题目:实现linux C下常用的字符串操作函数
题目分析:
一、面试中可能经常遇到这样的问题:比如strcpy、memcpy、strstr
二、参考了linux 内核代码,对linux大神表示感谢,代码写得相当精致,这里拿来与大家分享吧
算法实现:
/*
* linux/lib/string.c
*
* Copyright (C) 1991, 1992 Lin...
分类:
系统相关 时间:
2014-05-26 05:21:03
阅读次数:
474
在 Linux 内核代码,特别是驱动代码中经常见到的用法是使用一个标准结构,后面的代码基于这个结构来实现,类似面向对象的多态特性。
在 C 语言里面借助结构体和函数指针实现的这个功能,这里我们写了个例子,提取了关键代码:
#include
struct s_new{
char name[10];
char* (* my_method)(char *name);...
分类:
系统相关 时间:
2014-05-23 07:58:18
阅读次数:
324
曾几何时,只是一直在调用库函数fork,只知道它创建一个子进程,并且子进程返回值是0,父进程返回值是子进程pid。但是一直没有深究内核代码,今天终于使用gdb调试了一把fork的内核代码,下面就让我们一探究竟吧。
1.创建进程的本质是什么?
根据目前理解,其实就是构造了PCB,这个PCB会唯一标示一个进程的存在,并且会构建子进程的页目录和页表等等。
2.为什么fork()调用会有2个返回值,...
分类:
系统相关 时间:
2014-05-22 10:40:01
阅读次数:
404
kernel version:2.6.33.7/linux-2.6.33.7OS:CentOS
6.4cross-compilation
chain:arm-linux-4.3.2/usr/local/arm/4.3.2/bin第一步:修改配置(1)选择合适的内核代码,作为硬件参考目标平台arch/...
分类:
系统相关 时间:
2014-05-09 11:38:14
阅读次数:
560
chapter 8 内核代码
8.1.1中断处理程序
traps.c
#define get_seg_byte(seg,addr) ({ \ //取seg中addr处1byte
register char __res; __asm__("push %%fs;mov %%ax,%%fs;movb %%fs:%2,%%al;pop %%fs" ...
分类:
系统相关 时间:
2014-05-09 01:48:26
阅读次数:
418