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

Linux ÐéÄ⻯ºÍ PCI ͸´«¼¼Êõ


 
 
¼¶
±ð£º Öм¶
M.
Tim Jones
, ×ÔÓÉ×÷¼Ò
2009 Äê 11 ÔÂ 19 ÈÕ
´¦ÀíÆ÷ÒѾ­Ñݱä
ΪÕë¶ÔÐéÄâ»·¾³Ìá¸ßÐÔÄÜ£¬µ« I/O ·½Ãæ·¢ÉúÁËʲô±ä»¯ÄØ£¿Á˽âÒ»ÖÖÃûΪÉ豸£¨»ò PCI£©Í¸´«£¨passthrough£©µÄ I/O
ÐÔÄÜÔöÇ¿¼¼Êõ£¬ÕâÖÖ´´Ð¼¼Êõͨ¹ýʹÓÃÀ´×Ô Intel® (VT-d) »ò AMD (IOMMU) µÄÓ²¼þÖ§³Ö¸Ä½ø PCI É豸µÄÐÔÄÜ¡£




¼ÓÈë My developerWorks ÉϵÄÂÌɫС×é
ÔÚ My developerWorks É쵀 GReen IT
Report ¿Õ¼ä
ºÍ ÂÌÉ«¼ÆËãС×é
ÉÏÌÖÂÛ¹ØÓÚÄÜÔ´¡¢Ð§Âʺͻ·¾³µÄÖ÷Ìâ²¢¹²Ïí×ÊÔ´¡£
ƽ̨ÐéÄ⻯ÊÇÔÚÁ½¸ö»ò¶à¸ö²Ù×÷ϵͳ֮¼ä¹²ÏíÒ»¸öƽ̨£¬ÒÔ±ã¸üÓÐЧµØÀûÓÃ×ÊÔ´¡£µ«Æ½Ì¨

²¢²»Ö»ÊÇÒâζ×ÅÒ»¸öÒÔÉϵĴ¦ÀíÆ÷£¬Ëü»¹°üº¬×é³Éƽ̨µÄÆäËûÖØÒªÔªËØ£¬±ÈÈç´æ´¢Æ÷¡¢ÍøÂçºÍÆäËûÓ²¼þ×ÊÔ´¡£Ä³Ð©Ó²¼þ×ÊÔ´¿ÉÒÔÇáËÉÐéÄ⻯£¬±ÈÈç´¦ÀíÆ÷ºÍ´æ´¢Æ÷£»
¶øÁíһЩӲ¼þ×ÊÔ´Ôò²»È»£¬±ÈÈçÊÓÆµÊÊÅäÆ÷ºÍ´®¿Ú¡£µ±¹²Ïí²»¿ÉÄÜ»òûÓÃʱ£¬Peripheral Component Interconnect
(PCI) ͸´«¼¼ÊõÌṩÓÐЧʹÓÃÕâЩ×ÊÔ´µÄ·½·¨¡£±¾ÎÄ̽Ë÷͸´«£¨passthrough£©
¼¼ÊõµÄ¸ÅÄî¼°ÆäÔÚ¹ÜÀí³ÌÐò
£¨hypervisor£©ÖеÄʵÏÖ£¬Ïêϸ½éÉÜÖ§³ÖÕâ¸ö×îд´Ð¼¼ÊõµÄ¹ÜÀí³ÌÐò¡£
ƽ̨É豸ģÄâ
ÔÚ̽Ë÷͸´«¼¼Êõ֮ǰ£¬ÈÃÎÒÃÇÏÈÌÖÂÛÒ»ÏÂÈç½ñÉ豸ģÄâÔÚÁ½¸ö¹ÜÀí³ÌÐò¼Ü¹¹ÖÐÊÇÈçºÎ¹¤×÷µÄ¡£µÚÒ»¸ö¼Ü¹¹½«É豸ģÄâÕûºÏµ½¹ÜÀí³ÌÐòÖУ¬¶øµÚ¶þ¸ö¼Ü¹¹
½«É豸ģÄâÍÆµ½¹ÜÀí³ÌÐòÖ®ÍâµÄÒ»¸öÓ¦ÓóÌÐòÖС£
¹ÜÀí³ÌÐòÖеÄÉ豸ģÄâ
ÊÇÔÚ VMware
¹¤×÷Õ¾²úÆ·£¨Ò»¸ö»ùÓÚ²Ù×÷ϵͳµÄ¹ÜÀí³ÌÐò£©ÖÐʵÏÖµÄÒ»¸ö¹«¹²·½·¨¡£ÔÚÕâ¸öÄ£ÐÍÖУ¬¹ÜÀí³ÌÐò°üº¬¸÷ÖÖ¿Í»§²Ù×÷ϵͳÄܹ»¹²ÏíµÄ¹«¹²É豸£¬ÈçÐéÄâ´ÅÅÌ¡¢ÐéÄâÍøÂç
ÊÊÅäÆ÷ºÍÆäËû±ØÐèµÄÆ½Ì¨ÔªËØ¡£Õâ¸öÌØ¶¨Ä£ÐÍÈçͼ 1 Ëùʾ¡£
ͼ 1. »ùÓÚ¹ÜÀí³ÌÐòµÄÉ豸ģÄâ


µÚ¶þ¸ö¼Ü¹¹³ÆÎªÓû§¿Õ¼äÉ豸ģÄâ
£¨¼ûͼ
2£©¡£¹ËÃû˼Ò壬ÕâÖÖÉ豸ģÄâÊÇÔÚÓû§¿Õ¼äÖÐʵÏֵ쬶ø²»Ç¶Èëµ½¹ÜÀí³ÌÐòÖС£QEMU£¨²»½öÌṩÉ豸ģÄ⣬»¹Ìṩһ¸ö¹ÜÀí³ÌÐò£©ÌṩÉ豸ģÄ⣬ÓÃÓÚ´óÁ¿¶À
Á¢¹ÜÀí³ÌÐò£¬Èç Kernel-based Virtual Machine (KVM) ºÍ VirtualBox
µÈ¡£Õâ¸öÄ£Ð͸ü¾ßÓÅÊÆ£¬ÒòΪÉ豸ģÄâ¶ÀÁ¢ÓÚ¹ÜÀí³ÌÐò£¬Òò¶ø¿ÉÒÔÔÚ¶à¸ö¹ÜÀí³ÌÐòÖ®¼ä¹²Ïí¡£ÁíÍ⣬Õâ¸öÄ£ÐÍ»¹Ö§³ÖÈÎÒâÉ豸ģÄ⣬ÎÞÐë¹ÜÀí³ÌÐò£¨ÒÔÌØÈ¨×´Ì¬ÔË
ÐУ©¸ºµ£Õâ¸ö¹¦ÄÜ¡£
ͼ 2. Óû§¿Õ¼äÉ豸ģÄâ


½«É豸ģÄâ´Ó¹ÜÀí³ÌÐòÍÆÏòÓû§¿Õ¼äÓÐһЩÃ÷ÏÔµÄÓÅÊÆ£¬×î´óµÄÓÅÊÆÉæ¼°ËùνµÄ¿ÉÐżÆËã»ù´¡£


Ïà¹ØÎĵµ£º

ʵսLinux Bluetooth±à³Ì£¨Èý£© HCI²ã±à³Ì

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ÏÂCÓïÑÔ)

²Ù×÷ϵͳµÄÒ»¸ö¾­µäÎÊÌâÊÇ"Éú²úÕß-Ïû·ÑÕß"ÎÊÌâ, ÕâÉæ¼°Í¬²½ÐźÅÁ¿ºÍ»¥³âÐźÅÁ¿µÄÓ¦ÓÃ, ÔÚÕâÀï,ÎÒÓÃÏ̵߳Äͬ²½ºÍ»¥³âÀ´ÊµÏÖ.
/*
* author ÕÅÎÄ
* 2008/06/20
*/
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <pthread.h>
#include <semaphore.h> ......

Linux ιʶøÖªÐ ³£ÓòÙ×÷

¼Ç¼³£ÓòÙ×÷£º
Îļþ¼°Îļþ¼ÐÏà¹Ø
=======================================================================
Îļþ²Ù×÷(rm)£»
Îļþ¼Ð²Ù×÷£¨rmdir ɾ³ý¿ÕÎļþ£¬rm -rf Ŀ¼Ãûɾ³ý·Ç¿ÕÎļþ¼Ð£©;
ÎļþÒÆ¶¯£ºmv cp¶¼¿ÉÒÔ£»
½âѹËõ£ºtar 
¸ñʽ£º tar Ñ¡Ïî ÎļþĿ¼Áбí 
¹¦ÄÜ£º ¶ÔÎļþÄ¿ ......

Linux Assembly "Hello World" Tutorial, CS 200

 
by Bjorn Chambless
Introduction
The following is designed familiarize the reader with programming in x86 (AT&T
style, that produced by gcc) assembly under Linux and how to interface assembly
and higher-level language code (i.e. C). The tutorial will also briefly cover
debugging yo ......

LinuxÏÂͨ¹ýiptablesץȡtcpÁ¬½Ó

1.1.1   iptablesÔ­Àí
 
1.1.2   ÒÔ±¾µØÎªÔ´µÄ°ü·¾¶
Step
Table
Chain
Comment
1
 
 
±¾µØ³ÌÐò£¨±ÈÈ磬·þÎñ³ÌÐò»ò¿Í»§³ÌÐò£©
2
 
 
·ÓÉÅжϣ¬ÒªÊ¹ÓÃÔ´µØÖ·£¬Íâ³ö½Ó¿Ú£¬»¹ÓÐÆäËûһЩÐÅÏ¢¡£
3
mangle
OUTPUT
ÔÚÕâ¶ù¿ÉÒÔmangle°ü¡£½¨Òé²»ÒªÔÚÕâ¶ù×ö¹ýÂË£¬¿ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ