HermiTux: ორობითი უნიკერნელი, რომელიც თავსებადია Linux პროგრამებთან

ჰერმიტუქსი

ვირჯინიის პოლიტექნიკური უნივერსიტეტის მკვლევართა ჯგუფი (ᲐᲨᲨ), Qualcomm და Aachen Rhine-Westphalia ტექნიკური უნივერსიტეტი (გერმანია) ისინი ვითარდებიან მსუბუქი ბირთვი ჰერმიტუქსი, უნიკერნელის პარადიგმის შესაბამისი.

HermiTux არის მიზნად ისახავს უშუალოდ hypervisor- ზე პროგრამების გაშვებას დამატებითი ფენების საჭიროების გარეშე, რომელიც უზრუნველყოფს Linux პროგრამებთან ბინარულ თავსებადობას ABI დონეზე.

HermiTux კოდი იგი დაწერილია C პროგრამირების ენაზე და ვრცელდება BSD ლიცენზიით.

HermiTux უზრუნველყოფს მინიმალური ოპერაციული სისტემის გარემოს საკუთარი ბირთვით (უნიკერნელი), რომელიც ხარჯავს გაცილებით ნაკლებ რესურსებს ვიდრე Linux– ის ნორმალურ ბირთვზე დაფუძნებული გარემოს შექმნისას.

მასთან ერთად ეს საშუალებას გაძლევთ სწრაფად დაიწყოთ პროგრამები hypervisor- ზე: დაწყების დრო არ აღემატება 0,1 წამს.

HermiTux– ის შესრულების ტესტებში, დაახლოებით 3% ჩამორჩა ჩვეულებრივ Linux ბირთვში არსებულ გარემოში, იმის გამო, რომ I / O გადამისამართებულია მასპინძლის მხარეს.

მეხსიერების მოხმარება საცდელ გარემოში იყო 9 მბ რაც 10-ჯერ ნაკლებია, ვიდრე Linux ბირთვის გამოყენებისას (დოკერის მოხმარება იყო დაახლოებით 2 მბაიტი, მასპინძელ გარემოში საერთო ბირთვის გამოყენების გამო სრული ვირტუალიზაციის გარეშე)

HermiTux– ის შესახებ

ჰერმიტუქსი გამოირჩევა, რომ მას აქვს შეუცვლელი პროგრამების გაშვების შესაძლებლობა შექმნილია Linux- ისთვის ხდება ELF ფორმატის მხარდაჭერის საშუალებით, Linux სისტემის ზარების განხორციელება და ვირტუალური ფაილური სისტემების იმიტაცია.

HermiTux– ის განვითარების მიმდინარე ეტაპზე ეს ახორციელებს 83 სისტემურ ზარს. საერთო ჯამში, Linux ბირთვი უზრუნველყოფს 350 – ზე მეტ სისტემურ ზარს, მაგრამ მათი მხოლოდ მცირე ნაწილი გამოიყენება რეალურ პროგრამებში (რეგულარული განაწილების პროგრამების 90% –ის დასაფარავად, საკმარისია 200 სისტემური ზარის განხორციელება).

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

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

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

გარდა ამისა, მომზადებულია ხელსაწყოები, რომ განვახორციელოთ სისტემური ზარები, რომლებიც ჩართულია შესრულებულ ფაილებში ეს საშუალებას გაძლევთ შეაგროვოთ მინიმალური HermiTux სურათი, რომელიც მოიცავს მხოლოდ კოდს, რომელიც საჭიროა მხოლოდ პროგრამაში გამოყენებული სისტემური ზარების დასამუშავებლად.

ჰერმიტუქსი

HermiTux თვისებები

ჰერმიტუქსი იყენებს მსუბუქი KVM დაფუძნებულ ჰიპერვიზორს, რომელიც იტვირთება Linux- ის ორობით და მინიმალურ ფენასთან ერთად ოპერაციული სისტემის ერთი მისამართი სივრცეში ვირტუალური მანქანა. სამუშაო დროს, პროგრამის მიერ განხორციელებული სისტემური ზარები ხვდება HermiTux ბირთვს.

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

დაცვის თვალსაზრისით, აღნიშნული მოდულარობა საშუალებას იძლევადაფილტრაციის ნაცვლად, გამოუყენებელი სისტემური ზარები (მაგალითად, seccomp– ის საშუალებით) დან გამორიცხეთ ისინი მთლიანად ბირთვიდან.

პროგრამა გადის საზიარო მისამართების სივრცეში (HermiTux შექმნილია ერთი აპლიკაციის ჰიპერვიზორის თავზე გასაშვებად).

მოცემულია ძირითადი ძაფის მხარდაჭერა (Pthreads Embedded).

როგორც ფაილური სისტემა, შემოთავაზებულია MiniFS, რომელშიც ფაილები თავსდება RAM– ში (RAM დისკი) და ვირტუალური ფაილური სისტემის ზოგიერთი ელემენტის (/ dev / zero, proc / cpuinfo და ა.შ.) იმიტირებულია.

TCP / IP სტეკი დაფუძნებულია LWIP პროექტზე, ხოლო Muslim პროექტის შეცვლილი ვერსია გამოიყენება როგორც სტანდარტული C ბიბლიოთეკა.

HermiTux არ საჭიროებს განაცხადების რაიმე აწყობას და საშუალებას გაძლევთ აწარმოოთ როგორც შედგენილი შემსრულებელი ფაილები (სტატიკურად და დინამიურად დაკავშირებული), ასევე პროგრამები ინტერპრეტირებულ ენებზე (Python, Lua და ა.შ.).

პროექტის ბმული.


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

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

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

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

*

*

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