Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

LinuxÄ£¿é±à³Ì


ÕªÒª
LinuxÄÚºËÄ£¿é±à³ÌµÄ×ÊÁÏÓÐЩ·×·±¸´ÔÓ£¬ÓеĹýÓÚ¼òµ¥£¬ÓеĹýÓÚÅÓÔÓ£¬ÎÒÊÔͼÓñʼǵÄÐÎʽÏë¶ÁÕßչʾÔõÑùÀ´½ø³ÌLinuxÄ£¿é±à³Ì£¬Á¦Í¼×öµ½¼òÃ÷¶óÒª£¬ÕâƪÎÄÕÂÒ²ÊÇ×÷Ϊ±¾È˱¸ÍüµÄ×ÊÁÏ£¬ËùÒÔÓÐЩµØ·½¹ýÓÚ¼òÂÔÊÇÄÑÃâµÄ¡£±¾À´ÕâƪÎÄÕµÄÄ¿µÄ¾ÍÊÇÈÃÓû§ÖªÆäÈ»£¬ÖÁÓÚËùÒÔÈ»»¹ÊÇÇë²Î¿¼ÏàÓ¦µÄ×ÊÁÏ£¬Æäʵ×îºÃµÄ×ÊÁÏĪ¹ýÓÚLinux Kernel Source¡£
ÊÊÓ÷¶Î§£º
Linux Kernel >= 2.6.0
LinuxÄ£¿é¼ò½é
Ê×ÏÈÕâ¸ömodule²»Í¬ÓÚmicrokernelµÄmodule£¬microkernelµÄmoduleÊÇÒ»¸ö¸öµÄdaemon½ø³Ì£¬¹¤×÷ÓÚÓû§¿Õ¼ä£¬LinuxµÄmoduleÖ»ÊÇÒ»¸öÄں˵ÄÄ¿±ê´úÂ룬ÄÚºËͨ¹ýÖ´ÐÐÔËÐÐʱµÄÁ¬½Ó£¬À´°ÑËüÕûºÏµ½kernelÖÐÈ¥£¬ËùÒÔ˵LinuxµÄmodule»úÖƲ¢Ã»ÓиıäLinuxÄÚºËΪmonolithic OS±¾ÖÊ£¬ÆämoduleÒ²Êǹ¤×÷ÓÚÄÚºËģʽ£¬ÏíÓÐÄں˵ÄËùÓÐÌØȨ¡£
ÖÁÓÚΪʲôҪÒýÈëLinux Kernle Module£¨Ò»Ï¼ò³ÆLKM£©£¬ÎÒÏëÖÁÉÙÓÐһϼ¸µã£º
Ä£¿é»¯±à³ÌµÄÐèÒª£¬½µµÍ¿ª·¢ºÍά»¤³É±¾¡£
ÔöǿϵͳµÄÁé»îÐÔ£¬Ê¹µÃÐÞ¸ÄһЩÄں˹¦Äܶø²»±ØÖØбàÒëÄں˺ÍÖØÆôϵͳ¡£
½µµÍÄں˱à³ÌµÄ¸´ÔÓÐÔ£¬Ê¹ÈëÃÅÃż÷½µµÍ¡£
Ïà¹Øºê¼°Í·Îļþ
LKMÐèÒª°üº¬ÒÔÏÂÍ·Îļþ:<linux/kernel.h> <linux/module.h>
ÐèÒª¶¨ÒåÒÔϺê:__KERNEL__, MODULE
Ò»¸ö¼òµ¥µÄÄÚºËÄ£¿éʾÀý
/*file: hello.c*/
#ifndef __KERNEL__
#define __KERNEL__
#endif
#ifndef MODULE
#define MODULE
#endif
#include <linux/module.h>
#include <linux/kernel.h>
static int __init hello_init(void)
{
printk(KERN_ALERT "Hello, my LKM.\n");
return 0;
}
static void __exit hello_exit(void)
{
printk(KERN_ALERT "Bye, my LKM.\n");
}
module_init(hello_init);
module_exit(hello_exit);
ºÜ¼ò´ð°É£¬²»ÊÇÂð£¿Õâ¸öLKMµÄ¹¦ÄÜÆäʵҲºÜ¼òµ¥£¬¾ÍÊǵ±Í¨¹ýinsmod¼ÓÔØËüµÄʱºò£¬Ëû´òÓ¡Hello, my LKM.ͨ¹ýrmmodжÔØËüµÄʱºòËû´òÓ¡bye, my LKM.Ò»¸ö×î»ù±¾µÄÄÚºËÄ£¿éÒ»°ã¶¼°üº¬ÓÐÁ½¸öº¯Êý£¬Ò»¸öÊdzõʼ»¯º¯Êý(±ÈÈç˵ÕâÀïµÄhello_init),Ò»¸öÊÇжÔغ¯Êý(hello_exit), µ±È»Ò²¿ÉÒÔûÓÐÈκκ¯Êý£¬Ö»ÊÇÌṩһЩ±äÁ¿¡£µ«Êdzõʼ»¯º¯ÊýºÍжÔغ¯Êý±ØÐë³É¶Ô³öÏÖ¡£²¢ÇÒinitº¯Êýµ±²Ù×÷³É¹¦Ê±·µ»ØÖµ´óÓÚµÈÓÚÁã,µ±²Ù×÷ʧ°Üʱ£¬·µ»Ø·ÇÁã¡£ºêmodule_initºÍmodule_exitÓÃÓÚ×¢²á³õʼ»¯º¯ÊýºÍжÔغ¯Êý¡£
LKMµÄ±àÒë
Ò»¸öʾÀýµÄMakefileÈçÏÂËùʾ
obj-m := hello.o
KERNELBUILD 


Ïà¹ØÎĵµ£º

Linux iptableÎĵµ

×ÜÀÀ
ÓÃ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 ......

linuxÏÂÐÞ¸ÄipºÍÍø¹ØÒÔ¼°dns

1. ÐÞ¸ÄIPµØÖ· # vi /etc/sysconfig/network-scripts/ifcfg-eth0
ÐÞ¸ÄÒÔÏÂÄÚÈÝ  
DEVICE=eth0 #ÃèÊöÍø¿¨¶ÔÓ¦µÄÉ豸±ðÃû£¬ÀýÈçifcfg-eth0µÄÎļþÖÐËüΪeth0  
BOOTPROTO=static #ÉèÖÃÍø¿¨»ñµÃipµØÖ·µÄ·½Ê½£¬¿ÉÄܵÄÑ¡ÏîΪstatic£¬dhcp»òbootp£¬·Ö±ð¶ÔÓ¦¾²Ì¬Ö¸¶¨µÄ ipµØÖ·£¬Í¨¹ýdhcpЭÒé»ñµÃµÄipµØÖ·£ ......

LinuxÄÚºËѧϰ(תÌû+Ô­´´)

     ²Ù×÷ϵͳÊÇÒ»¸ö·Ç³£¸´ÔÓµÄÈí¼þ,Éè¼ÆºÍʵÏÖÒ»¸ö²Ù×÷ϵͳÐèÒª¾ßÓо«ÉîµÄÀíÂÛ֪ʶºÍ¸ß³¬µÄʵ¼ùÄÜÁ¦.´«Í³µÄ²Ù×÷ϵͳÉè¼Æ¿Î³Ì,¹ýÓÚÆ«ÖØÀíÂÛµÄѧϰ,ȱ·¦¶Ôʵ¼ùµÄÖ¸µ¼¡£Ï£ÍûÉîÈëѧϰ²Ù×÷ϵͳµÄÉè¼Æ£¬×îºÃµÄ·½·¨¾ÍÊÇÕÒÒ»¸ö²Ù×÷ϵͳÀ´×Ô¼ºÊµ¼ù£¬ÔÚʵ¼ùÖÐѧϰ£¬¿ÉÒÔ´´Ôì³öÆæ¼£¡£
     ......

linux¹ØÓÚbashrcÓëprofileµÄÇø±ð


bashrcÓëprofileµÄÇø±ð
Òª¸ãÇåbashrcÓëprofileµÄÇø±ð£¬Ê×ÏÈҪŪÃ÷°×ʲôÊǽ»»¥Ê½shellºÍ·Ç½»»¥Ê½shell£¬Ê²Ã´ÊÇlogin shell ºÍnon-login shell¡£
½»»¥Ê½Ä£Ê½¾ÍÊÇshellµÈ´ýÄãµÄÊäÈ룬²¢ÇÒÖ´ÐÐÄãÌá½»µÄÃüÁî¡£ÕâÖÖģʽ±»³Æ×÷½»»¥Ê½ÊÇÒòΪshellÓëÓû§½øÐн»»¥¡£ÕâÖÖģʽҲÊÇ´ó¶àÊýÓû§·Ç³£ÊìϤµÄ£ºµÇ¼¡¢Ö´ÐÐһЩÃüÁǩÍË¡ ......

¹ØÓÚÔÚlinuxÏÂepollµÄʹÓÃÎÊÌâ

      ÕâÕó×ÓÔÚlinuxϵÄÒ»¸öÏîÄ¿ÐèÒªÓõ½epollÀ´³ÐÊÜÍøÂçµÄ¸ß¸ºÔØ£¬µ«ÊÇÔÚʹÓõĹý³ÌÖоÍÓöµ½ÁËһЩÎÊÌâ¡£
ÔÚÕû¸ö¹ý³ÌÖУ¬ÎÒÊÇÓÃEPOLL µÄ±ßÔµ´¥·¢Ä£Ê½À´ÊµÏÖÎÒÏëÒªµÄ¹¦ÄÜ¡£
      ÎÒÊÇÕâÑùʵÏֵģºÔÚEPOLLÀïÃæ°Ñ¼àÌýµÄÃèÊö·û¸ø¼ÓÁ˽øÈ¥£¬È»ºóµ÷ÓÃepoll_waitÀ´¶Ô¿Í»§¶ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ