Ìí¼ÓLinuxϵͳµ÷ÓÃ
¡¾ÊµÑé»·¾³¡¿
Fedora£¬ÄÚºË2.6.21.6
¡¾ÊµÑé²½Öè¡¿
1. cd /usr/src/linux
2. vi kernel/sys.c
ÔÚ×îºóÌí¼ÓÈçÏ´úÂ룺
asmlinkage long sys_processinfo(void)
{
int num=0;
unsigned long state;
struct task_struct *p;
for_each_process(p)
{
printk("pid=%-5d,name=%-20s",p->tgid,p->comm);
printk("prio=%-5d,",p->prio);
state=p->state;
if(state==-1)
printk("state: Z\n");
else if (state==1)
printk("state: R\n");
else printk("state: S\n");
num++;
}
return num;
}
ÉÏÊö´úÂëʵÏÖ±éÀúÕû¸öÈÎÎñÁÐ±í£¬²¢½«½ø³Ìid£¬name ¼°state ´òÓ¡ÔÚÆÁÄ»ÉÏ£¬·µ»Ø½ø³Ì×Ü
7
Êý¡£
3. vi arch/i386/kernel/syscall_table.S
ÔÚ×îºó¼ÓÈë .long sys_processinfo
4. vi include/asm/unistd.h
ÔÚÖмäÌí¼Ó #define __NR_process 322 ·ÖÅäϵͳµ÷ÓúÅ
½«ÏÂÃæ¸ÄΪ #define NR_syscalls 323
5. vi /usr/include/asm/unistd.h
ÔÚ×îºóÌí¼Ó #define __NR_process 322
6. ¿ªÊ¼ÖØÐ±àÒëÄÚºË
cd /usr/src/linux
make mrproper
make menuconfig
make
make modules_install
make install
reboot
7. ½øÈëÐÂÄںˣ¬±àд²âÊÔ³ÌÐòtest.c
#include <stdio.h>
#include <unistd.h>
#include <errno.h>
#include <asm/unistd.h>
#include <syscall.h>
int main()
{
syscall(322);
printf("the total number is: %d",syscall(322));
return 0;
}
8. gcc –o test test.c
9. ./test ÏÔʾ½á¹û
Ïà¹ØÎĵµ£º
×ÜÀÀ
ÓÃiptables -ADC À´Ö¸¶¨Á´µÄ¹æ
Ôò
£¬-AÌí¼Ó -Dɾ³ý -C ÐÞ¸Ä
iptables - [RI] chain rule num rule-specification[option]
ÓÃiptables - RI ͨ¹ý¹æÔòµÄ˳ÐòÖ¸¶¨
iptables -D chain rule num[option]
ɾ³ýÖ¸¶¨¹æÔò
iptables -[LFZ] [chain][option]
ÓÃiptables -LFZ Á´Ãû [Ñ¡Ïî]
iptables -[NX] chain
ÓÃ -NX ......
Èç¹ûÄãºÜÏëÖªµÀÕû¸ö²Ù×÷ϵͳÄÚµÄÿ¸öĿ¼ÄÚ¶¼ÓÐЩʲô£¬Ö´ÐÐÃüÁ
cd / && tree >> ~/filesystem.tree
Õ⽫ÊÇÒ»¸ö¶à´ï8MµÄÎļþ£¬ÀïÃæ»áÃèÊöÕû¸öÎļþϵͳµÄĿ¼¼°ÆäÎļþ½á¹¹£¬ÏÖÔÚ¾ÍÕûÌå¶øÑÔÀ´¸ÅÊöһϣº
Ò»¼¶»ù±¾Ä¿Â¼½á¹¹£º
/
Îļþϵͳ¸ùĿ¼£¬Î»ÓÚÕû¸öÎļþϵͳµÄ×î¶¥¼¶
/boot
´æ·Å×ÅÆ ......
Linux»·¾³½ø³Ì¼äͨÐÅ£¨Î壩: ¹²ÏíÄڴ棨Ï£©
ÎĵµÑ¡Ïî
´òÓ¡±¾Ò³
½«´ËÒ³×÷Ϊµç×ÓÓʼþ·¢ËÍ
¼¶±ð£º ³õ¼¶
Ö£ÑåÐË (mlinux@163.com), ¹ú·À¿Æ´ó¹¥¶Á²©Ê¿Ñ§Î»
2003 Äê 5 ÔÂ 01 ÈÕ
ÔÚ¹²ÏíÄڴ棨ÉÏ£©ÖУ¬Ö÷ÒªÎ§ÈÆ×Åϵͳµ÷ÓÃmmap()½øÐÐÌÖÂ۵쬱¾²¿·Ö½«ÌÖÂÛϵͳV¹²ÏíÄڴ棬²¢Í¨¹ýʵÑé½á¹û¶Ô±ÈÀ´²ûÊöÁ½ÕßµÄÒìͬ¡£Ïµ ......
ÏëÖªµÀµ½Linux·ÖÇø·½°¸µÄÕæÏàô£¬ÏëÖªµÀLinux·ÖÇø·½°¸ÖвØÓеÄÄÚÔÚ°ÂÒåô£¬Ö»ÓÐÎÒÀ´¸ø´ó¼ÒÈ«Ãæ½²½â½éÉÜLinux·ÖÇø·½°¸
×îÐÂLinux·ÖÇø·½°¸
ÎҵķþÎñÆ÷ÊÇ500G¡£×îÖØÒªµÄÊÇ/var·ÖÇøÒ»¶¨Òª´ó(²»ÂÛpostfixÓʼþ£¬»¹ÊÇLAMPµÄWEB ·þÎñÆ÷µÈ£©¡£×îºÃÊÇ400GÒÔÉÏ¡£¾ßÌåµÄ/boot Ö»Òª100M¾Í×ã¹»ÁË¡£ÏÂÃæÊÇÎҵķÖÇø·½°¸£ºÓ²ÅÌ500G
·þ ......
ʲôÊǵȴý¶ÓÁУ¿
ÔÚÈí¼þ¿ª·¢ÖÐÈÎÎñ¾³£ÓÉÓÚijÖÖÌõ¼þûÓеõ½Âú×ã¶ø²»µÃ²»½øÈë˯Ãß״̬£¬È»ºóµÈ´ýÌõ¼þµÃ
µ½Âú×ãµÄʱºòÔÙ¼ÌÐøÔËÐУ¬½øÈëÔËÐÐ״̬¡£ÕâÖÖÐèÇóÐèÒªµÈ´ý¶ÓÁлúÖÆµÄÖ§³Ö¡£
Linux
ÖÐÌṩÁ˵ȴý¶ÓÁеĻúÖÆ£¬¸Ã»úÖÆÔÚ
ÄÚºËÖÐÓ¦Óúܹ㷺¡£
&n ......