Design: ์›น์ด ์•„๋‹Œ ์˜ˆ?

์— ๋งŒ๋“  2017๋…„ 10์›” 30์ผ  ยท  7์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: WebAssembly/design

์›น์ด ์•„๋‹Œ ์ž„๋ฒ ๋”ฉ ๊ตฌํ˜„์˜ ์˜ˆ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ? Cortex-M MCU์™€ ํ•จ๊ป˜ WebAssembly๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ๊ฐ€์žฅ ๊ด€์‹ฌ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  7 ๋Œ“๊ธ€

Parity ์•”ํ˜ธ ํ™”ํ๋Š” ์Šคํฌ๋ฆฝํŒ… ์–ธ์–ด์— wass๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ๋งˆ์ง€๋ง‰์œผ๋กœ ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.

๋‚ด ์žฅ๋‚œ๊ฐ OS์— ์‹คํ–‰ ํŒŒ์ผ์˜ ๊ธฐ๋ณธ ํ˜•์‹์œผ๋กœ wasm์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ๋จผ ๋ฏธ๋ž˜์˜ ์ผ์ด์ง€๋งŒ.

ํฌํ•จํ•  ์ˆ˜ ์žˆ๋Š” @kanaka ์˜ wac ๋ฅผ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํ”„๋กœ์ ํŠธ์˜ ์žฅ๊ธฐ ๋ชฉํ‘œ๊ฐ€ ๋ฌด์—‡์ธ์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Node.js๋Š” ๋‹ค์–‘ํ•œ ์ด๊ตญ์ ์ธ ํ”Œ๋žซํผ์œผ๋กœ ์ด์‹๋˜์—ˆ๊ณ  ๋งค์šฐ ์ธ๊ธฐ๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ตœ์„ ์˜ ์„ ํƒ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

.NET์šฉ WebAssembly๋Š” .NET Standard 1.4+๊ฐ€ ์ง€์›๋˜๋Š” ๋ชจ๋“  ๊ณณ์—์„œ ๊ฑฐ์˜ ๊ธฐ๋ณธ ์†๋„๋กœ ์‹คํ–‰๋˜์ง€๋งŒ ์—ฌ๊ธฐ์— Cortex-M์ด ํฌํ•จ๋˜๋Š”์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

wasm-jit-prototype ์„ ์‚ดํŽด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ€์žฅ ๋ˆˆ์— ๋„๋Š” ์˜ˆ๋Š” ์‚ฌ์–‘๊ณผ ํ•จ๊ป˜ ์ œ๊ณต๋˜๋Š” ์ฐธ์กฐ ์ธํ„ฐํ”„๋ฆฌํ„ฐ์ž…๋‹ˆ๋‹ค. https://github.com/WebAssembly/spec/tree/master/interpreter

๋‚ด libwasm ํ”„๋กœ์ ํŠธ๋Š” ๋ช…๋ น์ค„ ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋„ ๊ตฌ์ถ•ํ•ฉ๋‹ˆ๋‹ค. ์›ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํฌํ•จํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. https://github.com/JohnSully/libwasm

๋‚ด WasmVM ํ”„๋กœ์ ํŠธ๋Š” ์ž๋™ ๋งํฌ ๋ชจ๋“ˆ, ํŠธ๋žฉ์— ์˜ํ•œ ์‹œ์Šคํ…œ ํ˜ธ์ถœ ์ง€์› ๋“ฑ์˜ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜์—ฌ ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋„ ๊ตฌ์ถ•ํ•ฉ๋‹ˆ๋‹ค.
https://github.com/LuisHsu/WasmVM

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰