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

Linux Ðźż¯ dzÎö

  LinuxÐźÅÓжàÖÖ˵·¨¡£Ò»¸ö½ø³Ì´´½¨Ò»¸öÐźÅÓÃÓÚ·¢Ë͸øÁíÍâÒ»¸ö½ø³Ì½Ð×ö·¢ËÍÒ»¸öÐźţ¬Äں˴´½¨Ò»¸öÐźŽÐ×öÉú³ÉÒ»¸öÐźţ¬½ø³Ì×Ô¼ºÏò×Ô¼º·¢ËÍÐźŽÐ×ö»½ÆðÒ»¸öÐźš£²»¹ýÎÒ¿´Ò²Ã»±ØÒªÕâôѧ¾¿Æø¡£
  Ðźż¯--signel set,Æäʵ¾ÍÊǽ«¶à¸öÐźŷÅÔÚ¼¯ºÏÖнøÐм¯ÖеĴ¦Àí¡£POSIX.1¶¨ÒåÁËsigset_tÒÔ°üº­Ò»¸öÐźż¯£¬²¢ÇÒ¶¨ÒåÁËÎå¸ö´¦ÀíÐźŵĺ¯Êý£º
  int sigemptyset(sigset_t *set);
  int sigfillset(sigset_t *set);
  int sigaddset(sigset_t *set,int signo);
  int sigdelset(sigset_t *set,int signo)
  int sigismember(const sigset_t *set,int signo);
  »¹ÓÐÒ»¸öÖØÒªµÄº¯Êý£ºint sigprocmask(int how,const sigset_t *restrict set,sigset_t *restrict oset);
  µ¥´¿½²ÕâЩº¯ÊýºÜÄѽ²Ã÷°×£¬ÏÂÃæ½áºÏ³ÌÐòÀ´½²£¬³ÌÐòÀ´×ÔUNIX»·¾³¸ß¼¶±à³Ì£º
  
   static void sig_quit(int);   //ÐźŴ¦Àíº¯Êý
   int main( )
  {
     sigset_t newmask,oldmask,pendmask;
     if(signal(SIGQUIT,sig_quit)==SIG_ERR)
            err_sys("can not catch SIGQUIT");
     -----------------------------------------------------------------------------------------------------------
     sigemptyset(&newmask);    //Çå¿ÕÐźÅÑÚÂ뼯newmask,²»×èÈûÈκÎÐźÅ
     sigaddset(&newmask,SIGQUIT);  //½«SIGQUITÐźŷÅÈëÐźż¯newmaskÖÐÈ¥
    
     if(sigprocmask(SIG_BLOCK,&newmask,&oldmask)<0) //½«oldmask ºÍnewmaskºÏ²¢
             err_sys("SIG_BLOCK error");  //µ±Ç°ÐÅºÅÆÁ±Î×Ö·ÅÔÚnewmaskÀÒÔǰµÄ·ÅÔÚoldmaskÀï
    
     sleep(5);
     if(sigpending(&pendmask)<0)   //±£´æËùÓб»×èÈûµÄÐźţ¬±¾Àý¼´±£´æSIGQUITµ½pendmaskÖÐÈ¥
            


Ïà¹ØÎĵµ£º

ʵսLinux Bluetooth±à³Ì£¨ËÄ£© L2CAP²ã±à³Ì

£¨L2CAPЭÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPЭÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼­Á¬½Ó¿ØÖƺÍÊÊÅäЭÒé (L2CAP) ΪÉϲãЭÒéÌá¹©ÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àЭÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãЭÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Ê ......

ºÜÊÜ»¶Ó­µÄLinux±Ê¼Ç

 
linuxĿ¼¼Ü¹¹
/   ¸ùĿ¼
/bin    ³£ÓõÄÃüÁî
binary file µÄÄ¿錄
/boot   ´æ·ÅϵͳÆô¶¯Ê±±ØÐë¶ÁÈ¡µÄµµ°¸£¬°üÀ¨ºËÐÄ
(kernel) ÔÚÄÚ
     /boot/grub/menu.lst   GRUBÉèÖÃ
     /boot/vmlinuz   ÄÚºË
......

Linux Kernel Threads in Device Drivers

 Purpose
This examples shows how to create and stop a kernel thread.
The driver is implemented as a loadable module. In the init_module() routine five kernel threads are created. This kernel threads sleep one second, wake up, print a message and fall asleep again. On unload of the module (cle ......

Linux ÏÂTCPÁ¬½Ó¹Ø±ÕÇé¿ö·ÖÎö

Ò»¡¢TCPÁ¬½Ó¹Ø±ÕµÄ¼¸ÖÖ·½Ê½£º
1¡¢“Õý³£”¹Ø±Õ£ºµ÷ÓÃclose()¹Ø±Õsocket¡¢Ã»closeµ«½ø³ÌÕý³£½áÊø(µ±È»ÕâÊDz»Ó¦¸ÃµÄ×ö·¨)¡¢½ø³Ìcoreµô¡¢ÔÚshellÃüÁîÐÐÖÐkillµô½ø³Ì£¬¶¼¿É³éÏó³É“Õý³£”¹Ø±Õ¡£ÒòΪ¼´Ê¹coreµô£¬ÄÚºËÒ²»áÂíÉϰïÓ¦ÓóÌÐò»ØÊÕ(close)socketÎļþÃèÊö·û¡£
     “Õý ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ