WASI Mozilla პროექტი გამოიყენებს WebAssemble– ს ბრაუზერის გარეთ

WASI Mozilla პროექტი გამოიყენებს WebAssemble– ს ბრაუზერის გარეთ

Mozilla– ს დეველოპერებმა წარმოადგინეს WASI პროექტი (WebAssembly სისტემის ინტერფეისი), რომელიც მუშაობს პროგრამული ინტერფეისების განსაზღვრაზე, რომლებიც შეიძლება გამოყენებულ იქნას WebAssemble ფორმატში გადაცემული პროგრამების ოპერაციულ სისტემასთან ურთიერთქმედების ორგანიზებაში.

პროექტის მიზანია უზრუნველყოს API, რომელიც ვრცელდება WebAssemble– ის გამოყენებას და საშუალებას გაძლევთ შექმნათ პროგრამები რეგულარულად დაფუძნებული ამ ტექნოლოგიაში, რომელიც მუშაობს ბრაუზერის გარეთისინი პორტატულია ნებისმიერი პლატფორმისთვის და აჩვენებს უსაფრთხოების მაღალ დონეს.

რა არის WASI?

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

WASI API თავდაპირველად შემუშავებულია, როგორც არა ბრაუზერი და დამოუკიდებელი JavaScript / Web API– დან, მაგრამ ამავე დროს უზრუნველყოფს სისტემის იზოლაციის ადეკვატურ დონეს main (პროგრამები მუშაობს sandbox- ში) და საშუალებას გაძლევთ მკაფიოდ განსაზღვროთ პროგრამისთვის მინიჭებული უფლებამოსილება CloudABI და Capsicum სტილში.

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

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

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

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

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

ამჟამად პროექტი უზრუნველყოფს ბირთვულ მოდულს ძირითადი POSIX API- ს (ფაილები, სოკეტები და ა.შ.) დანერგვით, რომელსაც ამჟამად არ გააჩნია საკეტების და ასინქრონული I / O- ს მხარდაჭერა.

მომავალში, დაგეგმილია მოდულების შექმნა API– ს გამოყენებით, კრიპტოგრაფიული ოპერაციების შესასრულებლად, 3D გრაფიკასთან მუშაობისთვისურთიერთქმედება სენსორებთან, პროცესებთან ოპერაციები (ჩანგლის ზარი ჯერ არ არის მხარდაჭერილი) და მულტიმედიური მონაცემების დამუშავება.

კომპონენტის პროტოტიპები

Wasmtime არის დრო, რომელიც პასუხისმგებელია WebAssembley– ზე დაფუძნებული პროგრამების შესრულებაზე WASI გაფართოებებით, როგორც ჩვეულებრივი დამოუკიდებელი პროგრამები.

Se მხარს უჭერს WebAssembly bytecode- ის გაშვებას სპეციალური ბრძანების ხაზის პროგრამის დახმარებით და მზა გამოსაყენებელი ფაილების შექმნა (wasmtime ჩაშენებულია პროგრამაში, როგორც ბიბლიოთეკა).

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

Lucet არის Fastly პროექტის კიდევ ერთი შესრულების ვერსია (კოდის გამოქვეყნება დაგეგმილია დღეს ან ხვალ).

WASI SDK- ინსტრუმენტები C / C ++ პროგრამების ვებ – ასამბლეის ფორმატში შესადგენად Clang 8.0 – ის გამოყენებით.

ასამბლეის სამიზნე WASI მხარდაჭერით Rust ენაზე, რომელიც საშუალებას გაძლევთ შეადგინოთ Rust კოდი WebAssemble- ში.

Wasi-sysroot არის სტანდარტული libc ბიბლიოთეკის დანერგვა WASI- სთვის, რომელიც დაფუძნებულია Musl კოდზე, აგრეთვე runtime ფენის ბიბლიოთეკის მიერ მოწოდებული ფუნქციების გადასაცემად სხვადასხვა ოპერაციული სისტემის სისტემურ ზარებზე, რათა მივაღწიოთ WASI პროგრამის სხვადასხვა ოპერაციულ სისტემაზე გაშვების შესაძლებლობას.

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

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

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


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

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

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

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

*

*

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