分享
 
 
 

LinuxKernel2.6核心线程尝鲜

王朝system·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

(1)安装redhat9.0,如果你能够把glibc更新到2.3,其他老版本的rh也可以.

(2)到kernel.org下载最新的kernel 2.6.0-test4

(3)编译内核,2.6内核编译命令变化不大,只是不用make dep了,而且屏幕显示也简捷了好多:

# make menuconfig

# make

# make modules_install

# make install

这样就可以了

然后运行lilo

(4)2.6内核的module改变很大,所以要安装更新过的modutils,否则lsmod/modprobe都不能用了

地址: ftp://ftp.kernel.org/pub/linux/kernel/peo.../rusty/modules/

我是拉了个src rpm,

#rpmbuild --rebuild modutils-xxx-.src.rpm

然后到/usr/src/redhat/RPMS/i386下面去找哪个rpm文件升级就可以.

(5)重新起动~~,选择新的内核 开始祈祷~~念 "剥落菠萝密" 100遍就够了.

(6)看看起动的时候有什么错误,因地制宜的解决之~~~一般多是模块问题,我为了偷懒,重要的模块都编译到核心了.

(7)现在你的rpm可能用不来了,没关系,在运行rpm之前

export LD_ASSUME_KERNEL=2.2.5

就可以了.也可以加入/etc/profile,一劳永逸.

(8)接下来转换/etc/modules.conf文件了

generate-modprobe.conf /etc/modprobe.conf (基本没用,如果你都编译到核心了的话)

(9)创建Sysfs,抄袭自老外的,基本也是可有可无,因为偶还不知道Sysfs是什么di干活~~~.

Sysfs file system

Step 1:

Create directory /sys.

Step 2:

Where it says:

mount -f /proc

in /etc/rc.sysinit, add:

mount -f /sys

on the next line.

Step 3:

Where it says:

action $"Mounting proc filesystem: " mount -n -t proc /proc /proc

in /etc/rc.sysinit, add:

action $"Mounting sysfs filesystem: " mount -n -t sysfs /sys /sys

on the next line.

Step 4:

Add:

none /sys sysfs defaults 0 0

to /etc/fstab.

Step 5:

In function halt_get_remaining in file /etc/init.d/halt, change

awk '$2 ~ /^\/$|^\/proc|^\/dev/{next}

into

awk '$2 ~ /^\/$|^\/proc|^\/sys|^\/dev/{next}

(10)tmd辛辛苦苦做这么多干什么?用kernel2.6的核心线程支持功能!!

赶快写个程序测试一把~~

[myphp]

#include <stdio.h>

#include <pthread.h>

void task(void* p){

// ?while(true){

int i;

for(i = 0;i <100;i ++){

?sleep(2);

?printf("Thread running!\n");

?}

}

int main(){

#define THREAD_COUNT 100

?pthread_t thread[THREAD_COUNT];

?int i;

?for(i = 0;i < THREAD_COUNT;i++){

? ?if(pthread_create(&thread[i],NULL,task,NULL) != 0){

? ? ?fprintf(stderr,"Thread[%d] create failed!\n",i);

? ?}

?}

?for(i=0;i<THREAD_COUNT;i++){

? ?if(pthread_join(thread[i],NULL)!=0)

? ? ?fprintf(stderr,"Thread[%d] Join Error\n", i);

? ?else{

? ? ?fprintf(stdout,"Thread[%d] exited ok!\n",i);

? ?}

?}

?return 0;

}

[/myphp]

编译: gcc testThread.c -lpthread -Wall -o testThread

运行: ./testThread

测试: ps aux |grep testThread 应该只有一个process

ps -Am 应该显示一大堆thread!!!!

现在总算可疑用上真正的核心线程喽~~~~

赶快编译apache,用worker模块好爽啊~~~~

(10.5) 如果你要编译其他的程序,记得改动/usr/include/linux

# cd /usr/include

# mv linux linux.orig

# ln -s /usr/src/linux/include/linux linux

否则apache什么的编译了,运行会出错

(11)顺便说一下,用2.6核心跑xwindow顺畅多了,为什么??kernel2.6支持竞争式的进程调度规则了!!就是说,有点象windows了.

这个功能可以在编译内核的时候选择的.

(12) 等其他人来补充~~~

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有