MirageOS 4.0 නිකුත් කිරීම, හයිපර්වයිසරයක් මත යෙදුම් ධාවනය කිරීම සඳහා වේදිකාවක්

සංවර්ධනයෙන් වසර එකහමාරකට පසු, MirageOS 4.0 ව්‍යාපෘතිය නිකුත් කිරීම ප්‍රකාශයට පත් කර ඇති අතර, එමඟින් එක් යෙදුමක් සඳහා මෙහෙයුම් පද්ධති නිර්මාණය කිරීමට ඉඩ සලසයි, එමඟින් යෙදුම ස්වයං අන්තර්ගත “යුනිකර්නල්” ලෙස ලබා දී ඇත, එය නොමැතිව ධාවනය කළ හැකිය. මෙහෙයුම් පද්ධති භාවිතය, වෙනම OS කර්නලයක් සහ ඕනෑම ස්ථරයක්. යෙදුම් සංවර්ධනය කිරීමට OCaml භාෂාව භාවිතා වේ. ව්‍යාපෘති කේතය නොමිලේ ISC බලපත්‍රය යටතේ බෙදා හැරේ.

මෙහෙයුම් පද්ධතියට ආවේනික වූ සියලුම පහත් මට්ටමේ ක්‍රියාකාරීත්වය යෙදුමට අමුණා ඇති පුස්තකාලයක ආකාරයෙන් ක්‍රියාත්මක වේ. යෙදුම ඕනෑම OS මත සංවර්ධනය කළ හැකි අතර, පසුව එය විශේෂිත කර්නලයකට (unikernel සංකල්පය) සම්පාදනය කළ හැකි අතර, එය Xen, KVM, BHyve සහ VMM (OpenBSD) හයිපර්වයිසර් මත, ජංගම වේදිකා මත, සෘජුවම ධාවනය කළ හැකිය. POSIX-අනුකූල පරිසරයක හෝ වලාකුළු පරිසරයක ක්‍රියාවලියක ස්වරූපය Amazon Elastic Compute Cloud සහ Google Compute Engine.

ජනනය කරන ලද පරිසරයේ අනවශ්‍ය කිසිවක් අඩංගු නොවන අතර රියදුරන් හෝ පද්ධති ස්ථර නොමැතිව හයිපර්වයිසර් සමඟ කෙලින්ම අන්තර් ක්‍රියා කරයි, එමඟින් පොදු කාර්ය පිරිවැය සැලකිය යුතු ලෙස අඩු කිරීමට සහ ආරක්ෂාව වැඩි කිරීමට ඉඩ සලසයි. MirageOS සමඟ වැඩ කිරීම අදියර තුනකට පැමිණේ: පරිසරයේ භාවිතා වන OPAM පැකේජ නිර්වචනය කිරීම, පරිසරය එකලස් කිරීම සහ පරිසරය දියත් කිරීම සමඟ වින්‍යාසය සකස් කිරීම. හයිපර්වයිසර් මත ක්‍රියාකාරිත්වය සහතික කිරීම සඳහා, ධාවන කාලය Solo5 කර්නලය මත ගොඩනගා ඇත.

යෙදුම් සහ පුස්තකාල උසස් මට්ටමේ OCaml භාෂාවෙන් නිර්මාණය කර ඇතත්, එහි ප්‍රතිඵලය වන පරිසරයන් තරමක් හොඳ කාර්ය සාධනයක් සහ අවම ප්‍රමාණය පෙන්නුම් කරයි (උදාහරණයක් ලෙස, DNS සේවාදායකය 200 KB පමණක් ගනී). වැඩසටහන යාවත්කාලීන කිරීමට හෝ වින්‍යාසය වෙනස් කිරීමට අවශ්‍ය නම්, නව පරිසරයක් නිර්මාණය කිරීම සහ දියත් කිරීම ප්‍රමාණවත් බැවින් පරිසරය නඩත්තු කිරීම ද සරල කර ඇත. ජාල මෙහෙයුම් (DNS, SSH, OpenFlow, HTTP, XMPP, Matrix, OpenVPN, ආදිය) සිදු කිරීම සඳහා OCaml භාෂාවෙන් පුස්තකාල සිය ගණනක් සහය දක්වයි, ගබඩා කිරීම සමඟ වැඩ කිරීම සහ සමාන්තර දත්ත සැකසීම සැපයීම.

ප්රධාන වැඩිදියුණු කිරීම්:

  • ව්‍යාපෘති සහ යුනිකර්නල් සම්පාදනය කිරීමේ ක්‍රියාවලිය වෙනස් කර ඇත. කලින් භාවිතා කරන ලද ocamlbuild එකලස් කිරීමේ පද්ධතිය වෙනුවට, dune මෙවලම් කට්ටලය සහ දේශීය ගබඩා (monorepo) භාවිතා වේ. එවැනි ගබඩාවන් නිර්මාණය කිරීම සඳහා, නව උපයෝගිතා, opam-monorepo, එකතු කර ඇති අතර, එය මූල කේතයෙන් ගොඩනැගීමෙන් පැකේජ කළමනාකරණය වෙන් කිරීමට හැකි වේ. opam-monorepo උපයෝගිතා ව්‍යාපෘති ආශ්‍රිත පරායත්තතා සඳහා අගුළු ගොනු සෑදීම, පරායත්ත කේතය පැටවීම සහ උපුටා ගැනීම සහ ඩූන් ගොඩනැගීමේ පද්ධතිය භාවිතා කිරීමට පරිසරය සැකසීම වැනි ක්‍රියා කරයි. සැබෑ එකලස් කිරීම සිදු කරනු ලබන්නේ ඩූන් මෙවලම් කට්ටලය මගිනි.
  • නැවත නැවතත් කළ හැකි ගොඩනැගීමේ ක්රියාවලියක් සපයනු ලැබේ. අගුළු ගොනු භාවිතා කිරීම පරායත්ත අනුවාද වෙත සබැඳියක් සපයන අතර ඕනෑම වේලාවක එකම කේතය සමඟ ගොඩනැගීමේ ක්‍රියාවලිය සම්පූර්ණයෙන්ම නැවත කිරීමට ඔබට ඉඩ සලසයි.
  • නව හරස් සම්පාදන ක්‍රියාවලියක් ක්‍රියාත්මක කර ඇති අතර එක් පොදු ගොඩනැගීමේ පරිසරයකින් සියලුම සහය දක්වන ඉලක්ක වේදිකා සඳහා හරස් සම්පාදනය කිරීමේ හැකියාව ලබා දී ඇති අතර, මෙම බන්ධන එකතු කිරීමේ අවශ්‍යතාවයකින් තොරව C බන්ධන ඇති පරායත්තතා සහ පුස්තකාල හරස් සම්පාදනය කරයි. ප්රධාන පැකේජය . හරස් සම්පාදනය සංවිධානය කරනු ලබන්නේ ඩූන් බිල්ඩ් ක්‍රමය මඟින් සපයන ලද වැඩබිම් භාවිතා කරමිනි.
  • නව ඉලක්ක වේදිකා සඳහා සහය එකතු කර ඇත, උදාහරණයක් ලෙස, Raspberry Pi 4 පුවරු මත ධාවනය සඳහා ස්වයං අන්තර්ගත යෙදුම් තැනීමේ පර්යේෂණාත්මක හැකියාවක් ලබා දී ඇත.
  • යුනිකර්නල් ආකාරයෙන් යෙදුම් එකලස් කිරීම සරල කිරීම සඳහා OCaml භාෂාවෙන් සංවර්ධනයට අදාළ පරිසර පද්ධතිවලට MirageOS හි කොටස් ඒකාබද්ධ කිරීමට කටයුතු කර ඇත. බොහෝ MirageOS පැකේජ ඩූන් බිල්ඩ් පද්ධතියට ගෙන ගොස් ඇත. opam-monorepo උපයෝගීතාව opam පැකේජ කළමනාකරු භාවිතයෙන් ස්ථාපනය සඳහා ලබා ගත හැකි අතර dune build පද්ධතිය භාවිතා කරන ව්‍යාපෘතිවල භාවිතා කළ හැක. ඩූන් හි පරායත්තතා ගොඩනැගීමේ ගැටළු විසඳන පැච් පවත්වා ගැනීම සඳහා, නිධි දෙකක් නිර්මාණය කර ඇත: dune-universe/opam-overlays සහ dune-universe/mirage-opam-overlays, mirage CLI උපයෝගීතාව භාවිතා කරන විට පෙරනිමියෙන් සක්‍රීය කෙරේ.
  • C සහ Rust පුස්තකාල සමඟ MirageOS ඒකාබද්ධ කිරීම සරල කර ඇත.
  • ඔබට libc (libc-free) නොමැතිව කිරීමට ඉඩ සලසන නව OCaml ධාවන කාලයක් යෝජනා කර ඇත.
  • සම්මත ඒකාබද්ධ සංවර්ධන පරිසරයන් සමඟ ඒකාබද්ධ කිරීම සඳහා Merlin සේවාව භාවිතා කළ හැකිය.

මූලාශ්රය: opennet.ru

අදහස් එක් කරන්න