linux É豸½ÚµãÏêϸ½éÉÜ
LinuxÉ豸Îļþ¼ò½é
LinuxÉ豸Îļþ¼ò½é
¸ÅÊö
É豸¹ÜÀíÊÇlinuxÖбȽϻù´¡µÄ¶«Î÷£¬µ«ÊÇÓÉÓÚLinuxÖÇÄ̶ܳȵÄÔ½À´Ô½¸ß£¬UdevµÄʹÓÃÔ½À´Ô½¹ã·º£¬Ê¹µÃÔ½À´Ô½¶àµÄLinuxÐÂÓû§¶Ô /dev Ŀ¼ÏµĶ«Î÷±äµÃ²»ÔÙÊìϤ¡£ÓÐʱºòÓö¼ûÎÊÌâ¾Í»á±äµÃ×¥¿ñ¡£
Linux ÖеÄÉ豸ÓÐ2ÖÖÀàÐÍ£º×Ö·ûÉ豸(ÎÞ»º³åÇÒÖ»ÄÜ˳Ðò´æÈ¡)¡¢¿éÉ豸(Óлº³åÇÒ¿ÉÒÔËæ»ú´æÈ¡)¡£Ã¿¸ö×Ö·ûÉ豸ºÍ¿éÉ豸¶¼±ØÐëÓÐÖ÷¡¢´ÎÉ豸ºÅ£¬Ö÷É豸ºÅÏàͬµÄÉ豸ÊÇͬÀàÉ豸(ʹÓÃͬһ¸öÇý¶¯³ÌÐò)¡£ÕâЩÉ豸ÖУ¬ÓÐЩÉ豸ÊǶÔʵ¼Ê´æÔÚµÄÎïÀíÓ²¼þµÄ³éÏ󣬶øÓÐЩÉ豸ÔòÊÇÄÚºË×ÔÉíÌṩµÄ¹¦ÄÜ(²»ÒÀÀµÓÚÌØ¶¨µÄÎïÀíÓ²¼þ£¬ÓÖ³ÆÎª"ÐéÄâÉ豸")¡£Ã¿¸öÉ豸ÔÚ /dev Ŀ¼Ï¶¼ÓÐÒ»¸ö¶ÔÓ¦µÄÎļþ(½Úµã)¡£¿ÉÒÔͨ¹ý cat /proc/devices ÃüÁî²é¿´µ±Ç°ÒѾ¼ÓÔØµÄÉ豸Çý¶¯³ÌÐòµÄÖ÷É豸ºÅ¡£ÄÚºËÄܹ»Ê¶±ðµÄËùÓÐÉ豸¶¼¼Ç¼ÔÚÔÂëÊ÷Ï嵀 Documentation/devices.txt ÎļþÖС£ÔÚ /dev Ŀ¼Ï³ýÁË×Ö·ûÉ豸ºÍ¿éÉ豸½ÚµãÖ®Í⻹ͨ³£»¹»á´æÔÚ£ºFIFO¹ÜµÀ¡¢Socket¡¢Èí/Ó²Á¬½Ó¡¢Ä¿Â¼¡£ÕâЩ¶«Î÷ûÓÐÖ÷/´ÎÉ豸ºÅ¡£
É豸Îļþ
LinuxÄÚºËËùÄÜʶ±ðµÄËùÓÐÉ豸¶¼¼Ç¼ÔÚ
http://www.lanana.org/docs/device-list/
¶øÄÚºËÔÂëÊ÷ÖÐµÄ Documentation/devices.txt ¿ÉÄܲ»ÊÇ×îа汾¡£
Á˽âÕâЩÉ豸µÄ×î»ù±¾ÒªÇó¾ÍÊǶÔÿ¸öÉ豸ÎļþµÄº¬ÒåÁËÈçÖ¸ÕÆ£¬ÏÂÃæÁгö³£¼ûµÄÉ豸ÎļþÒÔ¼°ÏàÓ¦µÄº¬Òå(±È½ÏƫƧµÄ¾ÍÊ¡ÂÔÁË)¡£
----------------------------------------------------------------------
Ö÷É豸ºÅ É豸ÀàÐÍ
´ÎÉ豸ºÅ=ÎļþÃû ¼òҪ˵Ã÷
----------------------------------------------------------------------
0 δÃüÃûÉ豸(ÀýÈ磺¹ÒÔØµÄ·ÇÉ豸)
0 = Ϊ¿ÕÉ豸ºÅ±£Áô
1 char ÄÚ´æÉ豸
1 = /dev/mem Ö±½Ó´æÈ¡ÎïÀíÄÚ´æ
2 = /dev/kmem ´æÈ¡¾¹ýÄÚºËÐéÄâÖ®ºóµÄÄÚ´æ
3 = /dev/null ¿ÕÉ豸¡£ÈκÎдÈë¶¼½«±»Ö±½Ó¶ªÆú£¬ÈκζÁÈ¡¶¼½«µÃµ½EOF¡£
4 = /dev/port ´æÈ¡ I/O ¶Ë¿Ú
5 = /dev/zero Áã×Ö½ÚÔ´£¬Ö»ÄܶÁÈ¡µ½ÎÞÏÞ¶àµÄÁã×Ö½Ú¡£
7 = /dev/full ÂúÉ豸¡£ÈκÎдÈë¶¼½«Ê§°Ü£¬²¢°ÑerrnoÉèΪENOSPCÒÔ±íʾûÓÐÊ£Óà¿Õ¼ä¡£
8 = /dev/random Ëæ»úÊý·¢ÉúÆ÷¡£ÍêÈ«ÓÉÓû§µÄÊäÈëÀ´²úÉúËæ»úÊý¡£
Èç¹ûÓû§Í£Ö¹ËùÓж¯×÷£¬ÔòÍ£Ö¹²úÉúеÄËæ»úÊý¡£
9 = /dev/urandom ¸ü¿ì£¬µ«ÊDz»¹»°²È«µÄËæ»úÊý·¢ÉúÆ÷¡£¾¡¿ÉÄÜÓÉÓû§µÄÊäÈëÀ´²úÉúËæ»úÊý£¬
Èç¹ûÓû§Í£Ö¹ËùÓж¯×÷£¬Ôò°
Ïà¹ØÎĵµ£º
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Ŀ¼ȨÏÞÉèÖõÄÎÄÕÂ,֮ǰÎÒʹÓÃWindows Serverϵͳ,ÓÃͼÐνçÃæ¹ÜÀíÎļþµÄ·ÃÎÊȨÏÞ.ºóÀ´ÔÚѧϰGUN/Linux ServerµÄʱºò·¢ÏÖGUN/LinuxµÄȨÏÞ¹ÜÀíÉèÖ÷dz£Ç¿´ó,Ò²·Ç³£·½±ã.µ«ÊÇÎÒ·¢ÏÖÔÚÍøÂ·ÉÏûÓÐһƪÎÄÕÂÊÇÍêÕûÐðÊö+ÈöÁÕߺÜÈÝÒ×Àí½âµÄ,ÓÚÊÇÎÒдÁËÕâÆª¼òµ¥Ò×¶®µÄL ......
»ùÓÚI/O RegionµÄ²Ù×÷º¯Êý__XXX_region()£¬LinuxÔÚÍ·Îļþinclude/linux/ioport.hÖж¨ÒåÁËÈý¸ö¶ÔI/OÄÚ´æ×ÊÔ´½øÐвÙ×÷µÄºê£º
¡¡¡¡¢Ùrequest_mem_region()ºê£¬ÇëÇó·ÖÅäÖ¸¶¨µÄI/OÄÚ´æ×ÊÔ´¡£
¡¡¡¡¢Úcheck_ mem_region()ºê£¬¼ì²éÖ¸¶¨µÄI/OÄÚ´æ×ÊÔ´ÊÇ·ñÒѱ»Õ¼Óá£
¡¡¡¡¢Ûrelease_ mem_region()ºê£¬ÊÍ·ÅÖ¸¶¨µÄI/OÄÚ´æ×ÊÔ ......
½ø³Ì
½ø³ÌµÄÌØÐÔ£º
¶ÀÁ¢ÐÔ¡¢¶à̬ÐÔ¡¢²¢·¢ÐÔ¡£
²¢·¢ÐԺͶദÀí»ú²¢ÐÐÊÇÁ½¸ö²»Í¬µÄ¸ÅÄî¡£²¢ÐÐÖ¸ÔÚͬһʱ¿ÌÄÚ£¬ÓжàÌõÖ¸ÁîÔÚ¶à¸ö´¦Àí»úÉÏͬʱִÐУ¬¶ø²¢·¢Ö¸ÔÚͬһʱ¿ÌÄÚ¿ÉÄÜÖ»ÓÐÒ»ÌõÖ¸ÁîÖ´ÐУ¬µ«¶à¸ö½ø³ÌµÄÖ¸Áî±»¿ìËÙÂÖ»»Ö´ÐУ¬Ê¹µÃÔÚºê¹ÛÉϾßÓжà¸ö½ø³ÌͬʱִÐеÄЧ¹û¡£
Ò»°ãµÄ£¬½ø³ÌµÄ3ÖÖ״̬£º
¾ÍÐ÷̬¡¢×èÈû̬¡¢ÔËÐÐÌ ......
×÷Õߣºsixth
Ò»¡¢LinuxµÄÆô¶¯Á÷³Ì
1. ´ÓBIOSµ½KERNEL
BIOS×Ô¼ì£>MBR(GRUB)£>KERNEL£>KERNEL×Ô½âѹ£>Äں˳õʼ»¯£>ÄÚºËÆô¶¯
2. ÄÚºËÆô¶¯£º´´½¨1££½ø³Ì²¢Ö´ÐУ¬ÓÉËü´´½¨Èô¸ÉÄÚºËỊ̈߳¨kernel thread£©£¬È»ºó×°Èë²¢Ö´ÐгÌÐò/sbin/init£¨±ä³ÉÒ»¸öÓû§½ø³Ì£©¡£´Ëºó£¬init¸ù¾Ý/etc/initt ......