linux Ä£¿éÖк¯ÊýµÄµ÷ÓÃ(ͨË×Ò×¶®Å¶)
Ê×ÏÈ£¬Ó¦ÓóÌÐòÊÇÎÞ·¨Ö±½Ó·ÃÎÊÄ£¿éÖеĺ¯ÊýµÄ£¨¼´Ê¹ÊÇÄã×Ô±à×Ô¹ÒµÄÄ£¿é££Êµ¼ÊÉÏËüÒ²ÊÇÄÚºËÄ£¿é£©£¬Óû§¿Õ¼äÓëÄں˿ռäÖ®¼äÖ»ÓÐͨ¹ýÒ»Ð©ÌØ¶¨µÄϵͳº¯ÊýÀ´½øÐÐͨѶ£¨Èçʲôuser_to_kernel£©£¬¶ø¾ø¶Ô²»¿ÉÄÜͨ¹ý“Ö±½Óµ÷ÓÃÄ£¿éÀïµÄº¯Êý”ÕâÖÖÐÎʽÀ´Í¨Ñ¶¡£
ÄÇô£¬Ëù±àдµÄÄ£¿éÀïµÄº¯ÊýÔõô²ÅÄܱ»Ö´ÐУ¿ÓÉ˵÷Óã¿Æäʵ´ð°¸ºÜ¼òµ¥£¬ËüÃÇÊÇÓÉÄÚºËÀ´µ÷Óõģ¬×¢Ò⣬ÊÇÓÉÄÚºËÀ´µ÷Óõġ£±ÈÈç init_module() ºÍ cleanup_module() º¯Êý£¬·Ö±ðÊÇÔÚ¹ÒÔØÄ£¿é£¨insmod£©ºÍÐ¶ÔØÄ£¿é£¨rmmod£©µÄʱºò£¬Äں˸ù¾ÝÃüÁî²ÎÊýÀ´µ÷ÓôËÁ½¸öº¯ÊýµÄ£¬ËüÃÇ·Ö±ð¸ºÔðÄ£¿éµÄ³õʼ»¯¼°ºó´¦Àí¡£
ºÜ×ÔÈ»µÄ£¬ÏÂÒ»¸öÒÉÎʽÓõà¶øÖÁ£¬££Ä£¿éÀïµÄÆäËûº¯ÊýÈçºÎ±»µ÷Ó㿱ÈÈçÎÒдµÄÄ£¿éÖгýÁË init_module() ºÍ cleanup_module() º¯ÊýÍ⣬»¹Ð´ÁËÒ»¸ö hello_world() º¯Êý£¬¼òµ¥µÄÊä³ö“hello world”µ½¿ØÖÆÌ¨£¬ºÃ£¬½ÓÏÂÀ´¾ÍÊÇÕâ´Î·ÖÎöµÄ¹Ø¼ü£¬Ç°ÃæÎÒÃÇÇ¿µ÷ÁËÄ£¿éÖеĺ¯ÊýÊÇÓÉÄÚºËÀ´µ÷Óõ쬳ý´ËÖ®ÍâûÓбðµÄ»ú»áʹËü±»Ö´Ðе½¡£ÄÇÈç¹ûÎÒÃÇµÄ hello_world() º¯Êý²»Äܱ»Äں˵÷Óã¬Õâ²»¾ÍÒâζ×ÅËüÓÀÔ¶Ò²²»¿ÉÄܱ»Ö´Ðе½Âð£¿È·ÊµÊÇÕâÑù£¬»»¾ä»°Ëµ£¬ÔÚÕâÖÖÇé¿öÏÂËü¾ÍÊÇÒ»¶ÎÀ¬»ø´úÂ룬ÓÀÎÞ¼ûÌìÈÕ֮ʱ¡£ÔõôÑù²ÅÄÜʹÎÒÃÇµÄ hello_world() º¯Êý±»Ö´ÐУ¿ÏÔÈ»£¬¹Ø¼üÔÚÓÚÈÃÄÚºËÈÏʶËü£¬¼´ÄÚºËÄÜÕÒµ½Ëü¡£ÄÇô£¬ÔõÑù²ÅÄÜʹÄÚºËÕÒµ½Õâ¸öº¯Êý£¿ÔÙ½øÒ»²½µÄÎÊÌâÊÇ£¬ÄÚºËΪʲôҪȥÕÒÕâ¸öº¯Êý£¿
µÚÒ»ÎʵĴð°¸ÊÇ£¬ÄÚºËͨ¹ýϵͳÖÐÌØ¶¨µÄÊý¾Ý½á¹¹À´ÕÒµ½º¯ÊýµÄ£¬µ±È»£¬ÕâÒâζ×ÅÔÚÄãµÄÄ£¿é³ÌÐòÖУ¬½ö½öдÉÏ hello_world() º¯ÊýµÄ´úÂëÊDz»¹»µÄ£¬»¹Ó¦¸ÃÔÙ×ö¼¸²½¹¤×÷£º
a£¬Ê×ÏÈ£¬ÏµÍ³Öеĸ÷ÀàÊý¾Ý½á¹¹ÄÇô¶à£¬ÒªÊ¹ÓÃÄĸöÄØ£¿ÕâÓÉÄãÕâ¸öÄ£¿éµÄ×¢²áÐÔÖʾö¶¨£¬Æ©ÈçÄãµÄÄ£¿éÊÇÒ»¸öUSBÉ豸Çý¶¯Ä£¿é£¬ÄÇôÄã¾ÍÐèÒªÌîдusbÉ豸Çý¶¯³ÌÐòµÄÊý¾Ý½á¹¹£¨Í¨³£Êý¾Ý½á¹¹¶¼ÊǽṹÌå(struct)µÄÐÎʽ£©
struct usb_driver{µÚÒ»ÏµÚ¶þÏµÚÈýÏ.......}
ÕâÀïµÄ¸÷ÏîÓÐЩÊÇ×Ö·û´®£¬ÓÐЩÊǺ¯ÊýÖ¸Õ룬¾ßÌåÇë²é×ÊÁÏ¡£
b£¬°Ñ hello_world() µÄº¯ÊýÖ¸Õë·Å½øÒ»¸öÊý¾Ý½á¹¹ÖС£ÎÒÃÇ»¹ÊǽÓמÙusbÉ豸Çý¶¯³ÌÐòÄ£¿éµÄÀý×Ó°É£¬ÔÚËüµÄÊý¾Ý½á¹¹usb_driver{}ÖУ¬Ñ¡Ò»¸öÇ¡ºÃÊǺ¯ÊýÖ¸ÕëµÄÏ°Ñ hello_world() º¯ÊýµÄÖ¸Õë·Å½øÈ¥£¨Í¨¹ýº¯ÊýÃû£©£¬ÔÙÌîÂúÕâ¸öÊý¾Ý½á¹¹µÄÆäËû²¿·Ö£¨²»ÏëÌîµÄ»°¾Í¿Õ×ŰÉ:P£¬Ó÷ֺŷָô¼´¿É£©¡£
c£¬ÌîÍêÖ®ºó£¬»Øµ½µÚÒ»ÎÊÖУ¬ÔõÑùʹÄÚºËÄܹ»ÕÒµ½Õâ¸ö hello_world() º¯Êý£¿»ØÍ·ÏëÏ룬µ±ÎÒÃÇÌîÍêÁËÊ
Ïà¹ØÎĵµ£º
LinuxÐźÅÁ¿ ¹²ÏíÄÚ´æºÍÏûÏ¢¶ÓÁÐ
1. ÐźÅÁ¿
ʹÓÃÐźÅÁ¿¿ÉÒÔʵÏÖ½ø³Ì¼äͬ²½¡£Ö÷Òªº¯Êý¶¨Ò壺
#include <sys/sem.h>
int semctl(int sem_id, int sem_num, int command, …);
int semget(key_t key, int num_sems, int sem_flags);
int semop(int sem_id, struct sembuf *sem_ops, size_t num_sem_ops);
& ......
¡¾ÊµÏÖ¹¦ÄÜ¡¿£ºLinuxϵÄC±à³Ì£º±àдһ¸ö³ÌÐò£¨¿â£©£¬ÊµÏÖ¶¨Ê±Æ÷£¨¼ÆÊ±Æ÷£©µÄ¹¦ÄÜ£¬ËüÄÜΪÓû§ÌṩÔÚͬһ½ø³ÌÖжà´ÎʹÓõĶ¨Ê±Æ÷¡£ÕâÀïÒªÇóÓÃÐźÅÀ´ÊµÏÖ¡£
¡¾½âÌâ˼·¡¿£º±àдһ¸ö½á¹¹ÌåTimer´ú±íÒ»¸ö¼ÆÊ±Æ÷£¬È»ºóÔÙ¶¨ÒåTimerÀàÐ͵ÄÊý×émyTimer[N]£¬ÓÃÀ´±£´æÎÒÃÇÉèÖõĶ¨Ê±Æ÷£»ÔÙ¶¨Ò庯ÊýsetTimer£¨£©Éú³É¼ÆÊ±Æ÷£¬²¢½«Éú³É ......
Linux PPP Êý¾ÝÊÕ·¢Á÷³Ì
×ªÔØÊ±Çë×¢Ã÷³ö´¦ºÍ×÷ÕßÁªÏµ·½Ê½£ºhttp://blog.csdn.net/absurd
×÷ÕßÁªÏµ·½Ê½£ºÀîÏȾ²<xianjimli at hotmail dot com>
¸üÐÂʱ¼ä£º2007-5-4
&nb ......
Ò» Ê×ÏȰ²×°ppp£¬ ÓÃsudo apt-get install ppp
¶þ ²¦ºÅÉÏÍø£¬ Ò»¹²ÓÐ3ÖÖ·½Ê½
1.ʹÓÃÃüÁî pppd call somescript µÄ·½Ê½
- ÔÚ /etc/pppĿ¼Ï£¬½¨Á¢3¸öÎļþ£ºpap-secrets,chap-secrets,gprs-connect-chat
ºÍÒ»¸öĿ¼:peers
ÔÚpeersĿ¼Ï½¨Á¢Ò»¸öÎļþgprs
Õâ4¸öÎļþµÄÄÚÈÝÈçÏ£º
---------------------- ......
²Ù×÷ϵͳҪʵÏÖ¶à½ø³Ì£¬½ø³Ìµ÷¶È±Ø²»¿ÉÉÙ¡£
ÓÐÈË˵£¬½ø³Ìµ÷¶ÈÊDzÙ×÷ϵͳÖÐ×îÎªÖØÒªµÄÒ»¸ö²¿·Ö¡£ÎÒ¾õµÃÕâÖÖ˵·¨ËµµÃÌ«¾ø¶ÔÁËÒ»µã£¬¾ÍÏñºÜ¶àÈ˶¯éü¾Í˵"ijijº¯Êý±Èijijº¯ÊýЧÂʸßXX±¶"Ò»Ñù£¬ÍÑÀëÁË
ʵ¼Ê»·¾³£¬ÕâЩ½áÂÛÊÇ±È½ÏÆ¬ÃæµÄ¡£
¶ø½ø³Ìµ÷¶È¾¿¾¹ÓжàÖØÒªÄØ£¿ Ê×ÏÈ£¬ÎÒÃÇÐèÒªÃ÷È·Ò»µã£º½ø³Ìµ÷¶ÈÊǶÔTASK_R ......