Mozilla, Fastly, Intel ಮತ್ತು Red Hat ವೆಬ್‌ಅಸೆಂಬ್ಲಿಯನ್ನು ಸಾರ್ವತ್ರಿಕ ಬಳಕೆಗೆ ವೇದಿಕೆಯಾಗಿ ಪ್ರಚಾರ ಮಾಡುತ್ತವೆ

Mozilla, Fastly, Intel ಮತ್ತು Red Hat ಒಗ್ಗೂಡಿದರು ಯಾವುದೇ ಮೂಲಸೌಕರ್ಯ, ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಅಥವಾ ಸಾಧನದಾದ್ಯಂತ ಸುರಕ್ಷಿತ ಕೋಡ್ ಎಕ್ಸಿಕ್ಯೂಶನ್‌ಗಾಗಿ ವೆಬ್‌ಅಸೆಂಬ್ಲಿಯನ್ನು ಸಾರ್ವತ್ರಿಕ ವೇದಿಕೆಯನ್ನಾಗಿ ಮಾಡಲು ಸಹಾಯ ಮಾಡುವ ತಂತ್ರಜ್ಞಾನಗಳನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸುವಲ್ಲಿ ಅದರ ಪ್ರಯತ್ನಗಳು. ವೆಬ್ ಬ್ರೌಸರ್‌ಗಳಲ್ಲಿ ಮಾತ್ರವಲ್ಲದೆ ವೆಬ್‌ಅಸೆಂಬ್ಲಿಯನ್ನು ಬಳಸಲು ಅನುಮತಿಸುವ ರನ್‌ಟೈಮ್ ಮತ್ತು ಕಂಪೈಲರ್‌ಗಳ ಜಂಟಿ ಅಭಿವೃದ್ಧಿಗಾಗಿ ಸಮುದಾಯವನ್ನು ರಚಿಸಲಾಗಿದೆ. ಬೈಟ್‌ಕೋಡ್ ಅಲೈಯನ್ಸ್.

ಬ್ರೌಸರ್‌ನ ಹೊರಗೆ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ WebAssembly ಸ್ವರೂಪದಲ್ಲಿ ವಿತರಿಸಲಾದ ಪೋರ್ಟಬಲ್ ಪ್ರೋಗ್ರಾಂಗಳನ್ನು ರಚಿಸಲು, API ಅನ್ನು ಬಳಸಲು ನಾವು ಸಲಹೆ ನೀಡುತ್ತೇವೆ ವಾಸಿ (WebAssembly ಸಿಸ್ಟಮ್ ಇಂಟರ್ಫೇಸ್), ಇದು ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್‌ನೊಂದಿಗೆ ನೇರ ಸಂವಹನಕ್ಕಾಗಿ ಸಾಫ್ಟ್‌ವೇರ್ ಇಂಟರ್ಫೇಸ್‌ಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ (ಫೈಲ್‌ಗಳು, ಸಾಕೆಟ್‌ಗಳು, ಇತ್ಯಾದಿಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಲು POSIX API). WASI ಅನ್ನು ಬಳಸುವ ಅಪ್ಲಿಕೇಶನ್‌ಗಳ ಎಕ್ಸಿಕ್ಯೂಶನ್ ಮಾದರಿಯ ವಿಶಿಷ್ಟ ಲಕ್ಷಣವೆಂದರೆ ಅವು ಮುಖ್ಯ ವ್ಯವಸ್ಥೆಯಿಂದ ಪ್ರತ್ಯೇಕಿಸಲು ಸ್ಯಾಂಡ್‌ಬಾಕ್ಸ್ ಪರಿಸರದಲ್ಲಿ ಚಲಿಸುತ್ತವೆ ಮತ್ತು ಪ್ರತಿಯೊಂದು ಸಂಪನ್ಮೂಲಗಳೊಂದಿಗೆ (ಫೈಲ್‌ಗಳು, ಡೈರೆಕ್ಟರಿಗಳು, ಸಾಕೆಟ್‌ಗಳು, ಸಿಸ್ಟಮ್ ಕರೆಗಳು) ಕ್ರಿಯೆಗಳಿಗೆ ಸಾಮರ್ಥ್ಯ ನಿರ್ವಹಣೆಯ ಆಧಾರದ ಮೇಲೆ ಭದ್ರತಾ ಕಾರ್ಯವಿಧಾನವನ್ನು ಬಳಸುತ್ತವೆ. , ಇತ್ಯಾದಿ) ಅಪ್ಲಿಕೇಶನ್‌ಗೆ ಸೂಕ್ತ ಅನುಮತಿಗಳನ್ನು ನೀಡಬೇಕು (ಘೋಷಿತ ಕಾರ್ಯಕ್ಕೆ ಮಾತ್ರ ಪ್ರವೇಶವನ್ನು ಒದಗಿಸಲಾಗಿದೆ).

ಒಂದು ಗುರಿಗಳು ರಚಿಸಲಾದ ಒಕ್ಕೂಟವು ಹೆಚ್ಚಿನ ಸಂಖ್ಯೆಯ ಅವಲಂಬನೆಗಳೊಂದಿಗೆ ಆಧುನಿಕ ಮಾಡ್ಯುಲರ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ವಿತರಿಸುವ ಸಮಸ್ಯೆಗೆ ಪರಿಹಾರವಾಗಿದೆ. ಅಂತಹ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಲ್ಲಿ, ಪ್ರತಿ ಅವಲಂಬನೆಯು ದುರ್ಬಲತೆಗಳು ಅಥವಾ ದಾಳಿಗಳ ಸಂಭಾವ್ಯ ಮೂಲವಾಗಿರಬಹುದು. ಅವಲಂಬನೆಯ ನಿಯಂತ್ರಣವನ್ನು ತೆಗೆದುಕೊಳ್ಳುವುದು ಅದಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಎಲ್ಲಾ ಅಪ್ಲಿಕೇಶನ್‌ಗಳ ನಿಯಂತ್ರಣವನ್ನು ಪಡೆಯಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. ಅಪ್ಲಿಕೇಶನ್‌ನಲ್ಲಿನ ನಂಬಿಕೆಯು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಎಲ್ಲಾ ಅವಲಂಬನೆಗಳಲ್ಲಿ ನಂಬಿಕೆಯನ್ನು ಸೂಚಿಸುತ್ತದೆ, ಆದರೆ ಅವಲಂಬನೆಗಳನ್ನು ಹೆಚ್ಚಾಗಿ ಮೂರನೇ-ಪಕ್ಷದ ತಂಡಗಳಿಂದ ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ನಿರ್ವಹಿಸಲಾಗುತ್ತದೆ ಅವರ ಚಟುವಟಿಕೆಗಳನ್ನು ನಿಯಂತ್ರಿಸಲಾಗುವುದಿಲ್ಲ. ಬೈಟ್‌ಕೋಡ್ ಅಲಯನ್ಸ್ ಸದಸ್ಯರು ಅಂತರ್ಗತವಾಗಿ ವಿಶ್ವಾಸಾರ್ಹವಲ್ಲದ ವೆಬ್‌ಅಸೆಂಬ್ಲಿ ಅಪ್ಲಿಕೇಶನ್‌ಗಳ ಸುರಕ್ಷಿತ ಕಾರ್ಯಗತಗೊಳಿಸಲು ಸಮಗ್ರ ಪರಿಹಾರವನ್ನು ಒದಗಿಸಲು ಉದ್ದೇಶಿಸಿದ್ದಾರೆ.

ರಕ್ಷಣೆಗಾಗಿ, ನ್ಯಾನೊಪ್ರೊಸೆಸ್‌ಗಳ ಪರಿಕಲ್ಪನೆಯನ್ನು ಬಳಸಲು ಪ್ರಸ್ತಾಪಿಸಲಾಗಿದೆ, ಇದರಲ್ಲಿ ಪ್ರತಿ ಅವಲಂಬನೆ ಮಾಡ್ಯೂಲ್ ಅನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಪ್ರತ್ಯೇಕವಾದ ವೆಬ್‌ಅಸೆಂಬ್ಲಿ ಮಾಡ್ಯೂಲ್‌ಗೆ ಪ್ರತ್ಯೇಕಿಸಲಾಗಿದೆ, ಅದರ ಅಧಿಕಾರಗಳನ್ನು ಈ ಮಾಡ್ಯೂಲ್‌ಗೆ ಸಂಬಂಧಿಸಿದಂತೆ ಮಾತ್ರ ಹೊಂದಿಸಲಾಗಿದೆ (ಉದಾಹರಣೆಗೆ, ಸ್ಟ್ರಿಂಗ್‌ಗಳನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲು ಲೈಬ್ರರಿ ಮಾಡುವುದಿಲ್ಲ ನೆಟ್ವರ್ಕ್ ಸಾಕೆಟ್ ಅಥವಾ ಫೈಲ್ ಅನ್ನು ತೆರೆಯಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ). ಪ್ರಕ್ರಿಯೆಯ ಪ್ರತ್ಯೇಕತೆಯಂತಲ್ಲದೆ, WebAssembly ಹ್ಯಾಂಡ್ಲರ್‌ಗಳು ಹಗುರವಾಗಿರುತ್ತವೆ ಮತ್ತು ಬಹುತೇಕ ಯಾವುದೇ ಹೆಚ್ಚುವರಿ ಸಂಪನ್ಮೂಲಗಳ ಅಗತ್ಯವಿರುವುದಿಲ್ಲ - ಹ್ಯಾಂಡ್ಲರ್‌ಗಳ ನಡುವಿನ ಸಂವಹನವು ಸಾಮಾನ್ಯ ಕಾರ್ಯಗಳನ್ನು ಕರೆಯುವುದಕ್ಕಿಂತ ಹೆಚ್ಚು ನಿಧಾನವಾಗಿರುವುದಿಲ್ಲ. ಪ್ರತ್ಯೇಕತೆಯನ್ನು ಪ್ರತ್ಯೇಕ ಮಾಡ್ಯೂಲ್‌ಗಳ ಮಟ್ಟದಲ್ಲಿ ಮಾತ್ರವಲ್ಲದೆ ಮಾಡ್ಯೂಲ್‌ಗಳ ಗುಂಪುಗಳ ಮಟ್ಟದಲ್ಲಿಯೂ ಮಾಡಬಹುದು, ಉದಾಹರಣೆಗೆ, ಸಾಮಾನ್ಯ ಮೆಮೊರಿ ಪ್ರದೇಶಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಬೇಕಾಗುತ್ತದೆ.

ವಿನಂತಿಸಿದ ಅಧಿಕಾರಗಳನ್ನು ಅವಲಂಬನೆಗಳ ಮಟ್ಟದಲ್ಲಿ ನಿರ್ಧರಿಸಬಹುದು ಮತ್ತು ಪೋಷಕ ಮಾಡ್ಯೂಲ್‌ಗಳ ಮೂಲಕ ಸರಪಳಿಯ ಉದ್ದಕ್ಕೂ ಅವಲಂಬನೆಗಳಿಗೆ ನಿಯೋಜಿಸಬಹುದು (WASI ನಲ್ಲಿನ ಸಂಪನ್ಮೂಲಗಳು ವಿಶೇಷ ರೀತಿಯ ಫೈಲ್ ಡಿಸ್ಕ್ರಿಪ್ಟರ್ - ಸಾಮರ್ಥ್ಯದೊಂದಿಗೆ ಸಂಬಂಧ ಹೊಂದಿವೆ). ಉದಾಹರಣೆಗೆ, ನಿರ್ದಿಷ್ಟ ಡೈರೆಕ್ಟರಿ ಮತ್ತು ಸಿಸ್ಟಮ್ ಕರೆಗಳನ್ನು ಪ್ರವೇಶಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಮಾಡ್ಯೂಲ್ ಅನ್ನು ನಿಯೋಜಿಸಬಹುದು ಮತ್ತು ಮಾಡ್ಯೂಲ್‌ನ ಅಭಿವೃದ್ಧಿ ಮೂಲಸೌಕರ್ಯವು ರಾಜಿ ಮಾಡಿಕೊಂಡರೆ ಅಥವಾ ದುರ್ಬಲತೆಯನ್ನು ಗುರುತಿಸಿದರೆ, ದಾಳಿಯ ಸಮಯದಲ್ಲಿ, ಪ್ರವೇಶವು ಈ ಸಂಪನ್ಮೂಲಗಳಿಗೆ ಮಾತ್ರ ಸೀಮಿತವಾಗಿರುತ್ತದೆ. ಮಾಡ್ಯೂಲ್ ರಚನೆಕಾರರಿಂದ ಸಂಪನ್ಮೂಲ ಘೋಷಣೆಗಳು ಅನುಮಾನಾಸ್ಪದ ಚಟುವಟಿಕೆಯ ಸೂಚಕವಾಗಿರಬಹುದು, ಉದಾಹರಣೆಗೆ ಪಠ್ಯ ಪ್ರಕ್ರಿಯೆ ಮಾಡ್ಯೂಲ್ ನೆಟ್‌ವರ್ಕ್ ಸಂಪರ್ಕವನ್ನು ತೆರೆಯಲು ಅನುಮತಿಯನ್ನು ಕೋರಿದಾಗ. ಆರಂಭದಲ್ಲಿ ಹೊಂದಿಸಲಾದ ಅನುಮತಿಗಳನ್ನು ಪರಿಶೀಲಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಅವು ಬದಲಾದರೆ, ಸ್ಥಳೀಯ ಮಾಡ್ಯೂಲ್ ಸಹಿಯನ್ನು ನವೀಕರಿಸುವವರೆಗೆ ಅವಲಂಬನೆ ಲೋಡಿಂಗ್ ಅನ್ನು ತಿರಸ್ಕರಿಸಲಾಗುತ್ತದೆ.

ಬೈಟ್‌ಕೋಡ್ ಅಲೈಯನ್ಸ್‌ನ ಅಡಿಯಲ್ಲಿ ಜಂಟಿ ಅಭಿವೃದ್ಧಿಗಾಗಿ ಅನುವಾದಿಸಲಾಗಿದೆ WebAssembly ಗೆ ಸಂಬಂಧಿಸಿದ ಹಲವಾರು ಯೋಜನೆಗಳು, ಈ ಹಿಂದೆ ಮೈತ್ರಿಯ ಸ್ಥಾಪಕ ಕಂಪನಿಗಳಿಂದ ಪ್ರತ್ಯೇಕವಾಗಿ ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಗಿದೆ:

  • ವೇಸ್ಟೈಮ್ - ಸಾಮಾನ್ಯ ಅದ್ವಿತೀಯ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಂತೆ WASI ವಿಸ್ತರಣೆಗಳೊಂದಿಗೆ WebAssembly ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಚಲಾಯಿಸಲು ರನ್‌ಟೈಮ್. ಇದು ವಿಶೇಷ ಕಮಾಂಡ್ ಲೈನ್ ಉಪಯುಕ್ತತೆಯನ್ನು ಬಳಸಿಕೊಂಡು WebAssembly ಬೈಟ್‌ಕೋಡ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸುವುದನ್ನು ಮತ್ತು ರೆಡಿಮೇಡ್ ಎಕ್ಸಿಕ್ಯೂಟಬಲ್ ಫೈಲ್‌ಗಳನ್ನು ಲಿಂಕ್ ಮಾಡುವುದನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ (wasmtime ಅನ್ನು ಲೈಬ್ರರಿಯಾಗಿ ಅಪ್ಲಿಕೇಶನ್‌ನಲ್ಲಿ ನಿರ್ಮಿಸಲಾಗಿದೆ). Wasmtime ಒಂದು ಹೊಂದಿಕೊಳ್ಳುವ ಮಾಡ್ಯುಲರ್ ರಚನೆಯನ್ನು ಹೊಂದಿದೆ, ಅದು ವಿವಿಧ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗಾಗಿ ರನ್‌ಟೈಮ್ ಅನ್ನು ಅಳೆಯಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ, ಉದಾಹರಣೆಗೆ, ಸೀಮಿತ ಸಂಪನ್ಮೂಲಗಳೊಂದಿಗೆ ಸಾಧನಗಳಿಗಾಗಿ ನೀವು ಸ್ಟ್ರಿಪ್ಡ್-ಡೌನ್ ಆವೃತ್ತಿಯನ್ನು ರಚಿಸಬಹುದು;
  • ಲುಸೆಟ್ — WebAssembly ಸ್ವರೂಪದಲ್ಲಿ ಕಾರ್ಯಕ್ರಮಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಕಂಪೈಲರ್ ಮತ್ತು ರನ್ಟೈಮ್. ವಿಶಿಷ್ಟ ವೈಶಿಷ್ಟ್ಯ ಲುಸೆಟ್ ಎನ್ನುವುದು JIT ಬದಲಿಗೆ ಪೂರ್ಣ-ಪ್ರಮಾಣದ ನಿರೀಕ್ಷಿತ ಸಂಕಲನ (AOT, ಮುಂದೆ-ಸಮಯ) ಅನ್ನು ನೇರವಾಗಿ ಕಾರ್ಯಗತಗೊಳಿಸಲು ಸೂಕ್ತವಾದ ಯಂತ್ರ ಸಂಕೇತವಾಗಿ ಬಳಸುವುದು. ಯೋಜನೆಯನ್ನು ಫಾಸ್ಟ್ಲಿ ಅಭಿವೃದ್ಧಿಪಡಿಸಿದೆ ಮತ್ತು ಕನಿಷ್ಠ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಸೇವಿಸಲು ಮತ್ತು ಹೊಸ ನಿದರ್ಶನಗಳನ್ನು ತ್ವರಿತವಾಗಿ ಪ್ರಾರಂಭಿಸಲು ಹೊಂದುವಂತೆ ಮಾಡಲಾಗಿದೆ (ಪ್ರತಿ ವಿನಂತಿಯ ಮೇರೆಗೆ ಪ್ರಾರಂಭಿಸಲಾದ ಹ್ಯಾಂಡ್ಲರ್‌ಗಳಿಗೆ ವೆಬ್‌ಅಸೆಂಬ್ಲಿ ಬಳಸುವ ಕ್ಲೌಡ್ ಎಡ್ಜ್ ಕಂಪ್ಯೂಟಿಂಗ್ ಎಂಜಿನ್‌ನಲ್ಲಿ ಲುಸೆಟ್ ಅನ್ನು ವೇಗವಾಗಿ ಬಳಸುತ್ತದೆ). ಜಂಟಿ ಯೋಜನೆಯ ಭಾಗವಾಗಿ, ಲುಸೆಟ್ ಕಂಪೈಲರ್ ಅನ್ನು ವಾಸ್ಮ್ಟೈಮ್ ಅನ್ನು ಆಧಾರವಾಗಿ ಬಳಸಲು ಪರಿವರ್ತಿಸಲು ಯೋಜಿಸಲಾಗಿದೆ;
  • WAMR (WebAssembly ಮೈಕ್ರೋ ರನ್‌ಟೈಮ್) WebAssembly ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಮತ್ತೊಂದು ರನ್‌ಟೈಮ್ ಆಗಿದೆ, ಇದನ್ನು ಮೂಲತಃ ಇಂಟರ್ನೆಟ್ ಆಫ್ ಥಿಂಗ್ಸ್ ಸಾಧನಗಳಲ್ಲಿ ಬಳಸಲು ಇಂಟೆಲ್ ಅಭಿವೃದ್ಧಿಪಡಿಸಿದೆ. WAMR ಅನ್ನು ಕನಿಷ್ಠ ಸಂಪನ್ಮೂಲ ಬಳಕೆಗಾಗಿ ಆಪ್ಟಿಮೈಸ್ ಮಾಡಲಾಗಿದೆ ಮತ್ತು ಕಡಿಮೆ ಪ್ರಮಾಣದ RAM ಹೊಂದಿರುವ ಸಾಧನಗಳಲ್ಲಿ ಬಳಸಬಹುದು. ಯೋಜನೆಯು WebAssembly ಬೈಟ್‌ಕೋಡ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಇಂಟರ್ಪ್ರಿಟರ್ ಮತ್ತು ವರ್ಚುವಲ್ ಯಂತ್ರ, API (Libc ನ ಉಪವಿಭಾಗ) ಮತ್ತು ಡೈನಾಮಿಕ್ ಅಪ್ಲಿಕೇಶನ್ ನಿರ್ವಹಣೆಗಾಗಿ ಉಪಕರಣಗಳನ್ನು ಒಳಗೊಂಡಿದೆ;
  • ಕ್ರೇನ್‌ಲಿಫ್ಟ್ - ಹಾರ್ಡ್‌ವೇರ್ ಆರ್ಕಿಟೆಕ್ಚರ್‌ಗಳಿಂದ ಸ್ವತಂತ್ರವಾದ ಮಧ್ಯಂತರ ಪ್ರಾತಿನಿಧ್ಯವನ್ನು ನಿರ್ದಿಷ್ಟ ಹಾರ್ಡ್‌ವೇರ್ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ಗಳಿಗೆ ಹೊಂದುವಂತೆ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಯಂತ್ರ ಕೋಡ್‌ಗೆ ಅನುವಾದಿಸುವ ಕೋಡ್ ಜನರೇಟರ್. ಕ್ರೇನ್‌ಲಿಫ್ಟ್ ಅತ್ಯಂತ ವೇಗದ ಫಲಿತಾಂಶದ ಉತ್ಪಾದನೆಗಾಗಿ ಕಾರ್ಯ ಸಂಕಲನದ ಸಮಾನಾಂತರೀಕರಣವನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ, ಇದು JIT ಕಂಪೈಲರ್‌ಗಳನ್ನು ರಚಿಸಲು ಅದನ್ನು ಬಳಸಲು ಅನುಮತಿಸುತ್ತದೆ (ಕ್ರೇನ್‌ಲಿಫ್ಟ್-ಆಧಾರಿತ JIT ಅನ್ನು Wasmtime ವರ್ಚುವಲ್ ಯಂತ್ರದಲ್ಲಿ ಬಳಸಲಾಗುತ್ತದೆ);
  • WASI ಸಾಮಾನ್ಯ - ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಂನೊಂದಿಗೆ ಸಂವಹನವನ್ನು ಸಂಘಟಿಸಲು WASI (ವೆಬ್ ಅಸೆಂಬ್ಲಿ ಸಿಸ್ಟಮ್ ಇಂಟರ್ಫೇಸ್) API ನ ಪ್ರತ್ಯೇಕ ಅನುಷ್ಠಾನ;
  • ಸರಕು-ವಾಸಿ - ಬ್ರೌಸರ್‌ನ ಹೊರಗೆ ವೆಬ್‌ಅಸೆಂಬ್ಲಿಯನ್ನು ಬಳಸುವುದಕ್ಕಾಗಿ WASI ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು WebAssembly ಬೈಟ್‌ಕೋಡ್‌ಗೆ ರಸ್ಟ್ ಕೋಡ್ ಅನ್ನು ಕಂಪೈಲ್ ಮಾಡಲು ಆದೇಶವನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವ ಕಾರ್ಗೋ ಪ್ಯಾಕೇಜ್ ಮ್ಯಾನೇಜರ್‌ಗಾಗಿ ಮಾಡ್ಯೂಲ್;
  • ವಾಟ್ и ವಾಸ್ಪಾರ್ಸರ್ — ಪಾರ್ಸಿಂಗ್ ಪಠ್ಯಕ್ಕಾಗಿ ಪಾರ್ಸರ್‌ಗಳು (WAT, WAST) ಮತ್ತು WebAssembly ಬೈಟ್‌ಕೋಡ್‌ನ ಬೈನರಿ ಪ್ರಾತಿನಿಧ್ಯಗಳು.

ರೀಕ್ಯಾಪ್ ಮಾಡಲು, WebAssembly Asm.js ನಂತೆಯೇ ಇದೆ, ಆದರೆ ಭಿನ್ನವಾಗಿದೆ ಇದು ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್‌ಗೆ ಸಂಬಂಧಿಸದ ಬೈನರಿ ಸ್ವರೂಪವಾಗಿದೆ ಮತ್ತು ವಿವಿಧ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳಿಂದ ಸಂಕಲಿಸಲಾದ ಕಡಿಮೆ-ಹಂತದ ಮಧ್ಯಂತರ ಕೋಡ್ ಅನ್ನು ಬ್ರೌಸರ್‌ನಲ್ಲಿ ಕಾರ್ಯಗತಗೊಳಿಸಲು ಅನುಮತಿಸುತ್ತದೆ. WebAssembly ಗೆ ಕಸ ಸಂಗ್ರಾಹಕ ಅಗತ್ಯವಿಲ್ಲ ಏಕೆಂದರೆ ಇದು ಸ್ಪಷ್ಟವಾದ ಮೆಮೊರಿ ನಿರ್ವಹಣೆಯನ್ನು ಬಳಸುತ್ತದೆ. ವೆಬ್‌ಅಸೆಂಬ್ಲಿಗಾಗಿ JIT ಅನ್ನು ಬಳಸುವ ಮೂಲಕ, ನೀವು ಸ್ಥಳೀಯ ಕೋಡ್‌ಗೆ ಸಮೀಪವಿರುವ ಕಾರ್ಯಕ್ಷಮತೆಯ ಮಟ್ಟವನ್ನು ಸಾಧಿಸಬಹುದು. WebAssembly ಯ ಮುಖ್ಯ ಗುರಿಗಳಲ್ಲಿ ಪೋರ್ಟಬಿಲಿಟಿ, ಊಹಿಸಬಹುದಾದ ನಡವಳಿಕೆ ಮತ್ತು ವಿಭಿನ್ನ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ಗಳಲ್ಲಿ ಒಂದೇ ರೀತಿಯ ಕೋಡ್ ಎಕ್ಸಿಕ್ಯೂಶನ್ ಅನ್ನು ಖಾತ್ರಿಪಡಿಸುವುದು.

ಮೂಲ: opennet.ru

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ