Виртуал машин

Виртуал машин[засварлах | кодоор засварлах]

Үечилсэн аргаар виртуал машины зарчим дахь логик дүгнэлтийг тодорхойлно. Виртуаль машины үндсэн санаа нь бол нэг компьютерийн төхөөрөмжүүдийг хэд хэдэн гүйцэтгэлийн орчин болгон хэрэглэх гэсэн утгатай буюу өөрөөр хэлбэл тус тусдаа гүйцэтгэлийн орчингууд нь өөрийн хувийн компьютер дээр ажиллана гэсэн үг юм.

CPU схемчлэх мөн виртуаль санах ойн техник ашиглан үйлдлийн систем хийсвэр үзэгдэл үүсгэдэг. Энэ нь өөрийн процессорыг өөрийн виртуаль санах ойтой болгодог процесс юм. Энгийнээр бол, энэ процесс нь систем дуудах файлын систем гэх мэт нэмэлт шинж тэмдэгүүдтэй ба энэ нь дан техник хангамжаар хангагддаггүй. Виртуаль машин нь ямарч нэмэлт функцүүдээр хангадаггүй гэхдээ интерфейсээр бага ч гэсэн хангадаг. Энэ нь дан техник хангамжийн үндсэн суурьтай ижил интерфейс юм. Ийм процесс бүр компьютерийн үндсэн шинжийг хуулбарласан виртуаль хуулбартай байх нөхцлийг хангадаг.

Хэд хэдэн шалтгаанаар виртуаль машиныг үүсгэдэг, бүх үндэс суурь нь ижил техник хангамжийг ажиллаж эхлээгүй байх үед нэгэн зэрэг өөр өөр гүйцэтгэлийн орчинд хуваана энэ нь өөр өөр үйлдлийн системүүд .

Виртуаль машины диск системүүдийг оролцуулдаг аргаар мэргэшихэд хүндрэлтэй байдаг. Учир нь энэ нь гурван ширхэг диск драйвтай физик машин шаардлагатай болох ба гэвч энэ нь мөн дээрээс нь долоон ширхэг виртуаль машинаар дэмжихийг шаарддаг. Мэдээж диск драйв нь виртуаль машин бүрт хуваарилж чаддаггүй, учир нь виртуаль машины програм хангамж нь өөр дээрээ их хэмжээний зайтай виртуаль санах ойгоор хангасан диск байх хэрэгтэй болдог. Үүний шийдэл нь виртуаль дискүүдийг хангах-IBM-ийн VM үйлдлийн системийн минидиск гэж нэрлэгддэг-эдгээр нь хэмжээнээс үл хамааран бүх хамаарлыг ижил байлгадаг. Минидиск бүрийн системийн багаж хэрэгслүүд нь физик дискүүд дээрх олон мөртүүд шиг хуваарилагдахад хэрэглэгдэнэ. Мэдээж, бүх минидискүүдийн багтаамжийн нийлбэр хэмжээ нь физик дискний ашиглагдах багтаамжийн хэмжээнээс бага байх ёстой.

Хэрэглэгчид ийм байдлаар тэдний өөрсдийн виртуаль машиныг үүсгэнэ. Эдгээр нь машины үндсэн суурь идэвхтэй үед ямарч үйлдлийн систем програмын пакетууд дээр ажиллана.

IBM VM системд, хэрэглэгч CMS-г энгийнээр ажиллуулах- нэг хэрэглэгч харилцан үйлчилдэг үйлдлийн систем. Виртуаль машины програм хангамж нь физик машинд олон тооны виртуаль машинуудыг мультпрограмчлал хийхэд оролцдог, гэвч энэ нь хэрэглэгч бүрийн програм хангамжийг анхаарах шаардлагагүй байдаг. Энэ зохион байгуулалт нь олон хэрэглэгчийн харилцан үйлчлэх системийг 2 жижиг хэсэгт хуваан загварчилахад хэрэгтэй аргаар хангадаг.

Гүйцэтгэл

Виртуал машины зарчим нь ашигтай хэдий ч, үүнийг гүйцэтгэхэд төвөгтэй байдаг. Энэ ажиллагаа нь машины суурь үндсийг яг таг зөв хуулбараар хангахыг шаарддаг. Машины суурь үндэс нь 2 горимтой байдгийг санаарай: хэрэглэгчийн горим, кернель горим. Виртуаль машины програм хангамж нь кернель горимд ажиллаж чаддаг, үйлдлийн системээс хойш. Виртуаль машин дангаар зөвхөн хэрэглэгчийн горимд л үйлдэл гүйцэтгэх чадвартай. Физик машин нь 2 горимтой байдаг гэж үзвэл түүний нэг нь виртуаль машин байх ёстой. Ийм учраас бид виртуаль хэрэглэгчийн горим болон виртуаль кернель горимтой байх ёстой, мөн хоёуланг нь физик хэрэглэгчийн горимд ачааллах ёстой. Эдгээр үйл явцын шалтгаан нь хэрэглэгчийн горимоос кернель горим руу шилжүүлэхдээ /жишээ нь систем дуудах эсвэл давуу эрхтэй даалгавар гүйцэтгэхийг оролдох/ бодит машин нь виртуаль машинд виртуаль хэрэглэгчийн горимоос виртуаль кернель горим руу шилжүүлэх үйлдлийг хийх ёстой юм.

Ийм маягаар шилжүүлэх процессыг хийнэ. Систем дуудах үед, жишээ нь, виртуаль хэрэглэгчийн горимийн виртуаль машинд програм ачааллуулж хийнэ, ингэснээр бодит машинд үүсгэгдсэн виртуаль машины дэлгэц рүү шилжинэ. Виртуаль машины дэлгэц удирдлагыг авахад, энэ нь регистрийн утгыг өөрчилж чадах ба виртуаль машины програмын тоолуур системийг дуудах эффекттэй адил байна. Ингэсний дараа виртуаль машиныг restart хийнэ, одоо энэ нь виртуаль кернель горимд бичигдэнэ.