{"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\/ro\/blog\/administrirovanie\/obshhie-printsipy-raboty-qemu-kvm","title":{"rendered":"Principiile generale de func\u021bionare ale QEMU-KVM","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Principiile generale de func\u021bionare ale QEMU-KVM\" src=\"\/wp-content\/uploads\/2019\/09\/6619dbfb022d3fdb87159a33d4d27466.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u00cen\u021belegerea mea actual\u0103:<\/p>\n<h2>1) KVM<\/h2>\n<p>\nKVM (Kernel-based Virtual Machine) \u2013 un hipervizor (VMM \u2013 Virtual Machine Manager) care func\u021bioneaz\u0103 ca un modul pe sistemul de operare Linux. Hipervizorul este necesar pentru a rula un anumit software \u00eentr-un mediu virtual (inexistent) \u0219i, \u00een acela\u0219i timp, pentru a ascunde hardware-ul fizic real pe care ruleaz\u0103 acest software. Hipervizorul ac\u021bioneaz\u0103 ca un \u201eintermediar\u201d \u00eentre hardware-ul fizic (gazda) \u0219i sistemul de operare virtual (gost).<\/p>\n<p>Dat fiind c\u0103 KVM este un modul standard al nucleului Linux, acesta beneficiaz\u0103 de toate avantajele furnizate de nucleu (gestionarea memoriei, programarea etc.). Prin urmare, \u00een cele din urm\u0103, toate aceste avantaje ajung \u0219i la gazde (deoarece gazdele func\u021bioneaz\u0103 pe hipervizor, care ruleaz\u0103 \u00een\/pe nucleul OS Linux).<\/p>\n<p>KVM este foarte rapid, dar de unul singur nu este suficient pentru a rula un sistem de operare virtual, deoarece este necesar\u0103 emularea I\/O. Pentru I\/O (procesor, discuri, re\u021bea, video, PCI, USB, porturi seriale etc.) KVM folose\u0219te QEMU.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>2) QEMU<\/h2>\n<p>\nQEMU (Quick Emulator) \u2013 un emulator de dispozitive diverse, care permite rularea sistemelor de operare concepute pentru o arhitectur\u0103 pe alta (de exemplu, ARM \u2013&gt; x86). Pe l\u00e2ng\u0103 procesor, QEMU emuleaz\u0103 diverse dispozitive periferice: pl\u0103ci de re\u021bea, HDD-uri, pl\u0103ci video, PCI, USB etc.<\/p>\n<p>Func\u021bioneaz\u0103 astfel:<\/p>\n<p>Instruc\u021biunile\/codul binar (de exemplu, ARM) sunt convertite \u00eentr-un cod intermediar portabil cu ajutorul converterului TCG (Tiny Code Generator) \u0219i apoi acest cod binar portabil este convertit \u00een instruc\u021biuni\/cod \u021bint\u0103 (de exemplu, x86).<\/p>\n<p>ARM \u2013&gt; cod_intermediar \u2013&gt; x86<\/p>\n<p>\u00cen esen\u021b\u0103, pute\u021bi rula ma\u0219ini virtuale pe QEMU pe orice gazd\u0103, chiar \u0219i pe modele mai vechi de procesoare care nu suport\u0103 Intel VT-x (Intel Virtualization Technology) \/ AMD SVM (AMD Secure Virtual Machine). Totu\u0219i, \u00een acest caz, va func\u021biona destul de lent, deoarece codul binar executabil trebuie recompilat \u00een timp real de dou\u0103 ori, folosind TCG (TCG \u2013 este un compilator Just-in-Time).<\/p>\n<p>Deci, QEMU este extrem de avansat, dar func\u021bioneaz\u0103 foarte lent.<\/p>\n<h2>3) Rondele de protec\u021bie<\/h2>\n<p>\n<img decoding=\"async\" alt=\"Principiile generale de func\u021bionare ale QEMU-KVM\" src=\"\/wp-content\/uploads\/2019\/09\/01df130d94b54251f517f776c99009f6.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nCodul binar software pe procesoare nu func\u021bioneaz\u0103 pur \u0219i simplu, ci este distribuit pe diferite niveluri (rondele\/protec\u021bia) cu diverse niveluri de acces la date, de la cel mai privilegiat (Ring 0) p\u00e2n\u0103 la cel mai restric\u021bionat, reglementat \u0219i \u201estr\u00e2ns\u201d (Ring 3).<\/p>\n<p>Sistemul de operare (nucleul OS) func\u021bioneaz\u0103 pe Ring 0 (mod kernel) \u0219i poate efectua orice opera\u021biune asupra oric\u0103ror date \u0219i dispozitive. Aplica\u021biile utilizatorilor func\u021bioneaz\u0103 la nivelul Ring 3 (mod utilizator) \u0219i nu au dreptul s\u0103 fac\u0103 tot ce doresc, ci trebuie s\u0103 solicite de fiecare dat\u0103 accesul pentru a efectua o opera\u021biune anume (\u00een acest fel, aplica\u021biile utilizatorilor au acces doar la datele proprii \u0219i nu pot \u201einvada\u201d \u201earhiva\u201d altora). Ring 1 \u0219i 2 sunt destinate utiliz\u0103rii de c\u0103tre drivere.<\/p>\n<p>P\u00e2n\u0103 la inven\u021bia Intel VT-x \/ AMD SVM, hypervizorii func\u021bionau pe Ring 0, iar oaspe\u021bii func\u021bionau pe Ring 1. Deoarece Ring 1 nu are suficiente privilegii pentru a func\u021biona normal, hypervizorul trebuia s\u0103 modifice \u00een timp real fiecare apel privilegiat din sistemul oaspete \u0219i s\u0103-l execute pe Ring 0 (aproximativ a\u0219a cum o face QEMU). Adic\u0103, codul binar al oaspe\u021bilor <b><i>NU<\/i><\/b> era executat direct pe procesor, iar de fiecare dat\u0103 trecea prin c\u00e2teva modific\u0103ri intermediare \u00een timp real.<\/p>\n<p>Cheltuielile de procesare erau semnificative \u0219i aceasta era o mare problem\u0103, iar atunci produc\u0103torii de procesoare, independent unul de altul, au lansat un set extins de instruc\u021biuni (Intel VT-x \/ AMD SVM), care permite executarea codului sistemelor de operare oaspete <b><i>DIRECT<\/i><\/b> pe procesorul gazd\u0103 (o ocolire a tuturor etapelor intermediare costisitoare, a\u0219a cum era \u00eenainte).<\/p>\n<p>Odat\u0103 cu introducerea Intel VT-x \/ AMD SVM, a fost creat un nou nivel special Ring -1 (minus unu). \u0218i acum, pe acesta func\u021bioneaz\u0103 hypervizorul, iar oaspe\u021bii func\u021bioneaz\u0103 pe Ring 0 \u0219i ob\u021bin acces privilegiat la CPU.<\/p>\n<p>Adic\u0103, \u00een final:<\/p>\n<ul>\n<li>gazda func\u021bioneaz\u0103 pe Ring 0<\/li>\n<li>oaspe\u021bii func\u021bioneaz\u0103 pe Ring 0<\/li>\n<li>hypervizorul func\u021bioneaz\u0103 pe Ring -1<\/li>\n<\/ul>\n<p><\/p>\n<h2>4) QEMU-KVM<\/h2>\n<p>\nKVM ofer\u0103 oaspe\u021bilor acces la Ring 0 \u0219i folose\u0219te QEMU pentru a emula I\/O (procesor, discuri, re\u021bea, video, PCI, USB, porturi seriale etc., pe care oaspe\u021bii le \u201ev\u0103d\u201d \u0219i cu care lucreaz\u0103).<\/p>\n<p>A\u0219adar, QEMU-KVM (sau KVM-QEMU) \ud83d\ude42<\/p>\n<p><i>CREDITE<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/www.ionos.com\">Imaginea pentru atragerea aten\u021biei<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/www.researchgate.net\/profile\/Roberto_Pietro\">Imaginea inelelor de protec\u021bie<\/a><\/noindex><\/i><\/p>\n<p><i>P.S. Textul acestui articol a fost publicat ini\u021bial pe canalul Telegram <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/ru_voip\">@RU_Voip<\/a><\/noindex> ca un r\u0103spuns la \u00eentrebarea unuia dintre participan\u021bii canalului.<\/p>\n<p>Scrie\u021bi \u00een comentarii unde nu \u00een\u021beleg corect tema sau dac\u0103 exist\u0103 ceva de ad\u0103ugat.<\/p>\n<p>Mul\u021bumesc!<\/i><br \/>\n<br \/>Sursa: <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.2.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\/ro\/blog\/administrirovanie\/obshhie-printsipy-raboty-qemu-kvm\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\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\/ro\/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\udd47Principiile de baz\u0103 ale func\u021bion\u0103rii QEMU-KVM | ProHoster","description":"\u00cen\u021belegerea mea actual\u0103: 1) KVM KVM.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/obshhie-printsipy-raboty-qemu-kvm","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","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\/ro\/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\/ro\/wp-json\/wp\/v2\/posts\/37939","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=37939"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/37939\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media\/28470"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=37939"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=37939"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=37939"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}