Virtio£ºÕë¶Ô Linux µÄ I/O ÐéÄ⻯¿ò¼Ü
¸Å¶øÑÔÖ®£¬virtio
ÊǰëÐéÄ⻯ hypervisor ÖÐλÓÚÉ豸֮ÉϵijéÏó²ã¡£virtio
ÓÉ Rusty Russell ¿ª·¢£¬Ëûµ±Ê±µÄÄ¿µÄÊÇÖ§³Ö×Ô¼ºµÄÐéÄ⻯½â¾ö·½°¸ lguest
¡£±¾ÎÄÔÚ¿ªÆªÊ±½éÉܰëÐéÄ⻯ºÍÄ£ÄâÉ豸£¬È»ºó̽Ë÷ virtio
µÄϸ½Ú¡£±¾ÎĵÄÖØµãÊÇÀ´×Ô 2.6.30 Äں˷¢ÐаæµÄ virtio
¿ò¼Ü¡£
Linux ÊÇ hypervisor չ̨¡£ÈçÎÒµÄ ÆÊÎö Linux hypervisor
ËùÊö£¬Linux Ìṩ¸÷ÖÖ hypervisor ½â¾ö·½°¸£¬ÕâЩ½â¾ö·½°¸¶¼ÓÐ×Ô¼ºµÄÌØµãºÍÓŵ㡣ÕâЩ½â¾ö·½°¸°üÀ¨ Kernel-based Virtual Machine (KVM)¡¢lguest
ºÍ User-mode Linux µÈ¡£ÔÚ Linux ÉÏÅ䱸ÕâЩ²»Í¬µÄ hypervisor ½â¾ö·½°¸»á¸ø²Ù×÷ϵͳ´øÀ´¸ºµ££¬¸ºµ£µÄ´óСȡ¾öÓÚ¸÷¸ö½â¾ö·½°¸µÄÐèÇ󡣯äÖеÄÒ»ÏÏúΪÉ豸µÄÐéÄ⻯¡£virtio
²¢Ã»ÓÐÌṩ¶àÖÖÉ豸ģÄâ»úÖÆ£¨Õë¶ÔÍøÂç¡¢¿éºÍÆäËûÇý¶¯³ÌÐò£©£¬¶øÊÇΪÕâЩÉ豸ģÄâÌṩһ¸öͨÓõÄǰ¶Ë£¬´Ó¶ø±ê×¼»¯½Ó¿ÚºÍÔö¼Ó´úÂëµÄ¿çÆ½Ì¨ÖØÓá£
ÍêÈ«ÐéÄ⻯ºÍ°ëÐéÄ⻯
¼ÓÈë My developerWorks ÉϵÄÂÌɫС×é
ÔÚ My developerWorks É쵀 GReen IT Report ¿Õ¼ä
ºÍ ÂÌÉ«¼ÆËãС×é
ÉÏÌÖÂÛ¹ØÓÚÄÜÔ´¡¢Ð§Âʺͻ·¾³µÄÖ÷Ìâ²¢¹²Ïí×ÊÔ´¡£
ÈÃÎÒÃÇ¿ìËÙÌÖÂÛÒ»ÏÂÁ½ÖÖÀàÐÍÍêÈ«²»Í¬µÄÐéÄ⻯ģʽ£ºÍêÈ«ÐéÄ⻯ºÍ°ëÐéÄ⻯¡£ÔÚÍêÈ«ÐéÄ⻯
ÖУ¬À´±ö²Ù×÷ϵͳÔËÐÐÔÚλÓÚÎïÀí»úÆ÷É쵀 hypervisor Ö®ÉÏ¡£À´±ö²Ù×÷ϵͳ²¢²»ÖªµÀËüÒѱ»ÐéÄ⻯£¬²¢ÇÒ²»ÐèÒªÈκθü¸Ä¾Í¿ÉÒÔÔÚ¸ÃÅäÖÃϹ¤×÷¡£Ïà·´£¬ÔÚ°ëÐéÄ⻯
ÖУ¬À´±ö²Ù×÷ϵͳ²»½öÖªµÀËüÔËÐÐÔÚ hypervisor Ö®ÉÏ£¬»¹°üº¬ÈÃÀ´±ö²Ù×÷ϵͳ¸ü¸ßЧµØ¹ý¶Éµ½ hypervisor µÄ´úÂ루¼û ͼ 1
£©¡£
ÔÚ
ÍêÈ«ÐéÄ⻯ģʽÖУ¬hypervisor
±ØÐëÄ£ÄâÉ豸Ӳ¼þ£¬ËüÊÇÔڻỰµÄ×îµÍ¼¶±ð½øÐÐÄ£ÄâµÄ£¨ÀýÈç£¬ÍøÂçÇý¶¯³ÌÐò£©¡£¾¡¹ÜÔڸóéÏóÖÐÄ£ÄâºÜ¸É¾»£¬µ«ËüͬʱҲÊÇ×îµÍЧ¡¢×Ôӵġ£ÔÚ°ëÐéÄ⻯ģʽ
ÖУ¬À´±ö²Ù×÷ϵͳºÍ hypervisor Äܹ»¹²Í¬ºÏ×÷£¬ÈÃÄ£Äâ¸ü¼Ó¸ßЧ¡£°ëÐéÄ⻯·½·¨µÄȱµãÊDzÙ×÷ϵͳ֪µÀËü±»ÐéÄ⻯£¬²¢ÇÒÐèÒªÐ޸IJÅÄܹ¤×÷¡£
ͼ 1. ÔÚÍêÈ«ÐéÄ⻯ºÍ°ëÐéÄ⻯»·¾³ÏµÄÉ豸ģÄâ
Ó²¼þËæ×ÅÐéÄ⻯¼¼Êõ¶ø²»¶Ï¸Ä±ä¡£ÐµĴ¦ÀíÆ÷ͨ¹ýÄÉÈë¸ß¼¶Ö¸ÁîÀ´ÈÃÀ´±ö²Ù×÷ϵͳµ½ hypervisor µÄ¹ý¶É¸ü¼Ó¸ßЧ¡£´ËÍ⣬Ӳ¼þÒ²Ëæ×ÅÊäÈë/Êä³ö£¨I/O£©ÐéÄ⻯¶ø²»¶Ï¸Ä±ä£¨²Î¼û ²Î¿¼×ÊÁÏ
Á˽â Peripheral Controller Interconnect [PCI] passthrough ºÍ single- and
multi-root I/O ÐéÄ⻯£©¡£
virtio µÄÌæ»»Õß
virtio
²¢²»ÊǸÃÁìÓòÖеÄΨһ°ÔÖ÷¡£Xen Ìṩ°ë
Ïà¹ØÎĵµ£º
Ò»£ºLinux¶àÏ̱߳à³Ì£º
Ị̈߳¨thread£©¼¼ÊõÔçÔÚ60Äê´ú¾Í±»Ìá³ö£¬µ«ÕæÕýÓ¦ÓöàÏ̵߳½²Ù×÷ϵͳÖÐÈ¥£¬ÊÇÔÚ80Äê´úÖÐÆÚ£¬solarisÊÇÕâ·½ÃæµÄٮٮÕß¡£´«Í³µÄUnixÒ²Ö§³ÖÏ̵߳ĸÅÄµ«ÊÇÔÚÒ»¸ö½ø³Ì£¨process£©ÖÐÖ»ÔÊÐíÓÐÒ»¸öỊ̈߳¬ÕâÑù¶àÏ߳̾ÍÒâζ×Å¶à½ø³Ì¡£ÏÖÔÚ£¬¶àÏ̼߳¼ÊõÒѾ±»Ðí ......
¾ßÌå²½ÖèÈçÏ£º
£¨Ò»£©´ò¿ªSource Insight£¬µ¥»÷¡¾ÏîÄ¿¡¿°´Å¥£¬µ¯³öÏÂÀ²Ëµ¥¡£
£¨¶þ£©µ¥»÷¡¾ÐÂÏîÄ¿¡¿°´Å¥£¬µ¯³ö¡¾ÐÂÏîÄ¿¡¿¶Ô»°¿ò£¬ÊäÈëÏîÄ¿ÃûºÍ´æ·Å·¾¶£¬µ¥»÷¡¾È·¶¨¡¿°´Å¥¡£Èçͼ1Ëùʾ¡£
ͼ1 ÐÂÏîÄ¿¶Ô»°¿ò
ÎÄÕÂÀ´Ô´£ºhttp://top-e.org/jiaoshi/html/539.html
£¨Èý£©µ¯³ö¡¾Ìí¼Óɾ³ýÎļþ¡¿¶Ô»°¿ò£¬ÔÚÄÚºËÔ´´ú ......
Java¿ÉÒÔÖ±½Óµ÷ÓÃLinuxÃüÁÐÎʽÈçÏ£º
Runtime.getRuntime().exec(command)
¾ÙÀý£ºÔËÐÐls,topÃüÁî¿ÉÒÔÕâÑù£º
Runtime.getRuntime().exec("ls");
µ«ÊÇÕâÑùÖ´ÐÐʱûÓÐÈκÎÊä³ö£¬ÔÒò£º
µ÷ÓÃRuntime.exec·½·¨½«²úÉúÒ»¸ö±¾µØµÄ½ø³Ì,²¢·µ»ØÒ»¸öProcess×ÓÀàµÄʵÀý£¬
£¨×¢Ò⣺Runtim ......
LinuxµÄϵͳµ÷ÓÃÊÇͨ¹ýÖжÏÀ´ÊµÏֵ쬴ÓÓû§Ì¬½øÈëϵͳ̬¡£Óû§Ì¬ºÍϵͳ̬ÓкÜÇåÎúµÄÇø·Ö£¬±£Ö¤Á˰²È«¡£ÏµÍ³µ÷ÓñíÊÇϵͳµ÷ÓõÄÌø×ª±í¡£Ê¹ÓüĴæÆ÷´«µÝ²ÎÊý£¬¶ø²»ÊÇÕ»£¬ÒòΪÓû§Ì¬ÊÇÎÞ·¨·ÃÎÊϵͳջµÄ¡£µØÖ·´íÎóÊÇͨ¹ýÒ³ÃæÒì³£À´´¦ÀíµÄ¡£
LinuxÄں˲¢²»Ö§³ÖÕæÕýÒâÒåÉϵÄỊ̈߳¬
LinuxThreads
ÊÇÓÃÓëÆÕͨ½ø³Ì¾ßÓÐͬÑùÄÚºË ......