የከርነል ወደብ አስተዋውቋል Linux ለWebAssembly፣ በአሳሹ ውስጥ እየሄደ ነው

በከርነል ገንቢዎች የፖስታ ዝርዝር ላይ Linux የዋስም አርክቴክቸርን ለከርነል ተግባራዊ የሚያደርጉ ፓቾች ታትመዋል Linux, ይህም ከርነል በድር አሳሽ ውስጥ ኢሙሌተሮችን ሳይጠቀሙ ለቀጣይ ቀጥተኛ አፈፃፀም ወደ WebAssembly መካከለኛ ኮድ እንዲጠናቀር ያስችለዋል። በተጨማሪም፣ ለከርነል Linux проектом реализована возможность запускать исполняемые файлы в формате «.wasm» и подготовлен драйвер «web console» для симуляции работы с консолью в браузере. Также подготовлен инструментарий для упрощения сборки запускаемых в браузере системных окружений.

ለምሳሌ፣ BusyBox utility suite እና musl system ላይብረሪ በመጠቀም ወደ WebAssembly ተፈጥሯል። Xterm.js ከዚህ አካባቢ ጋር ለመስራት እንደ ተርሚናል ኢምዩተር ጥቅም ላይ ይውላል። ተጠቃሚዎች ወደቡን ራሳቸው ሳያጠናቀሩ እንዲገመግሙ የሚያስችል የተለየ ማሳያ ጣቢያ ተጀመረ። በChromium ላይ ለተመሰረቱ አሳሾች ሙሉ ድጋፍ እና ለፋየርፎክስ ከፊል ድጋፍ፣ ውስን የማረም ችሎታዎች አሉት። በዘመናዊ ኮምፒውተሮች ላይ የWasm kernel ግንባታን በአሳሽ ውስጥ መጫን ከአንድ ሰከንድ ያነሰ ጊዜ ይወስዳል።

ፕሮጀክቱ ለሁለት ዓመታት ያህል በልማት ላይ ያለ ሲሆን በአሁኑ ጊዜ ኮርነሉን በአሳሽ ውስጥ መጫን እና መደበኛ ፕሮግራሞችን እንዲፈጽም ያስችላል። ስራው ገና አልተጠናቀቀም, እና ወደቡ አንዳንድ ችግሮች እና ገደቦች አሉት. ለምሳሌ ለ vfork እና longjmp ጥሪዎች ድጋፍ ገና አልተተገበረም (BusyBox ያለ እነሱ እንዲሰራ ተስተካክሏል) ተግባራትን የማቋረጥ ችሎታ የለም ፣ ኤምኤምዩ አይገኝም (ከርነል እና ሂደቶቹ በተመሳሳይ የአድራሻ ቦታ ላይ ይሰራሉ) ፣ ቀድሞውኑ የተጫነውን ኮድ መለወጥ አይቻልም ፣ እና ኮንሶሉ ከ 5 ደቂቃዎች በኋላ በሰዓት ቆጣሪ ችግሮች ምክንያት ይቀዘቅዛል። አሁን ያሉት ገደቦች ሊታለፉ የሚችሉ እንደሆኑ ተወስቷል, ነገር ግን አንዳንዶቹ በአሳሾች ውስጥ ወደ WebAssembly ተጨማሪ ቅጥያዎችን መተግበር ያስፈልጋቸዋል. ለኤምኤምዩ እና ክር እገዳ ተመሳሳይ ማራዘሚያዎች ቀርበዋል።

በWebAssembly ውስጥ የክርን አፈፃፀም ለአፍታ ማቆም አለመቻሉ ከከርነል የተግባር መርሐግብር ጋር ይጋጫል፣ ነገር ግን ባለብዙ ተግባር እያንዳንዱን ክር/ተግባር ለራሱ ቨርቹዋል ሲፒዩ በመመደብ፣ በተለየ የድር ሰራተኛ ውስጥ በመመደብ ተተግብሯል። ይህ አካሄድ የአሳሹን ኤንጂን እና አስተናጋጁ OS kernelን በመጠቀም ሂደቶችን በትይዩ ማስፈጸሚያ አስችሏል፣ ወደ ቅድመ-ማስመሰል ብዙ ተግባር ወይም በአሳሹ ከርነል ውስጥ ለመቀየር። በዚህ ማዋቀር ውስጥ ማቋረጦች እና ምልክቶች ሙሉ በሙሉ የሚሰሩ አይደሉም፣ እና የተለየ ቨርቹዋል ሲፒዩ የሰዓት ቆጣሪ እና የአይፒአይ (ኢንተር ፕሮሰሰር ማቋረጥ) ማቋረጥ ጥቅም ላይ ይውላል።

Область применения проекта выходит за рамки простого запуска Linux-окружений в браузерах. Например, порт может применяться для создания многоплатформенных WebAssembly программ, использующих специфичные для Linux системные вызовы. Реализация подобных системных вызовов может быть отдельно преобразована в WebAssembly и прикреплена к приложению, что позволит использовать его без привязки к системному ядру. Порт также будет полезен для организации изолированного выполнения приложений при помощи WASI (WebAssembly System Interface).

ዕቅዶቹ በWebAssembly ውስጥ የተገነባው ኮር ባለባቸው አካባቢዎች የግራፊክስ ድጋፍን በመተግበር ላይ ያሉ ሙከራዎችን ያካትታሉ። EGLን ለመተግበር አቅደዋል እና የአሳሹን WebGL API በመጠቀም OpenGL ESን ይደግፋሉ። እንዲሁም በመስመር-በ-መስመር ኮድ ማረም ለDwarf ማረም ቅርጸት ድጋፍን ተግባራዊ ለማድረግ አቅደዋል።

ምንጭ: opennet.ru

በDDoS ጥበቃ፣ VPS VDS አገልጋዮች ለጣቢያዎች አስተማማኝ ማስተናገጃ ይግዙ 🔥 አስተማማኝ የድር ጣቢያ ማስተናገጃ በዲዶኤስ ጥበቃ፣ በቪፒኤስ ቪዲኤስ አገልጋዮች ይግዙ | ProHoster