一、进程1、进程属性:a)进程状态b)父子关系c)优先级关系0-139用户优先级,数字越小优先级越高;0-99:内核调整的100-139:用户可控制nice值:-20-19100-139普通用户仅能够调大自己的进程的Nice值;2、进程优先级a)衡量面对不同的算法时,程序的性能如何,O标准(坐标轴表示):O..
分类:
系统相关 时间:
2014-05-27 04:15:04
阅读次数:
549
一、进程相关概念1、OS运行Kernel和process(进程);2、内存地址:线性内存物理内存3、CPU:a)x86CPU执行环:第0环是执行特权命令(最内圈);第1和2环是没使用的;第3环是用户的运行程序(最外圈);b)程序运行采用轮流替换的方式,这种方式可以有优先级控制,由内核主导运行;4、内..
分类:
系统相关 时间:
2014-05-27 03:33:20
阅读次数:
347
在 Linux 内核代码,特别是驱动代码中经常见到的用法是使用一个标准结构,后面的代码基于这个结构来实现,类似面向对象的多态特性。
在 C 语言里面借助结构体和函数指针实现的这个功能,这里我们写了个例子,提取了关键代码:
#include
struct s_new{
char name[10];
char* (* my_method)(char *name);...
分类:
系统相关 时间:
2014-05-23 07:58:18
阅读次数:
324
终于把bochs和gdb连起来了,下面描述下步骤以作记录。
1.安装bochs
前面有篇文章介绍了bochs源码编译安装过程,这里安装也非常相似,只是命令稍微有些不同
./configure --enable-gdb-stub
make
make install
2.下载调试映像
http://oldlinux.org/Linux.old/bochs/linux-0.11-gdb-r...
分类:
数据库 时间:
2014-05-22 11:51:56
阅读次数:
341
#include
#include
struct test
{
char name[20];
void (*func)(char *);
};
void tttfunc(char *name)
{
printf("current is %d\n",__LINE__);
printf("%s\n",name);
}
int main()
{
struct test ttt=
{
.n...
分类:
系统相关 时间:
2014-05-22 11:25:09
阅读次数:
380
最近一段时间一直在学习向TQ2440开发板移植内核、移植驱动。真心觉得这方面的知识有很大的难度。但是从另一角度去看,难度越大,能力提升的空间就越大!!
1、解压源码
从网上下载一个Linux 内核,我是用的是Linux-2.6.20.4。然后用命令解压。建议解压到“/home/用户名”目录下。我的内核源码存放在:
2、添加对ARM的支持
因为所用的是TQ2440开发板,属于ARM9。因...
分类:
系统相关 时间:
2014-05-22 10:07:16
阅读次数:
357
共享内存区是最快的IPC形式。一旦这样的内存映射到共享它的进程的地址空间,这些进程间数据传递不再涉及到内核,换句话说是进程不再通过执行进入内核的系统调用来传递彼此的数据。
mmap函数
功能:将文件或者设备空间映射到共享内存区。
原型
void *mmap(void *addr, size_t len, int prot, int flags, in...
分类:
其他好文 时间:
2014-05-22 08:04:52
阅读次数:
315
1.vmlinux
vmlinux是一个包含linux kernel的静态链接的可执行文件,文件类型是linux接受的可执行文件格式之一(ELF、COFF或a.out)。
2.vmlinuz
vmlinuz是可引导的,压缩的linux内核,“vm”代表的“virtual memory”。vmlinuz是vmlinux经过gzip和objcopy(*)制作出来的压缩文件。vmlinuz不仅是一个压缩文件,而且在文件的开头部分内嵌有gzip解压缩代码。所以你不能用gunzip 或 gzip –dc解...
分类:
系统相关 时间:
2014-05-21 03:06:50
阅读次数:
429
一、lvs组件介绍lvs的组件由两部分组成:工作在内核空间的ipvs模块和工作在用户空间ipvsadm工具。其中ipvsadm是规则生成工具,而ipvs是一个使规则生效的工具。二、ipvsadm详解
分类:
其他好文 时间:
2014-05-20 17:57:55
阅读次数:
276
PHP中经常使用数组,PHP的数组强大,而且速度也快,读写都可以在O(1)内完成,因为它每个元素的大小都是一致的,只要知道下标,便可以瞬间计算出其对应的元素在内存中的位置,从而直接取出或者写入。那么内核中数组是如何实现的呢?
PHP大部分功能,都是通过HashTable来实现,其中就包括数组。
HashTable即具有双向链表的优点,同时具有能与数据匹敌的操作性能。...
分类:
Web程序 时间:
2014-05-20 16:10:21
阅读次数:
368