NetBSD გუნდი ვითარდება ახალი NVMM ჰიპერვიზორი

L NetBSD პროექტის შემქმნელები ცოტა ხნის წინ გამოაცხადა ახალი ჰიპერვიზორის შექმნა და მასთან დაკავშირებული ვირტუალიზაციის სტეკი, რომელიც უკვე შედის NetBSD- ის მიმდინარე ექსპერიმენტულ განყოფილებაში და შემოგთავაზებთ NetBSD 9-ის სტაბილურ ვერსიას.

NVMM ჯერ კიდევ არის შემოიფარგლება x86_64 არქიტექტურის მხარდაჭერით და გთავაზობთ ტექნიკის ვირტუალიზაციის მექანიზმების გამოყენების ორ ვერსიას.

ერთ-ერთი მათგანია x86-SVM, AMD CPU ვირტუალიზაციის მხარდაჭერით და x86-VMX გაფართოებები Intel CPU- ებისთვის.

ამჟამინდელი ფორმით, მასპინძელზე შესაძლებელია 128-მდე ვირტუალური მანქანის ჩატვირთვა, რომელთაგან თითოეული შეიძლება გამოიყოს 256 ვირტუალური პროცესორის ბირთვიდან (VCPU) და 128 გბ ოპერატიული მეხსიერება.

NVMM ჰიპერვიზორის შესახებ

ამ ჰიპერვიზორის პრეზენტაციაში NetBSD პროექტის შემქმნელები განმარტავენ ამას NVMM მოიცავს დრაივერს, რომელიც მუშაობს სისტემის ბირთვის დონეზე.

და ისიც კოორდინაციას უწევს ტექნიკაზე დაფუძნებულ ვირტუალიზაციის მექანიზმებსა და Libnvmm დასტის წვდომას, რომელიც მუშაობს მომხმარებლის სივრცეში.

ბირთვის კომპონენტების და მომხმარებლის სივრცის ურთიერთქმედება ხდება IOCTL– ის საშუალებით.

 NVMM– ის ერთ-ერთი მახასიათებელი, რომელიც განასხვავებს მას ისეთი ჰიპერვიზორისგან, როგორიცაა KVM, HAXM და Bhyve, არის ის, რომ ბირთვის დონეზე შესრულებულია მხოლოდ აპარატურის ვირტუალიზაციის მექანიზმების მინიმალური ნაკრები და კომპიუტერის ემულაციის კოდი ამოღებულია ბირთვიდან მომხმარებლის სივრცის მიხედვით.

Ეს მიდგომა ამცირებს ამაღლებული პრივილეგიებით შესრულებული კოდის რაოდენობას და ამცირებს რისკს რომ მთელი სისტემა კომპრომეტირებულია ჰიპერვიზორის სისუსტეებზე თავდასხმების შემთხვევაში.

გარდა ამისა, თქვენი პროექტის გამართვა და შეცდომაში შეყვანა მნიშვნელოვნად გამარტივებულია.

ამავდროულად, Libnvmm თავად არ შეიცავს ემულატორის ფუნქციებს, მაგრამ მხოლოდ გთავაზობთ API- ს, რომელიც საშუალებას გაძლევთ ინტეგრირდეთ NVMM მხარდაჭერა არსებულ ემულატორებში, მაგალითად QEMU- ში.

ვირტუალიზაციის API

API მოიცავს ფუნქციებს, როგორიცაა ვირტუალური მანქანის შექმნა და გაშვება, სტუმრების სისტემისთვის მეხსიერების გამოყოფა და VCPU განაწილება.

უსაფრთხოების გაზრდისა და შეტევის შესაძლო ვექტორების შესამცირებლად, libnvmm მხოლოდ აშკარად მოთხოვნილ ფუნქციებს იძლევა.

სტანდარტულად, კომპლექსური კონტროლერები ავტომატურად არ იძახება და მათი გამოყენება საერთოდ შეუძლებელია, თუ მათი გაცემა შესაძლებელია.

NVMM ცდილობს მიიღოს მარტივი გადაწყვეტილებები, გართულებების გარეშე და საკუთარ თავს უფლებას მისცემთ აკონტროლოთ სამუშაოს რაც შეიძლება მეტი ასპექტი.

NVMM ბირთვის დონის ნაწილი საკმაოდ კარგად არის ინტეგრირებული NetBSD ბირთვთან და საშუალებას გაძლევთ მიაღწიოთ უფრო მაღალ მუშაობას სტუმრის ოპერაციულ სისტემასა და მასპინძელ გარემოს შორის კონტექსტური კონცენტრატორების რაოდენობის შემცირებით.

მომხმარებლის სივრცეში, libnvmm ცდილობს დაამატოს ტიპიური I / O ოპერაციები და ამის საჭიროება გარეშე, არ მიმართოს სისტემურ ზარებს.

შესრულებით

Cross-platform სხვა ფსევდო ბირთვის დრაივერების საწინააღმდეგოდ, როგორიცაა VirtualBox ან HAXM, NVMM კარგად არის ინტეგრირებული NetBSD ბირთვში და ეს იძლევა ცვლილებების ოპტიმიზაციის საშუალებას კონტექსტს სტუმრებსა და მასპინძელს შორის, რათა თავიდან იქნას აცილებული ძვირადღირებული ოპერაციები გარკვეულ შემთხვევებში.

უსაფრთხოების

მეხსიერების გამოყოფის სისტემა ემყარება pmap ქვესისტემას, რომ საშუალებას გაძლევთ გადაადგილოთ გვერდები სტუმრის მეხსიერებიდან swap დანაყოფში სისტემაში მეხსიერების უკმარისობის შემთხვევაში.

NVMM არ არის ჩამკეტები და გლობალური მასშტაბები, რომელიც საშუალებას გაძლევთ ერთდროულად გამოიყენოთ სხვადასხვა CPU ბირთვები სხვადასხვა სტუმრების ვირტუალური მანქანების გასაშვებად.

QEMU– ს საფუძველზე მომზადდა გამოსავალი NVMM– ის საშუალებით, აპარატურის ვირტუალიზაციის მექანიზმების ჩასართავად.

მიმდინარეობს მუშაობა QEMU– ს მთავარ აღჭურვილობაში მომზადებული პატჩების ჩასართავად.

ელ პაკეტი QEMU + NVMM უკვე საშუალებას გაძლევთ წარმატებით აწარმოოთ სტუმრების სისტემები FreeBSD, OpenBSD, Linux, Windows– ით XP / 7 / 8.1 / 10 და სხვა ოპერაციული სისტემები x86_64 სისტემებზე AMD და Intel პროცესორებით (NVMM თავისთავად არ არის დაკავშირებული სპეციფიკურ არქიტექტურაზე).

ბექენდს საშუალება ექნება იმუშაოს ARM64 სისტემებზე). დამატებითი განაცხადის არეებიდან, NVMM– მა ასევე შეისწავლა ინდივიდუალური განაცხადის ტესტის იზოლაცია.

წყარო: http://blog.netbsd.org


სტატიის შინაარსი იცავს ჩვენს პრინციპებს სარედაქციო ეთიკა. შეცდომის შესატყობინებლად დააჭირეთ ღილაკს აქ.

იყავი პირველი კომენტარი

დატოვე კომენტარი

თქვენი ელფოსტის მისამართი გამოქვეყნებული არ იყო. აუცილებელი ველები აღნიშნულია *

*

*

  1. მონაცემებზე პასუხისმგებელი: მიგელ ანგელ გატონი
  2. მონაცემთა მიზანი: სპამის კონტროლი, კომენტარების მართვა.
  3. ლეგიტიმაცია: თქვენი თანხმობა
  4. მონაცემთა კომუნიკაცია: მონაცემები არ გადაეცემა მესამე პირებს, გარდა სამართლებრივი ვალდებულებისა.
  5. მონაცემთა შენახვა: მონაცემთა ბაზა, რომელსაც უმასპინძლა Occentus Networks (EU)
  6. უფლებები: ნებისმიერ დროს შეგიძლიათ შეზღუდოთ, აღადგინოთ და წაშალოთ თქვენი ინფორმაცია.