{"id":37939,"date":"2019-10-31T22:20:41","date_gmt":"2019-10-31T19:20:41","guid":{"rendered":"https:\/\/prohoster.info\/blog\/obshhie-printsipy-raboty-qemu-kvm\/"},"modified":"2019-10-31T22:20:41","modified_gmt":"2019-10-31T19:20:41","slug":"obshhie-printsipy-raboty-qemu-kvm","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/obshhie-printsipy-raboty-qemu-kvm","title":{"rendered":"QEMU-KVMi t\u00f6\u00f6tamise \u00fcldp\u00f5him\u00f5tted","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"QEMU-KVMi t\u00f6\u00f6tamise \u00fcldp\u00f5him\u00f5tted\" src=\"\/wp-content\/uploads\/2019\/09\/6619dbfb022d3fdb87159a33d4d27466.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMinu praegune arusaam:<\/p>\n<h2>1) KVM<\/h2>\n<p>\nKVM (Kernel-based Virtual Machine) \u2013 h\u00fcperviisor (VMM \u2013 Virtual Machine Manager), mis t\u00f6\u00f6tab moodulina Linuxi operatsioonis\u00fcsteemis. H\u00fcpperviisori eesm\u00e4rk on k\u00e4ivitada tarkvara fantoomkeskkonnas ja samal ajal varjata selle tarkvara jaoks reaalset f\u00fc\u00fcsilist riistvara, millel see t\u00f6\u00f6tab. H\u00fcpperviisor toimib nagu \"vahendaja\" f\u00fc\u00fcsilise riistvara (host) ja virtuaalse operatsioonis\u00fcsteemi (k\u00fclaline) vahel.<\/p>\n<p>Kuna KVM on Linuxi tuumamoodul, saab ta tuumalt k\u00f5ik vajalikud omadused (m\u00e4luhaldus, ajastaja jne). Seega, l\u00f5puks j\u00f5uavad k\u00f5ik need eelised ka k\u00fclalistele (kuna k\u00fclalised t\u00f6\u00f6tavad h\u00fcperviisoril, mis t\u00f6\u00f6tab Linuxi operatsioonis\u00fcsteemi tuumas).<\/p>\n<p>KVM on v\u00e4ga kiire, kuid sellest \u00fcksi ei piisa virtuaalse operatsioonis\u00fcsteemi k\u00e4ivitamiseks, kuna selleks on vajalik I\/O emulatsioon. KVM kasutab I\/O (protsessor, kettad, v\u00f5rk, video, PCI, USB, seerialiidid jne) jaoks QEMU.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>2) QEMU<\/h2>\n<p>\nQEMU (Quick Emulator) \u2013 erinevate seadmete emulaator, mis v\u00f5imaldab k\u00e4ivitada operatsioonis\u00fcsteeme, mis on m\u00f5eldud \u00fchele arhitektuurile, teisel (n\u00e4iteks, ARM \u2013&gt; x86). Lisaks protsessorile emuleerib QEMU ka erinevaid perifeerseadmeid: v\u00f5rkaardeid, HDD-sid, videokaarte, PCI, USB jne.<\/p>\n<p>See t\u00f6\u00f6tab nii:<\/p>\n<p>Juhised\/binaarkood (n\u00e4iteks, ARM) muudetakse vahepealseks platvormist s\u00f5ltumatuks koodiks TCG (Tiny Code Generator) konverteri abil ja seej\u00e4rel muudetakse see platvormist s\u00f5ltumatu binaarkood sihtinstruktsioonideks\/koodiks (n\u00e4iteks, x86).<\/p>\n<p>ARM \u2013&gt; vaheline_kood \u2013&gt; x86<\/p>\n<p>Sisuliselt v\u00f5ite k\u00e4ivitada virtuaalmasinad QEMU-s igasugustes hostides, isegi vanade protsessorite mudelitel, mis ei toeta Intel VT-x (Intel Virtualization Technology) \/ AMD SVM (AMD Secure Virtual Machine). Kuid sel juhul t\u00f6\u00f6tab see \u00fcsna aeglaselt, kuna t\u00e4idetav binaarkood tuleb jooksvalt kaks korda \u00fcmber kompileerida TCG abil (TCG on Just-in-Time kompilaator).<\/p>\n<p>Seega, QEMU ise on \u00e4\u00e4rmiselt v\u00f5imas, kuid t\u00f6\u00f6tab v\u00e4ga aeglaselt.<\/p>\n<h2>3) Protection rings<\/h2>\n<p>\n<img decoding=\"async\" alt=\"QEMU-KVMi t\u00f6\u00f6tamise \u00fcldp\u00f5him\u00f5tted\" src=\"\/wp-content\/uploads\/2019\/09\/01df130d94b54251f517f776c99009f6.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nBinaarne tarkvarakood protsessorites ei t\u00f6\u00f6ta lihtsalt niisama, vaid see asub erinevatel tasanditel (r\u00f5ngad \/ Protection rings), millel on erinevad juurdep\u00e4\u00e4sutasemed andmetele, alates k\u00f5ige privilegeeritud (Ring 0) kuni k\u00f5ige piiratud, reguleeritud ja \"kinni keeratud\" (Ring 3).<\/p>\n<p>Operatsioonis\u00fcsteem (OSi s\u00fcdamik) t\u00f6\u00f6tab Ring 0 (kernel mode) ja v\u00f5ib teha k\u00f5ike, mis tahab, mis puudutab andmeid ja seadmeid. Kasutaja rakendused t\u00f6\u00f6tavad Ring 3 (user mode) tasemel ja ei tohi teha k\u00f5ike, mida nad soovivad, vaid peavad iga kord k\u00fcsima luba teatud toimingute sooritamiseks (seega on kasutaja rakendustel juurdep\u00e4\u00e4s ainult oma andmetele ja nad ei saa \"v\u00e4lja ronida\" kellegi teise \"liivakastist\"). Ring 1 ja 2 on m\u00f5eldud draiverite kasutamiseks.<\/p>\n<p>Enne Intel VT-x \/ AMD SVM leiutamist t\u00f6\u00f6tasid h\u00fcperviisorid Ring 0-l, samas kui k\u00fclastajad t\u00f6\u00f6tasid Ring 1-l. Kuna Ring 1-l ei olnud piisavalt \u00f5igusi operatsioonis\u00fcsteemi normaalseks toimimiseks, pidi h\u00fcperviisor igal korral, kui k\u00fclastuss\u00fcsteem tegi privileegitud kutse, selle kutse jooksvalt muutma ja seda Ring 0-l t\u00e4itma (kuid sel viisil, nagu teeb QEMU). St, k\u00fclastaja binaarkood <b><i>EI<\/i><\/b> t\u00e4ideti otse protsessoril ning iga kord tehti jooksvalt mitu vahepealset muudatust.<\/p>\n<p>T\u00f6\u00f6koormus oli m\u00e4rkimisv\u00e4\u00e4rne ja see oli suur probleem, seega v\u00e4ljastasid protsessoritootjad iseseisvalt laiendatud k\u00e4skude komplektid (Intel VT-x \/ AMD SVM), mis v\u00f5imaldasid k\u00fclastava OSi koodi <b><i>OTSE<\/i><\/b> hosti protsessoril (m\u00f6\u00f6da k\u00f5iki aegan\u00f5udvaid vaheetappe, nagu see oli varem).<\/p>\n<p>Intel VT-x \/ AMD SVM tekkimisega loodi spetsiaalne uus Ring -1 (miinus \u00fcks) tase. N\u00fc\u00fcd t\u00f6\u00f6tab h\u00fcperviisor sellel tasemel ja k\u00fclastajad t\u00f6\u00f6tavad Ring 0-l ning saavad privileegitud juurdep\u00e4\u00e4su CPU-le.<\/p>\n<p>St, l\u00f5pptulemusena:<\/p>\n<ul>\n<li>host t\u00f6\u00f6tab Ring 0-l<\/li>\n<li>k\u00fclastajad t\u00f6\u00f6tavad Ring 0-l<\/li>\n<li>h\u00fcperviisor t\u00f6\u00f6tab Ring -1-l<\/li>\n<\/ul>\n<p><\/p>\n<h2>4) QEMU-KVM<\/h2>\n<p>\nKVM annab k\u00fclastajatele juurdep\u00e4\u00e4su Ring 0-le ja kasutab QEMU-d I\/O simuleerimiseks (protsessor, kettad, v\u00f5rkd, video, PCI, USB, seerianumbrid jne, mida \"n\u00e4evad\" ja millega t\u00f6\u00f6tavad k\u00fclastajad).<\/p>\n<p>Sealt ka QEMU-KVM (v\u00f5i KVM-QEMU) \ud83d\ude42<\/p>\n<p><i>AUHINNAD<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/www.ionos.com\">Pilt t\u00e4helepanu t\u00f5mbamiseks<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/www.researchgate.net\/profile\/Roberto_Pietro\">Pilt kaitser\u00f5ngastest<\/a><\/noindex><\/i><\/p>\n<p><i>P.S. Selle artikli tekst avaldati algselt Telegrami kanalil <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/ru_voip\">@RU_Voip<\/a><\/noindex> vastuseks \u00fche kanali osaleja k\u00fcsimusele.<\/p>\n<p>Palun kirjutage kommentaaridesse, millistes kohtades ma teemat valesti m\u00f5istan v\u00f5i kui on midagi lisada.<\/p>\n<p>Ait\u00e4h!<\/i><br \/>\n<br \/>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/466549\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041c\u043e\u0435 \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435: 1) KVM KVM (Kernel-based Virtual Machine) \u2013 \u0433\u0438\u043f\u0435\u0440\u0432\u0438\u0437\u043e\u0440 (VMM \u2013 Virtual Machine Manager), \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0439 \u0432 \u0432\u0438\u0434\u0435 \u043c\u043e\u0434\u0443\u043b\u044f \u043d\u0430 \u041e\u0421 Linux. \u0413\u0438\u043f\u0435\u0440\u0432\u0438\u0437\u043e\u0440 \u043d\u0443\u0436\u0435\u043d \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043d\u0435\u043a\u0438\u0439 \u0441\u043e\u0444\u0442 \u0432 \u043d\u0435\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 (\u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439) \u0441\u0440\u0435\u0434\u0435 \u0438 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c, \u0441\u043a\u0440\u044b\u0432\u0430\u0442\u044c \u043e\u0442 \u044d\u0442\u043e\u0433\u043e \u0441\u043e\u0444\u0442\u0430 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0435 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0436\u0435\u043b\u0435\u0437\u043e, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u044d\u0442\u043e\u0442 \u0441\u043e\u0444\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u0413\u0438\u043f\u0435\u0440\u0432\u0438\u0437\u043e\u0440 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432 \u0440\u043e\u043b\u0438 \u00ab\u043f\u0440\u043e\u043a\u043b\u0430\u0434\u043a\u0438\u00bb [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":28470,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-37939","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041c\u043e\u0435 \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435: 1) KVM KVM.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/obshhie-printsipy-raboty-qemu-kvm\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041e\u0431\u0449\u0438\u0435 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u044b \u0440\u0430\u0431\u043e\u0442\u044b QEMU-KVM | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041c\u043e\u0435 \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435: 1) KVM KVM.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/obshhie-printsipy-raboty-qemu-kvm\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:20:41+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:20:41+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47QEMU-KVM t\u00f6\u00f6p\u00f5him\u00f5tted | ProHoster","description":"Minu praegune arusaam: 1) KVM KVM.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/obshhie-printsipy-raboty-qemu-kvm","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041e\u0431\u0449\u0438\u0435 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u044b \u0440\u0430\u0431\u043e\u0442\u044b QEMU-KVM | ProHoster","og:description":"\u041c\u043e\u0435 \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435: 1) KVM KVM.","og:url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/obshhie-printsipy-raboty-qemu-kvm","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:20:41+00:00","article:modified_time":"2019-10-31T19:20:41+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"37939","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 19:51:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:18:22","updated":"2026-01-23 19:51:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/37939","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=37939"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/37939\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/28470"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=37939"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=37939"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=37939"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}