×ªÔØ linux 2.6Ï̴߳´½¨Ô´Âë·ÖÎö
linux 2.6Ï̴߳´½¨Ô´Âë·ÖÎö
ÉÏÕ½²µ½Ị̈߳¬ÏÖÔÚ¶ÔÏ̴߳´½¨µÄ´úÂëÁ÷³Ì·ÖÎöÏ¡£À´Ò»²½Ò»²½½Ò¿ªËýÉñÃØµÄÃæÉ´
linuxÄں˴´½¨Ï̺߳¯Êý kernel_thread()£¬×îÖÕ»áµ÷ÓÃdo_fork().
Ç°ÃæÌ¸µ½Ïß³ÌÒ²ÊÇÓÃtask_struct½á¹¹±íʾËüÓµÓеÄÐÅÏ¢£¬Ö»ÊÇÊǹ²Ïí½ø³ÌµÄ×ÊÔ´¡£
¸ù¾Ýclone_flags±êÖ¾£¬À´µ÷ÓÃclone()´´½¨"Ïß³Ì"£¬±íʾ¹²ÏíÄÚ´æ¡¢¹²ÏíÎļþϵͳ·ÃÎʼÆÊý¡¢¹²ÏíÎļþÃèÊö·û±í£¬ÒÔ¼°¹²ÏíÐźŴ¦Àí·½Ê½¡£
kernel_thread¶¨ÒåÔÚ/arch/kernel/process.c
int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
{
struct pt_regs regs;
memset(®s, 0, sizeof(regs)); //°Ñ¸Ã½á¹¹µÄ±äÁ¿È«²¿Çå0
regs.ebx = (unsigned long) fn; /* ebxÖ¸Ïòº¯ÊýµØÖ· */
regs.edx = (unsigned long) arg; /* edxÖ¸Ïò²ÎÊýµØÖ· */
regs.xds = __USER_DS;
regs.xes = __USER_DS;
regs.xfs = __KERNEL_PERCPU;
regs.orig_eax = -1;
regs.eip = (unsigned long) kernel_thread_helper; /*eipÖ¸Ïò»Øµ÷º¯Êý*/
regs.xcs = __KERNEL_CS | get_kernel_rpl();
regs.eflags = X86_EFLAGS_IF | X86_EFLAGS_SF | X86_EFLAGS_PF | 0x2;
/* ÀûÓÃdo_forkÀ´²úÉúÒ»¸öеÄÏß³Ì,¹²Ïí¸¸½ø³ÌµØÖ·¿Õ¼ä,²¢ÇÒ²»ÔÊÐíµ÷ÊÔ×Ó½ø³Ì */
return do_fork(flags | CLONE_VM | CLONE_UNTRACED, 0, ®s, 0, NULL, NULL);
}
ÆäÖÐ__USER_DS£¬__KERNEL_PERCPU£¬__KERNEL_CS¶¼ÊÇһЩºê¶¨Òå¡£ÔÚ/linux/include/asm-i386/segment.h
extern void kernel_thread_helper(void);
Ïà¹ØÎĵµ£º
NRPE×ܹ²ÓÉÁ½²¿·Ö×é³É:
(1).check_nrpe²å¼þ,ÔËÐÐÔÚ¼à¿ØÖ÷»úÉÏ¡£
(2).NRPE daemon,ÔËÐÐÔÚÔ¶³ÌµÄlinuxÖ÷»úÉÏ(ͨ³£¾ÍÊDZ»¼à¿Ø»ú)
µ±NagiosÐèÒª¼à¿ØÄ³¸öÔ¶³ÌlinuxÖ÷»úµÄ·þÎñ»òÕß×ÊÔ´Çé¿öʱ£º
1).nagios»áÔËÐÐcheck_nrpe²å¼þ,ÎÒÃÇÒªÔÚnagiosÅäÖÃÎļþÖиæËßËüÒª¼ì²éʲô.
2).check_nrpe²å¼þ»áͨ¹ýSSLÁ¬½Óµ½Ô¶³ÌµÄNRPE d ......
»·¾³Èí¼þ°æ±¾½éÉÜ£º
APACHE 2.0.59
PHP5.2.3
MYSQL5.0.45
GD-2.0.35
Zend Optimizer v3.3.0
  ......
Ò»¡¢ÌáǰµÄ»°
¡¡¡¡ÒªËµCÓïÑÔºÍLinuxµÄ¹ØÏµ´ó¼ÒÓ¦¸Ã¶¼²»»áİÉú£¬LinuxϵͳÄں˾ÍÊÇÓÃCÓïÑÔ¿ª·¢µÄ£¬ËùÒÔËùÓеÄLinuxϵͳÏÂÃæ ¶¼»áÓÐCµÄ±àÒëµ÷ÊÔ¹¤¾ß£¬²»¹ýÕâЩ¹¤¾ß¶¼ÊÇÃüÁîʽµÄ£¬Õýʽ¿ª·¢µÄ»°»áºÜ²»·½±ã¡£FedoraÔÚ°²×°µÄʱºò¿ÉÒÔÑ¡Ôñ°²×°Fedora Eclipse£¬Õâ¸öIDEºÜÇ¿´ó£¬C£¬C++£¬Java£¬PythonµÈµÈ¶¼Ö§³Ö£¬¶øÇÒ±àÒ룬µ÷ÊÔºÍ ......
×÷Õߣº²ÜÖÒÃ÷,»ªÇåÔ¶¼ûǶÈëʽѧԺ½²Ê¦¡£
PCIÊÇÍâΧÉ豸»¥ÁªµÄ¼ò³Æ(Peripheral Component Interconnect)µÄ¼ò³Æ£¬×÷ΪһÖÖͨÓõÄ×ÜÏß½Ó¿Ú±ê×¼£¬ËûÔÚ¼ÆËã»úϵͳÖеõ½Á˹㷺µÄʹÓá£PCIµÄËÙ¶ÈÄܹ»´ïµ½132M/s¡£ÔÚÕâÀï¼òµ¥µÄ½éÉÜһϠlinux ÏÂPCIÇý¶¯µÄʵÏÖ¡£
ÔÚ±àдһ¸öPCIÇý¶¯µÄʱºòÎÒÃÇÏȵÃÈ·¶¨ÏµÍ³ÖÐÊÇ·ñÓÐÎÒÃǵÄÉ豸¡£Î ......
×¼±¸¹¤×÷
Èç¹ûÄ㻹ûװ±àÒë»·¾³»ò×Ô¼º²»È·¶¨×°Ã»×°£¬²»·ÁÏÈÖ´ÐÐ
sudo apt-get install build-essential
Èç¹ûÄãÐèÒª±àÒë Fortran ³ÌÐò£¬ÄÇô»¹ÐèÒª°²×° gfortran(»ò g77)
sudo apt-get install gfortran
Èç¹ûÄãÒѾÁ˽âһЩ vim
µÄ֪ʶ£¬¶øÇÒÏëÓÃËüÀ´±à¼Ô´´úÂ룬ÄÇôÎÒÃDz»·Á×°¸öÍêÕû°æ
sudo apt-get install vi ......