Intel์์ ๊ทผ๋ฌดํ๋ฉฐ Crates.io ๊ฐ๋ฐ์ ๊ฐ๋
ํ๋ ์์ํ์ ์์์ธ Josh Triplett๊ฐ Open Source Technology Summit์์ ์ฐ์คํ๊ณ ์์ต๋๋ค.
ํ์ฌ ์งํ ์ค์ธ ์์ ๊ทธ๋ฃน์์ Rust ๊ฐ๋ฐ์๋ Intel์ ์์ง๋์ด์ ํจ๊ป ์์คํ ํ๋ก๊ทธ๋๋ฐ์ ์ํด Rust์์ ๊ตฌํํด์ผ ํ๋ ๊ธฐ๋ฅ์ ์ ์ํ๋ ์ฌ์์ ์ค๋นํ ๊ฒ์ ๋๋ค. ์์คํ ํ๋ก๊ทธ๋๋ฐ์๋ ๊ถํ ์๋ ํ๋ก์ธ์ ๋ช ๋ น์ ์คํํ๊ณ ํ๋ก์ธ์ ์ํ์ ๋ํ ์์ธํ ์ ๋ณด๋ฅผ ์ป๋ ๋ฑ ๋ฎ์ ์์ค์ ์กฐ์์ด ํ์ํ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. Rust๋ฅผ ์ํด ์ด๋ฏธ ๊ฐ๋ฐ ์ค์ธ ์ ์ฌํ ๊ธฐ๋ฅ ์ค์์ ์ด๋ฆ ์๋ ๊ตฌ์กฐ, ๊ณต์ฉ์ฒด, ์ด์ ๋ธ๋ฆฌ ์ธ์ด ์ฝ์ ("asm!" ๋งคํฌ๋ก) ๋ฐ BFLOAT16 ๋ถ๋ ์์์ ์ซ์ ํ์์ ๋ํ ์ง์์ด ์ฃผ๋ชฉ๋ฉ๋๋ค.
Josh๋ ์์คํ
ํ๋ก๊ทธ๋๋ฐ์ ๋ฏธ๋๊ฐ Rust์ ์ํด ์๋ค๊ณ ๋ฏฟ์ผ๋ฉฐ, ํ๋ ํ์ค์์ C ์ธ์ด๋ ์ง๋ ๋ช ๋
๊ฐ Assembly๊ฐ ์ฐจ์งํ๋ ์๋ฆฌ๋ฅผ ์ฐจ์งํ๊ณ ์์ต๋๋ค. ๋
น
๊ฐ๋ฐ์๋ ๋ฎ์ ์์ค์ ๋ฉ๋ชจ๋ฆฌ ์์
์ผ๋ก ์ธํด ๋ฐ์ํ๋ C ์ธ์ด ๊ณ ์ ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ๋ฟ๋ง ์๋๋ผ ์ต์ ํ๋ก๊ทธ๋๋ฐ ํจ๋ฌ๋ค์ ๊ฐ๋ฐ์ C ์ธ์ด๋ฅผ ์ฌ์ฉํ ์ ์๋ ๊ธฐํ๋ ์ ๊ณตํฉ๋๋ค.
๋์
Josh๋ Linux ์ปค๋์ Rust ์ธ์ด๋ก ๋๋ผ์ด๋ฒ๋ฅผ ๊ฐ๋ฐํ๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ ์์ด๋์ด๋ฅผ ๋ด๋์์ต๋๋ค. ์ด๋ฅผ ํตํด ํด์ ํ ๋ฉ๋ชจ๋ฆฌ ์ก์ธ์ค์ ๊ฐ์ ๋ฌธ์ ์์ด ์ต์ํ์ ๋
ธ๋ ฅ์ผ๋ก ๋ ์์ ํ๊ณ ๋ ๋์ ๋๋ผ์ด๋ฒ๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค. ํฌ์ธํฐ ์ญ์ฐธ์กฐ ๋ฐ ๋ฒํผ ์ค๋ฒ๋ฐ.
Linux ์ปค๋์ ์์ ์ ์ธ ๋ธ๋์น ์ ์ง ๊ด๋ฆฌ๋ฅผ ๋ด๋นํ๊ณ ์๋ Greg Kroah-Hartman์ Rust ์ธ์ด๋ก ๋๋ผ์ด๋ฒ๋ฅผ ๊ฐ๋ฐํ๊ธฐ ์ํ ํ๋ ์์ํฌ๊ฐ C์ ๋นํด ์ค์ง์ ์ธ ์ฅ์ ์ด ์๋ค๋ฉด ์ปค๋์ ์ถ๊ฐํ ์ค๋น๊ฐ ๋์ด ์๋ค๊ณ ๋ฐํ์ต๋๋ค. ์ปค๋ API๋ฅผ ํตํ ๋ฐ์ธ๋ฉ. ๋ํ Greg๋ Rust๋ฅผ ์ปค๋์ ๋น๋ ์ข ์์ฑ์ผ๋ก ํฌํจํ์ง ์๊ธฐ ์ํด ์ด ํ๋ ์์ํฌ๋ฅผ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ฑํ๋์ง ์๋ ์ต์ ์ผ๋ก๋ง ๊ฐ์ฃผํฉ๋๋ค.
์ด๋ฏธ ์ฌ๋ฌ ํ์ด ์ด ๋ฐฉํฅ์ผ๋ก ์์
ํ๊ณ ์๋ ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค. ์๋ฅผ ๋ค์ด, "Fish in a Barrel"์ด๋ผ๋ ํ์ฌ์ ๊ฐ๋ฐ์
ํํ
์๋ํ ๋ชจ๋ ๊ธฐ๋ฅ์ด ์์ง ๊ตฌํ๋์ง๋ ์์์ง๋ง ํ๋ ์์ํฌ๋ ์ด๋ฏธ ์์ ์ ๋งค์ฐ ์ ํฉํ๋ฉฐ Raspberry Pi 9512 ๋ณด๋์ ์ ๊ณต๋๋ LAN3 USB ์ด๋๋ท ์ปจํธ๋กค๋ฌ์ฉ ์๋ ๋๋ผ์ด๋ฒ๋ฅผ ์์ฑํ๋ ๋ฐ ์ฌ์ฉ๋์์ต๋๋ค. C ์ธ์ด. Rust์์ ๋๋ผ์ด๋ฒ๋ฅผ ๊ฐ๋ฐํ ๋ ๋ชจ๋ ํฌ๊ธฐ์ ๋ฐํ์ ๊ตฌ์ฑ ์์์ ์ค๋ฒํค๋๊ฐ ๋ฏธ๋ฏธํ๋ฏ๋ก ๋ฆฌ์์ค๊ฐ ์ ํ๋ ์ฅ์น์ ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ถ์ฒ : opennet.ru