Linus Torvalds๋Š” Linux ์ปค๋„์—์„œ Rust ์ง€์›์˜ ์ดˆ๊ธฐ ๊ตฌํ˜„์— ๋Œ€ํ•œ ํ† ๋ก ์— ์ฐธ์—ฌํ–ˆ์Šต๋‹ˆ๋‹ค.

๋ฆฌ๋ˆ„์Šค ํ† ๋ฐœ์ฆˆ ์—ฐ๊ฒฐ๋จ ํ† ๋ก ์„ ์œ„ํ•ด ๊ธฐํšŒ Rust ์–ธ์–ด ๊ฐœ๋ฐœ์šฉ ๋„๊ตฌ๋ฅผ Linux ์ปค๋„์— ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. Intel์˜ Josh Triplett๊ฐ€ ์ž‘์—… ์ค‘์ž…๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ถ„์•ผ์—์„œ Rust ์–ธ์–ด๋ฅผ C ์–ธ์–ด์™€ ๋™๋“ฑํ•˜๊ฒŒ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด, ะฟั€ะตะดะปะพะถะธะป ์ดˆ๊ธฐ ๋‹จ๊ณ„์—์„œ Kconfig์— Rust๋ฅผ ์ง€์›ํ•˜๋Š” ์˜ต์…˜์„ ์ถ”๊ฐ€ํ•˜๋ฉด "make allnoconfig" ๋ฐ "make allyesconfig" ๋ชจ๋“œ์—์„œ ๋นŒ๋“œํ•  ๋•Œ Rust ์ปดํŒŒ์ผ๋Ÿฌ ์ข…์†์„ฑ์ด ํฌํ•จ๋˜์ง€ ์•Š๊ณ  Rust ์ฝ”๋“œ๋ฅผ ๋” ์ž์œ ๋กญ๊ฒŒ ์‹คํ—˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋น„์Šทํ•œ ํŠธ๋ฆญ์ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ถ”๊ฐ€ ์—ฐ๊ฒฐ ๋‹จ๊ณ„(LTO, Link Time Optimization)์—์„œ ์ตœ์ ํ™” ๋ชจ๋“œ์—์„œ Clang์˜ ์–ด์…ˆ๋ธ”๋ฆฌ๋ฅผ ์œ„ํ•œ ์‹คํ—˜์  ์ง€์›์˜ ํ•ต์‹ฌ์œผ๋กœ, ์ดํ›„ ์ถ”๊ฐ€๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. ์ง€์ง€ ๋ช…๋ น ์Šค๋ ˆ๋“œ ๋ณดํ˜ธ๋กœ ๋นŒ๋“œ(CFI, ์ œ์–ด ํ๋ฆ„ ๋ฌด๊ฒฐ์„ฑ).

Linus๋Š” ์ด์— ๋™์˜ํ•˜์ง€ ์•Š๊ณ  Rust์— ๋Œ€ํ•œ ์ดˆ๊ธฐ ์ง€์›์ด ๋นŒ๋“œ์— ๋Œ€ํ•ด ํ…Œ์ŠคํŠธ๋˜์ง€ ์•Š์•„ ํ”„๋กœ์ ํŠธ์— ๊ด€์‹ฌ์ด ์žˆ๋Š” ์†Œ๊ทœ๋ชจ ๊ฐœ๋ฐœ์ž ๊ทธ๋ฃน์ด ํŠน์ • ์กฐ๊ฑด์—์„œ๋งŒ ์ฝ”๋“œ๋ฅผ ํ…Œ์ŠคํŠธํ•˜๊ณ  ์ž˜๋ชป๋œ ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ์ž์ฒด ๋Šช์— ๋น ์งˆ ์œ„ํ—˜์ด ์žˆ๋‹ค๋Š” ์šฐ๋ ค๋ฅผ ํ‘œ๋ช…ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ˆจ๊ฒจ์ง„ ์ƒํƒœ๋กœ ์œ ์ง€๋˜๋ฉฐ ๋‹ค๋ฅธ ํ™˜๊ฒฝ์—์„œ ์ปค๋„์„ ํ…Œ์ŠคํŠธํ•  ๋•Œ ํŒ์—…๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Linus์— ๋”ฐ๋ฅด๋ฉด ์ตœ์ดˆ์˜ Rust ๋“œ๋ผ์ด๋ฒ„๋Š” ์˜ค๋ฅ˜๊ฐ€ ๋ช…ํ™•ํ•˜๊ณ  ๊ฐ์ง€ํ•˜๊ธฐ ์‰ฌ์šด ๊ฐ„๋‹จํ•œ ํ˜•์‹์œผ๋กœ ์ œ๊ณต๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ๋ฅผ ๋‹จ์ˆœํ™”ํ•˜๊ธฐ ์œ„ํ•ด ๊ทธ๋Š” C ์ปดํŒŒ์ผ๋Ÿฌ ๋ฒ„์ „๊ณผ ์ง€์›๋˜๋Š” ํ”Œ๋ž˜๊ทธ๋ฅผ ํ™•์ธํ•  ๋•Œ์™€ ๋™์ผํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ๊ฒƒ์„ ๊ถŒ์žฅํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ์‹œ์Šคํ…œ์— Rust ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ์„ค์น˜๋œ ๊ฒฝ์šฐ ์ง€์›์„ ํ™œ์„ฑํ™”ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€