د QEMU-KVM عمومي عملیاتي اصول

د QEMU-KVM عمومي عملیاتي اصول

زما اوسنۍ پوهه:

1) KVM

KVM (د کرنل پراساس مجازی ماشین) یو هایپروایزر (VMM - مجازی ماشین مدیر) دی چې په لینکس OS کې د ماډل په توګه پرمخ ځي. په غیر موجود (مجازی) چاپیریال کې د ځینې سافټویر چلولو لپاره یو هایپروایزر ته اړتیا ده او په ورته وخت کې له دې سافټویر څخه اصلي فزیکي هارډویر پټ کړئ چې دا سافټویر چلوي. هایپروایزر د فزیکي هارډویر (میزبان) او مجازی OS (میلمه) تر مینځ د "سپیسر" په توګه کار کوي.

څرنګه چې KVM د لینکس کرنل یو معیاري ماډل دی، دا د کرنل څخه ټول اړین توکي ترلاسه کوي (د حافظې مدیریت، مهالویش، او نور). او په همدې اساس ، په پای کې ، دا ټولې ګټې میلمنو ته ځي (ځکه چې میلمانه په هایپروایزر کار کوي چې د لینکس OS کرنل کې / چلیږي).

KVM خورا ګړندی دی ، مګر پخپله دا د مجازی OS چلولو لپاره کافي ندي ، ځکه چې ... دا I/O ایمولیشن ته اړتیا لري. د I/O لپاره (CPU، ډیسک، شبکه، ویډیو، PCI، USB، سریال بندرونه، او نور) KVM QEMU کاروي.

2) QEMU

QEMU (چټک ایمولیټر) د مختلف وسیلو لپاره ایمولیټر دی چې تاسو ته اجازه درکوي عملیاتي سیسټمونه په بل کې د یو معمارۍ لپاره ډیزاین شوي چل کړئ (د مثال په توګه ، ARM -> x86). د پروسیسر سربیره، QEMU مختلف پردیی وسایل جذبوي: د شبکې کارتونه، HDD، ویډیو کارتونه، PCI، USB، او نور.

دا په دې ډول کار کوي:

لارښوونې/بائنري کوډ (د مثال په توګه، ARM) د TCG (کوچني کوډ جنریټر) کنورټر په کارولو سره منځګړی پلیټ فارم - خپلواک کوډ ته بدلیږي او بیا دا پلیټ فارم - خپلواک بائنری کوډ د هدف لارښوونو/کوډ ته بدلیږي (د مثال په توګه x86).

ARM -> منځنۍ_کوډ -> x86

په لازمي ډول ، تاسو کولی شئ په هر کوربه کې په QEMU کې مجازی ماشینونه چل کړئ ، حتی د زړو پروسیسر ماډلونو سره چې د Intel VT-x (Intel Virtualization Technology) / AMD SVM (AMD خوندي مجازی ماشین) ملاتړ نه کوي. په هرصورت ، پدې حالت کې ، دا به خورا ورو کار وکړي ، د دې حقیقت له امله چې اجرا کوونکی بائنری کوډ باید دوه ځله په الوتنه کې بیا تنظیم شي ، د TCG په کارولو سره (TCG یوازې په وخت کې تالیف کونکی دی).

هغوی. QEMU پخپله میګا ښه دی، مګر دا خورا ورو کار کوي.

3) د ساتنې حلقې

د QEMU-KVM عمومي عملیاتي اصول

په پروسیسرونو کې د بائنری برنامه کوډ د یو دلیل لپاره کار کوي ، مګر په مختلف کچو کې موقعیت لري (رینګ / محافظت حلقې) د ډیټا لاسرسي مختلف کچو سره ، له خورا امتیاز لرونکي (رنګ 0) څخه تر خورا محدود ، تنظیم شوي او "د مغز سخت شوي سره. (۳ حلقه).

عملیاتي سیسټم (OS kernel) په Ring 0 (kernel mode) کې پرمخ ځي او کولی شي هر هغه څه چې وغواړي د هر ډول ډیټا او وسیلو سره ترسره کړي. د کاروونکي غوښتنلیکونه د Ring 3 کچې (د کارونکي حالت) کې کار کوي او اجازه نلري چې هر څه چې دوی یې غواړي ترسره کړي، مګر پرځای یې باید هر ځل د ځانګړي عملیاتو ترسره کولو لپاره د لاسرسي غوښتنه وکړي (په دې توګه، د کاروونکي غوښتنلیکونه یوازې خپل ډیټا ته لاسرسی لري او نشي کولی "ترلاسه کړي. د بل چا په شګو بکس کې). حلقه 1 او 2 د چلوونکو لخوا د کارولو لپاره دي.

د Intel VT-x/AMD SVM له ایجاد څخه مخکې، هایپروایزر په رینګ 0 کې چلیدل، او میلمانه په رینګ 1 کې چلیدل. ځکه چې Ring 1 د OS د نورمال عملیاتو لپاره کافي حقونه نلري، د میلمستون سیسټم څخه د هر امتیاز لرونکي زنګ سره. هایپروایزر باید دا زنګ په الوتنه کې بدل کړي او په رینګ 0 کې یې اجرا کړي (لکه د QEMU په څیر). هغوی. میلمه بائنری نه په مستقیم ډول په پروسیسر کې اجرا شوی و، او هر ځل په الوتنه کې د څو منځنیو بدلونونو څخه تیر شو.

سر د پام وړ و او دا یوه لویه ستونزه وه، او بیا د پروسیسر جوړونکو، په خپلواکه توګه د یو بل څخه، د لارښوونو پراخه لړۍ خپره کړه (Intel VT-x / AMD SVM) چې د میلمنو OS کوډ اجرا کولو ته اجازه ورکوي. په مستقیم ډول په کوربه پروسیسر کې (د هر قیمتي منځګړیتوب ګامونو څخه تیریدل، لکه څنګه چې مخکې قضیه وه).

د Intel VT-x / AMD SVM په راتګ سره، یو ځانګړی نوی حلقوي کچه -1 (منفی یو) رامینځته شو. او اوس هایپروایسر په دې چلیږي ، او میلمانه په رینګ 0 چلیږي او CPU ته امتیازي لاسرسی ترلاسه کوي.

هغوی. بالاخره:

  • کوربه په Ring 0 چلیږي
  • میلمانه په Ring 0 کار کوي
  • هایپروایسر په رینګ -1 چلوي

4) QEMU-KVM

KVM میلمنو ته رینګ 0 ته لاسرسی ورکوي او د I/O تقلید لپاره QEMU کاروي (پروسیسر، ډیسکونه، شبکه، ویډیو، PCI، USB، سریال پورټونه، او داسې نور چې میلمانه "وګوري" او ورسره کار کوي).

له همدې امله QEMU-KVM (یا KVM-QEMU):)

ډيپارټمنټ
د پام جلبولو لپاره انځور
د محافظتي حلقو انځور

PS د دې مقالې متن په اصل کې په ټیلیګرام چینل کې خپور شوی و @RU_Voip د چینل د ګډون کوونکو څخه د یوې پوښتنې د ځواب په توګه.

په نظرونو کې ولیکئ چیرې چې زه په موضوع سم نه پوهیږم یا که د اضافه کولو لپاره کوم څه شتون ولري.

ساپی!

سرچینه: www.habr.com

Add a comment