linux 2.4 ºÍ2.6 ÄÚºËÇø±ð
Ëæ×ÅLinux2.6µÄ·¢²¼£¬ÓÉÓÚ2.6ÄÚºË×öÁ˽̵ĸ͝£¬¸÷¸öÉ豸µÄÇý¶¯³ÌÐòÔÚ²»Í¬³Ì¶ÈÉÏÒª
½øÐиÄд¡£ÎªÁË·½±ã¸÷λLinux°®ºÃÕßÎÒ°Ñ×Ô¼ºÕû
ÀíµÄÕâ·ÖÎĵµshare³öÀ´¡£¸ÃÎĵ±ÁоÙ
ÁË2.6ÄÚºËͬÒÔǰ°æ±¾µÄ¾ø´ó¶àÊý±ä»¯£¬¿ÉϧµÄÊÇÓÉÓÚʱ¼äºÍ¾«Á¦ÓÐÏÞûÓÐÏêϸÁгö¸÷¸ö
º¯ÊýµÄÓÃ
·¨¡£
ÌØ±ðÉùÃ÷£º¸ÃÎĵµÖеÄÄÚÈÝÀ´×Ôhttp://lwn.net£¬¸ÃÍøÒ²ÉÏÒ²Óи÷¸öº¯ÊýµÄ½ÏΪÏêϸµÄ
˵Ã÷¿É¹©¸÷λ²Î¿¼¡£Èç¹ûÐèÒª¸ÃÎĵµµÄ
word°æµÄÅóÓÑ£¬Çëmailµ½weiriver@sohu.comË÷
È¡¡£
1¡¢ ʹÓÃеÄÈë¿Ú
±ØÐë°üº¬
<linux/init.h>
module_init(your_init_func);
module_exit(your_exit_func);
ÀÏ
°æ±¾£ºint init_module(void);
void cleanup_module(voi);
2.4ÖÐÁ½ÖÖ¶¼¿ÉÒÔÓ㬶ÔÈçºó
ÃæµÄÈë¿Úº¯Êý²»±ØÒªÏÔʾ°üº¬ÈκÎÍ·Îļþ¡£
2¡¢ GPL
MODULE_LICENSE("Dual BSD/GPL");
Àϰæ
±¾£ºMODULE_LICENSE("GPL");
3¡¢ Ä£¿é²ÎÊý
±ØÐëÏÔʽ°üº¬<linux/moduleparam.h>
module_param(name,
type, perm);
module_param_named(name, value, type, perm);
²ÎÊý¶¨Òå
module_param_string(name,
string, len, perm);
module_param_array(name, type, num, perm);
Àϰæ
±¾£ºMODULE_PARM(variable,type);
MODULE_PARM_DESC(variable,type);
4¡¢
Ä£¿é±ðÃû
MODULE_ALIAS("alias-name");
ÕâÊÇÐÂÔöµÄ£¬ÔÚÀϰ汾ÖÐÐèÔÚ/etc/modules.confÅäÖã¬
ÏÖÔÚÔÚ´úÂëÖоͿÉÒÔʵÏÖ¡£
5¡¢ Ä£¿é¼ÆÊý
int try_module_get(&module);
module_put();
ÀÏ
°æ±¾£ºMOD_INC_USE_COUNT ºÍ MOD_DEC_USE_COUNT
6¡¢ ·ûºÅµ¼³ö
Ö»ÓÐÏÔʾµÄµ¼³ö·ûºÅ²ÅÄܱ»ÆäËûÄ£¿éʹ
Óã¬Ä¬Èϲ»µ¼³öËùÓеķûºÅ£¬²»±ØÊ¹ÓÃEXPORT_NO
_SYMBOLS
Àϰ屾£ºÄ¬Èϵ¼³öËùÓеķûºÅ£¬³ý·ÇʹÓÃ
EXPORT_NO_SYMBOLS
7¡¢ Äں˰汾¼ì²é
ÐèÒªÔÚ¶à¸öÎļþÖаüº¬<linux/module.h>ʱ£¬²»±Ø¶¨Òå
__NO_VERSION__
Àϰ汾£ºÔÚ¶à¸öÎļþÖаüº¬<linux/module.h>ʱ£¬³ýÔÚÖ÷ÎļþÍâµÄÆäËûÎļþÖбØÐ붨Òå_
_NO_VERSION__£¬
·ÀÖ¹°æ±¾Öظ´¶¨Òå¡£
8¡¢ É豸ºÅ
kdev_t±»·Ï³ý²»¿ÉÓã¬ÐµÄdev_tÍØÕ¹µ½ÁË32룬12λÖ÷É豸ºÅ£¬20λ´ÎÉ豸ºÅ¡£
unsigned
int iminor(struct inode *inode);
unsigned int imajor(struct inode
*inode);
Àϰ汾£º8λÖ÷É豸ºÅ£¬8λ´ÎÉ豸ºÅ
int MAJOR(kdev_t dev);
int
MINOR(kdev_t dev);
9¡¢ ÄÚ´æ·ÖÅäÍ·Îļþ±ä¸ü
ËùÓеÄÄÚ´æ·ÖÅ亯Êý°üº¬ÔÚÍ·ÎÄ
¼þ&l
Ïà¹ØÎĵµ£º
×òÌìÔÚ±àдһ¸ö³ÌÐòµÄʱºò·¢ÏÖÐèÒªÁ´½ÓµÄ¾²Ì¬¿â¶¼È·¶¨´æÔÚ£¬Ö¸¶¨µÄ·¾¶Ò²Ã»ÓÐÎÊÌ⣬µ«ÊDZàÒë×ÜÊdzöÏÖÁ´½ÓÎÊÌ⣬ÕÒ²»µ½ÊµÏÖ£¬²Å·¢ÏÖÔÀ´Èç¹ûͬʱÁ´½Ó¶à¸ö¾²Ì¬¿â£¬²¢ÇÒÈç¹ûÕâЩ¾²Ì¬¿âÖ®¼ä´æÔÚÏ໥ÒÀÀµ¹ØÏµµÄ»°£¬ÐèÒª°´Ò»¶¨µÄ˳Ðò½øÐÐÁ´½Ó£¬ÀýÈ磺Èç¹ûlibb.aÒÀÀµliba.a£¬ÄÇô±àÒë²ÎÊýÓ¦¸Ãд³ÉÕâÑù£º -lb -la ......
1.Vi¼°ÆäÔËÐÐģʽ
ViÊÇ“Visual interface”µÄ¼ò³Æ¡£¿ÉÒÔÖ´ÐÐÊä³ö¡¢É¾³ý¡¢²éÕÒ¡¢Ìæ»»¡¢¿é²Ù×÷µÈÖÚ¶àÎı¾²Ù×÷
Á·Ï°
cp /etc/passwd /tmp/ ¿½±´Ò»¸öÎļþ
Á¬Ðø°´dd ¿ÉÒÔɾ³ýÒ»ÐÐ
Á¬Ðø°´oo ¿ÉÒÔ²åÈëÒ»ÐÐ
°´Ò»¸öO ¿ÉÒÔÔÚ¹â±êÉÏÃæ²åÈëÒ»ÐÐ
2.ÖØ¶¨Ïò
±ê×¼ÊäÈë¡¢Êä³ö
......
1. Ôھɵİ汾Ï£¨Èçlinux 2.4£©linuxÄÚºËÄ£¿éµÄ±àÒëÖ»ÐèÒªÓÐÄں˵ÄÍ·Îļþ¾ÍÐÐÁË£¬¾Í¿ÉÒÔͨ¹ýºÍ±àÒëÆäËû³ÌÐòÒ»ÑùµÄ·½·¨±àÒë³Éfilename.oÎļþ£¬Õâ¸ö.oÎļþÊÇÖ±½Ó ¿ÉÒÔ¼ÓÔØµÀÄÚºËÖе쬼ÓÔØÖ®ºó¾Í¿ÉÒÔÓÃÁË¡£È»¶øÔÚ2.6ϾͽØÈ»²»Í¬ÁË£¬ÔÚlinux 2.6ÏÂÄں˵ıàÒëÒªÓÐϵͳÄÚºËÊ÷µÄÖ§³Ö£¬ÏÂÃæ½éÉÜÒ»ÏÂÕâ¸ö“ÄÚºËÊ÷”ÊÇÈç ......
±¾È˲Ù×÷ϵͳ»·¾³ÊÇUBUNTU 8.04 ÔÚ³¬¼¶È¨ÏÞϰ²×°³É¹¦,½ö¹©²Î¿¼(ǰÌáµÃ°²×°Linux °æ±¾JDK)
»ù±¾½éÉÜ:
Tomcat
ÊÇÒ»¸öÃâ·ÑµÄ¿ªÔ´µÄSerlvetÈÝÆ÷£¬ËüÊÇApache»ù½ð»áµÄJakartaÏîÄ¿ÖеÄÒ»¸öºËÐÄÏîÄ¿£¬ÓÉApache£¬SunºÍÆäËüһЩ¹«Ë¾¼°¸öÈ˹²Í¬¿ª·¢¶ø³É¡£ÓÉÓÚÓÐÁËSunµÄ²ÎÓëºÍÖ§³Ö£¬×îеÄServletºÍJsp¹æ·¶×ÜÄÜÔÚTomcatÖ ......
1. cd -> ·µ»Ø½øÈë´ËĿ¼֮ǰËùÔÚµÄĿ¼£ºcd -
2. ÉÏÒ»ÌõÃüÁî ->
!! È«²¿µÄÉÏÒ»ÌõÃüÁî
!* ÉÏÒ»ÌõÃüÁîµÄÈ«²¿²ÎÊý
& ......