linuxÐźŻúÖÆsignal
ÐźÅÊÇLinux±à³ÌÖзdz£ÖØÒªµÄ²¿·Ö£¬±¾ÎĽ«Ïêϸ½éÉÜÐźŻúÖÆµÄ»ù±¾¸ÅÄî¡¢Linux¶ÔÐźŻúÖÆµÄ´óÖÂʵÏÖ·½·¨¡¢ÈçºÎʹÓÃÐźţ¬ÒÔ¼°ÓйØÐźŵöϵͳµ÷Óá£
ÐźŻúÖÆÊǽø³ÌÖ®¼äÏ໥´«µÝÏûÏ¢µÄÒ»ÖÖ·½·¨£¬ÐźÅÈ«³ÆÎªÈíÖжÏÐźţ¬Ò²ÓÐÈ˳Æ×÷ÈíÖжϡ£´ÓËüµÄÃüÃû¿ÉÒÔ¿´³ö£¬ËüµÄʵÖʺÍʹÓúÜÏóÖжϡ£ËùÒÔ£¬ÐźſÉÒÔ˵Êǽø³Ì¿ØÖƵÄÒ»²¿·Ö¡£
Ò»¡¢ÐźŵĻù±¾¸ÅÄî
±¾½ÚÏȽéÉÜÐźŵÄһЩ»ù±¾¸ÅÄȻºó¸ø³öһЩ»ù±¾µÄÐźÅÀàÐͺÍÐźŶÔÓ¦µÄʼþ¡£»ù±¾¸ÅÄî¶ÔÓÚÀí½âºÍʹÓÃÐźţ¬¶ÔÓÚÀí½âÐźŻúÖÆ¶¼ÌرðÖØÒª¡£ÏÂÃæ¾ÍÀ´¿´¿´Ê²Ã´ÊÇÐźš£
1¡¢»ù±¾¸ÅÄî
ÈíÖжÏÐźţ¨signal£¬ÓÖ¼ò³ÆÎªÐźţ©ÓÃÀ´Í¨Öª½ø³Ì·¢ÉúÁËÒ첽ʼþ¡£½ø³ÌÖ®¼ä¿ÉÒÔ»¥Ïàͨ¹ýϵͳµ÷ÓÃkill·¢ËÍÈíÖжÏÐźš£ÄÚºËÒ²¿ÉÒÔÒòΪÄÚ²¿Ê¼þ¶ø¸ø½ø³Ì·¢ËÍÐźţ¬Í¨Öª½ø³Ì·¢ÉúÁËij¸öʼþ¡£×¢Ò⣬ÐźÅÖ»ÊÇÓÃÀ´Í¨ÖªÄ³½ø³Ì·¢ÉúÁËʲôʼþ£¬²¢²»¸ø¸Ã½ø³Ì´«µÝÈκÎÊý¾Ý¡£
ÊÕ µ½ÐźŵĽø³Ì¶Ô¸÷ÖÖÐźÅÓв»Í¬µÄ´¦Àí·½·¨¡£´¦Àí·½·¨¿ÉÒÔ·ÖΪÈýÀࣺµÚÒ»ÖÖÊÇÀàËÆÖжϵĴ¦Àí³ÌÐò£¬¶ÔÓÚÐèÒª´¦ÀíµÄÐźţ¬½ø³Ì¿ÉÒÔÖ¸¶¨´¦Àíº¯Êý£¬Óɸú¯ÊýÀ´´¦ Àí¡£µÚ¶þÖÖ·½·¨ÊÇ£¬ºöÂÔij¸öÐźţ¬¶Ô¸ÃÐźŲ»×öÈκδ¦Àí£¬¾ÍÏóδ·¢Éú¹ýÒ»Ñù¡£µÚÈýÖÖ·½·¨ÊÇ£¬¶Ô¸ÃÐźŵĴ¦Àí±£ÁôϵͳµÄĬÈÏÖµ£¬ÕâÖÖȱʡ²Ù×÷£¬¶Ô´ó²¿·ÖµÄÐÅ ºÅµÄȱʡ²Ù×÷ÊÇʹµÃ½ø³ÌÖÕÖ¹¡£½ø³Ìͨ¹ýϵͳµ÷ÓÃsignalÀ´Ö¸¶¨½ø³Ì¶Ôij¸öÐźŵĴ¦ÀíÐÐΪ¡£
ÔÚ½ø³Ì±íµÄ±íÏîÖÐÓÐÒ»¸öÈíÖжÏÐźÅÓò£¬¸ÃÓòÖÐÿһλ¶ÔÓ¦Ò»¸öÐźţ¬µ±ÓÐÐźŷ¢Ë͸ø½ø³Ìʱ£¬¶ÔӦλÖÃλ¡£ÓÉ´Ë¿ÉÒÔ¿´³ö£¬½ø³Ì¶Ô²»Í¬µÄÐźſÉÒÔͬʱ±£Áô£¬µ«¶ÔÓÚͬһ¸öÐźţ¬½ø³Ì²¢²»ÖªµÀÔÚ´¦Àí֮ǰÀ´¹ý¶àÉÙ¸ö¡£
2¡¢ÐźŵÄÀàÐÍ
·¢³öÐźŵÄÔÒòºÜ¶à£¬ÕâÀï°´·¢³öÐźŵÄÔÒò¼òµ¥·ÖÀ࣬ÒÔÁ˽â¸÷ÖÖÐźţº
£¨1£© Óë½ø³ÌÖÕÖ¹Ïà¹ØµÄÐźš£µ±½ø³ÌÍ˳ö£¬»òÕß×Ó½ø³ÌÖÕֹʱ£¬·¢³öÕâÀàÐźš£
£¨2£© Óë½ø³ÌÀýÍâʼþÏà¹ØµÄÐźš£Èç½ø³ÌÔ½½ç£¬»òÆóͼдһ¸öÖ»¶ÁµÄÄÚ´æÇøÓò£¨Èç³ÌÐòÕýÎÄÇø£©£¬»òÖ´ÐÐÒ»¸öÌØÈ¨Ö¸Áî¼°ÆäËû¸÷ÖÖÓ²¼þ´íÎó¡£
£¨3£© ÓëÔÚϵͳµ÷ÓÃÆÚ¼äÓöµ½²»¿É»Ö¸´Ìõ¼þÏà¹ØµÄÐźš£ÈçÖ´ÐÐϵͳµ÷ÓÃexecʱ£¬ÔÓÐ×ÊÔ´ÒѾÊÍ·Å£¬¶øÄ¿Ç°ÏµÍ³×ÊÔ´ÓÖÒѾºÄ¾¡¡£
£¨4£© ÓëÖ´ÐÐϵͳµ÷ÓÃʱÓöµ½·ÇÔ¤²â´íÎóÌõ¼þÏà¹ØµÄÐźš£ÈçÖ´ÐÐÒ»¸ö²¢²»´æÔÚµÄϵͳµ÷Óá£
£¨5£© ÔÚÓû§Ì¬ÏµĽø³Ì·¢³öµÄÐźš£Èç½ø³Ìµ÷ÓÃϵͳµ÷ÓÃkillÏòÆäËû½ø³Ì·¢ËÍÐźš£
£¨6£© ÓëÖն˽»»¥Ïà¹ØµÄÐźš£ÈçÓû§¹Ø±ÕÒ»¸öÖÕ¶Ë£¬»ò°´ÏÂbreak¼üµÈÇé¿ö¡£
£¨7£© ¸ú×Ù½ø³ÌÖ´ÐеÄÐźš£
Linux
Ïà¹ØÎĵµ£º
1. HCI²ãÐÒé¸ÅÊö£º
HCIÌṩһÌ×ͳһµÄ·½·¨À´·ÃÎÊBluetoothµ×²ã¡£ÈçͼËùʾ£º
´ÓͼÉÏ¿ÉÒÔ¿´³ö£¬Host Controller Interface(HCI) ¾ÍÊÇÓÃÀ´¹µÍ¨HostºÍModule¡£Hostͨ³£¾ÍÊÇPC£¬ ModuleÔòÊÇÒÔ¸÷ÖÖÎïÀíÁ¬½ÓÐÎʽ£¨USB,serial,pc-cardµÈ£©Á¬½Óµ½PCÉϵÄbluetooth Dongle¡£
ÔÚHostÕâÒ»¶Ë£ºapplication,SDP,L2capµÈÐÒé ......
linuxĿ¼¼Ü¹¹
/ ¸ùĿ¼
/bin ³£ÓõÄÃüÁî
binary file µÄÄ¿錄
/boot ´æ·ÅϵͳÆô¶¯Ê±±ØÐë¶ÁÈ¡µÄµµ°¸£¬°üÀ¨ºËÐÄ
(kernel) ÔÚÄÚ
/boot/grub/menu.lst GRUBÉèÖÃ
/boot/vmlinuz ÄÚºË
......
Linux 2.6 ×Ö·ûÉ豸Çý¶¯³ÌÐò
¡ð¡¢ËµÃ÷
±Ê¼ÇÊÊÓÃÓÚLinuxµÄ2.6.10ÒÔºóµÄÄںˡ£
±Ê¼ÇÒÔLinux
Device
Driver3ÌṩµÄscull³ÌÐò(scullĿ¼ÖеÄmain.cºÍscull.h)Ϊ¼Ç¼Ö÷Ïߣ¬²¢ÒÔ¸ÃÇý¶¯³ÌÐòÖеĸ÷ÖÖϵͳµ÷Óúͺ¯Êýµ÷ÓÃÁ÷³ÌΪ¼Ç
¼˳Ðò¡£±ÈÈ磬module_init( )ºÍmodule_exit(
)ΪÏà¶ÔÓ¦µÄÒ»¶Ôϵͳµ÷Óã¬Ò»°ãÊé¼®Öж¼»á·ÅÔÚÒ ......
LinuxµÄÍøÂçÐÒéÕ»
LinuxµÄÐÒéÕ»ÆäʵÊÇÔ´ÓÚBSDµÄÐÒéÕ»£¬ËüÏòÉÏÒÔ¼°ÏòϵĽӿÚÒÔ¼°ÐÒéÕ»±¾ÉíµÄÈí¼þ·Ö²ã×éÖ¯µÄ·Ç³£ºÃ¡£
LinuxµÄÐÒéÕ»»ùÓÚ·Ö²ãµÄÉè¼ÆË¼Ï룬×ܹ²·ÖΪËIJ㣬´ÓÏÂÍùÉÏÒÀ´ÎÊÇ £ºÎïÀí²ã£¬Á´Â·²ã£¬ÍøÂç²ã£¬Ó¦Óò㡣
& ......
1.1 Óï·¨»ù±¾½éÉÜ
1.1.1 ¿ªÍ·
³ÌÐò±ØÐëÒÔÏÂÃæµÄÐпªÊ¼£¨±ØÐë·½ÔÚÎļþµÄµÚÒ»ÐУ©£º
#!/bin/sh
·ûºÅ#!ÓÃÀ´¸æËßϵͳËüºóÃæµÄ²ÎÊýÊÇÓÃÀ´Ö´ÐиÃÎļþµÄ³ÌÐò¡£ÔÚÕâ¸öÀý×ÓÖÐÎÒÃÇʹÓÃ/bin/shÀ´Ö´ÐгÌÐò¡£
µ±±à¼ºÃ½Å±¾Ê±£¬Èç¹ûÒªÖ´Ðиýű¾£¬»¹±ØÐëʹÆä¿ÉÖ´ÐС£
Ҫʹ½Å±¾¿ÉÖ´ÐУº
±àÒë chmod +x filename ÕâÑù²ÅÄÜÓÃ./filena ......