์ปค๋„ ๋ฆด๋ฆฌ์Šค Linux 6.19. ๋‹ค์Œ ์ฝ”์–ด๋Š” 7.0์œผ๋กœ ๋ฒˆํ˜ธ๊ฐ€ ๋งค๊ฒจ์งˆ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋‘ ๋‹ฌ๊ฐ„์˜ ๊ฐœ๋ฐœ ๋์— ๋ฆฌ๋ˆ„์Šค ํ† ๋ฅด๋ฐœ์Šค๋Š” ์ปค๋„์„ ๊ณต๊ฐœํ–ˆ์Šต๋‹ˆ๋‹ค. Linux 6.19. ๊ฐ€์žฅ ์ฃผ๋ชฉํ•  ๋งŒํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์œผ๋กœ๋Š” ๋ผ์ด๋ธŒ ์—…๋ฐ์ดํŠธ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ดํ„ฐ ์„œ๋ธŒ์‹œ์Šคํ…œ, PCIe ๋งํฌ ์•”ํ˜ธํ™” ์ง€์›, listens ์‹œ์Šคํ…œ ํ˜ธ์ถœ, io_uring์˜ ์ œ๋กœ ์นดํ”ผ ์ˆ˜์‹  ๋ชจ๋“œ, ARM MPAM ํ™•์žฅ ์ง€์›, ๋ผ์ด๋ธŒ ํŒจ์น˜ ์ƒ์„ฑ์„ ์œ„ํ•œ klp-build, LoongArch32 ์•„ํ‚คํ…์ฒ˜ ์ง€์›, s2idle์šฉ QoS, ๊ฐ์‚ฌ ์„œ๋ธŒ์‹œ์Šคํ…œ ์ตœ์ ํ™”, Spectre ๋ณดํ˜ธ๋ฅผ ์œ„ํ•œ Intel LASS, SHA-3 ๋ฐ BLAKE2b ํ•ด์‹œ ์ง€์›, ๊ธฐ๋ฐ€ VMBus ๋ฉ”์ปค๋‹ˆ์ฆ˜, ๋„คํŠธ์›Œํฌ ์„œ๋ธŒ์‹œ์Šคํ…œ์˜ TX ์ตœ์ ํ™”, CAN XL ํ”„๋กœํ† ์ฝœ, HDR ์ถœ๋ ฅ ํ•˜๋“œ์›จ์–ด ๊ฐ€์†์šฉ API ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ƒˆ ๋ฒ„์ „ ๋ฐœํ‘œ์—์„œ ๋ฆฌ๋ˆ„์Šค๋Š” ๋‹ค์Œ ์ปค๋„ ๋ฆด๋ฆฌ์Šค์˜ ๋ฒ„์ „ ๋ฒˆํ˜ธ๋ฅผ 7.0์œผ๋กœ ์ •ํ–ˆ๋‹ค๊ณ  ๋ฐœํ‘œํ–ˆ์Šต๋‹ˆ๋‹ค. 6.x ๋ธŒ๋žœ์น˜์— ๋ฆด๋ฆฌ์Šค๊ฐ€ ๋ˆ„์ ๋˜์–ด ๋ฒ„์ „ ๋ฒˆํ˜ธ์˜ ์ฒซ ๋ฒˆ์งธ ์ž๋ฆฌ๋ฅผ ๋ณ€๊ฒฝํ•ด์•ผ ํ•  ์‹œ์ ์ด ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค(6.0 ๋ฆด๋ฆฌ์Šค๋Š” 5.19 ๋ฆด๋ฆฌ์Šค ์ดํ›„์— ๋‚˜์™”์Šต๋‹ˆ๋‹ค). ์ด๋Ÿฌํ•œ ๋ฒˆํ˜ธ ๋ณ€๊ฒฝ์€ ๋ฏธ์ ์ธ ์ด์œ ์—์„œ ๋น„๋กฏ๋˜์—ˆ์œผ๋ฉฐ, ์‹œ๋ฆฌ์ฆˆ์— ๋ฆด๋ฆฌ์Šค๊ฐ€ ๋งŽ์ด ๋ˆ„์ ๋˜๋ฉด์„œ ๋ฐœ์ƒํ•˜๋Š” ํ˜ผ๋ž€์„ ํ•ด์†Œํ•˜๊ธฐ ์œ„ํ•œ ๊ณต์‹์ ์ธ ์กฐ์น˜์ž…๋‹ˆ๋‹ค. ๋ฆฌ๋ˆ„์Šค๋Š” ๋†๋‹ด ์‚ผ์•„ ์ž์‹ ์€ ์†๊ฐ€๋ฝ๊ณผ ๋ฐœ๊ฐ€๋ฝ์ด ๋ถ€์กฑํ•ด์„œ ์ด ํฐ ์ˆซ์ž๋“ค์„ ์ดํ•ดํ•˜๊ธฐ ์–ด๋ ต๋‹ค๊ณ  ๋งํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ณต์‹์ ์œผ๋กœ๋Š” ๋ฒ„์ „ ๋ฒˆํ˜ธ ๋ณ€๊ฒฝ์— ์ค‘์š”ํ•œ ์ด์œ ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ๋ฆด๋ฆฌ์Šค๋ถ€ํ„ฐ Rust ์ง€์›์ด ์‹คํ—˜์ ์ธ ๊ธฐ๋Šฅ์—์„œ ํ•ต์‹ฌ ์ปค๋„ ๊ธฐ๋Šฅ์œผ๋กœ ์ด๋™ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

์ƒˆ ๋ฒ„์ „์—๋Š” 2237๋ช…์˜ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ž‘์„ฑํ•œ 15657๊ฐœ์˜ ์ˆ˜์ • ์‚ฌํ•ญ์ด ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉฐ, ํŒจ์น˜ ํฌ๊ธฐ๋Š” 52MB์ž…๋‹ˆ๋‹ค(๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ 13682๊ฐœ์˜ ํŒŒ์ผ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๊ณ , 794649์ค„์˜ ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  335498์ค„์˜ ์ฝ”๋“œ๋ฅผ ์‚ญ์ œํ–ˆ์Šต๋‹ˆ๋‹ค). ์ด์ „ ๋ฆด๋ฆฌ์Šค์—๋Š” 2217๋ช…์˜ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ž‘์„ฑํ•œ 15035๊ฐœ์˜ ์ˆ˜์ • ์‚ฌํ•ญ์ด ํฌํ•จ๋˜์—ˆ์œผ๋ฉฐ, ํŒจ์น˜ ํฌ๊ธฐ๋Š” 45MB์˜€์Šต๋‹ˆ๋‹ค. 6.19 ๋ฒ„์ „์˜ ์ „์ฒด ๋ณ€๊ฒฝ ์‚ฌํ•ญ ์ค‘ ์•ฝ 40%๋Š” ์žฅ์น˜ ๋“œ๋ผ์ด๋ฒ„์™€ ๊ด€๋ จ์ด ์žˆ์œผ๋ฉฐ, ์•ฝ 13%๋Š” ํ•˜๋“œ์›จ์–ด ์•„ํ‚คํ…์ฒ˜ ๊ด€๋ จ ์ฝ”๋“œ ์—…๋ฐ์ดํŠธ, 12%๋Š” ๋„คํŠธ์›Œํฌ ์Šคํƒ, 5%๋Š” ํŒŒ์ผ ์‹œ์Šคํ…œ, ๊ทธ๋ฆฌ๊ณ  3%๋Š” ๋‚ด๋ถ€ ์ปค๋„ ํ•˜์œ„ ์‹œ์Šคํ…œ๊ณผ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ปค๋„ 6.19์˜ ์ฃผ์š” ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ(1, 2, 3):

  • ๋””์Šคํฌ ํ•˜์œ„ ์‹œ์Šคํ…œ, I/O ๋ฐ ํŒŒ์ผ ์‹œ์Šคํ…œ
    • Btrfs์—์„œ๋Š” ํŒŒ์ผ ์‹œ์Šคํ…œ ์Šคํฌ๋Ÿฝ ๋ฐ ์žฅ์น˜ ๊ต์ฒด ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋” ์ด์ƒ ์‹œ์Šคํ…œ์˜ ์ ˆ์ „ ๋ชจ๋“œ ์ง„์ž…์„ ์ฐจ๋‹จํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค(์Šคํฌ๋Ÿฝ ์ƒํƒœ๋Š” ์ ˆ์ „ ๋ชจ๋“œ ์ง„์ž… ์ „์— ์ €์žฅ๋˜๋ฉฐ, ์ ˆ์ „ ๋ชจ๋“œ์—์„œ ๊นจ์–ด๋‚œ ํ›„ ์Šคํฌ๋Ÿฝ์ด ๊ณ„์†๋˜๊ณ  ์žฅ์น˜ ๊ต์ฒด ์ž‘์—…์ด ๋‹ค์‹œ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค). RAID56 ๊ตฌํ˜„์€ ์ด์ œ ๋ฉ”๋ชจ๋ฆฌ ํŽ˜์ด์ง€ ํฌ๊ธฐ๋ณด๋‹ค ํฐ ๋ธ”๋ก์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. fscrypt ์ง€์›์„ ์œ„ํ•œ ์ค€๋น„๊ฐ€ ์™„๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ณต๊ฐ„ ์˜ˆ์•ฝ ์ž‘์—… ์ค‘ ๋ฝ์„ ์‚ฌ์šฉํ•œ ์„ฑ๋Šฅ์ด ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. "shutdown" ioctl ์ž‘์—…์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์–ด ํŒŒ์ผ ์‹œ์Šคํ…œ์ด ๊ธฐ์กด ์ž‘์—…์„ ์™„๋ฃŒํ•˜๋ ค๊ณ  ์‹œ๋„ํ•˜์ง€๋งŒ ๋ชจ๋“  ์ƒˆ ์ž‘์—…์„ ์ฐจ๋‹จํ•˜๋Š” ์ƒํƒœ๋กœ ์ „ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • Ext4 ํŒŒ์ผ ์‹œ์Šคํ…œ์€ ๋ฉ”๋ชจ๋ฆฌ ํŽ˜์ด์ง€ ํฌ๊ธฐ(x86 ์‹œ์Šคํ…œ์—์„œ >4KB)๋ณด๋‹ค ํฐ ๋ธ”๋ก์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ํฐ ๋ธ”๋ก์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฒ„ํผ๋ง๋œ ์“ฐ๊ธฐ ์ž‘์—… ์„ฑ๋Šฅ์ด ํ‰๊ท  50% ํ–ฅ์ƒ๋˜์ง€๋งŒ, ์ฒดํฌ์„ฌ ๊ณ„์‚ฐ ์‹œ๊ฐ„์ด ์ฆ๊ฐ€ํ•˜์—ฌ ์ง์ ‘ I/O ์„ฑ๋Šฅ์€ ์ €ํ•˜๋ฉ๋‹ˆ๋‹ค. ์ƒˆ ๋ฒ„์ „์—๋Š” ์˜จ๋ผ์ธ ์กฐ๊ฐ ๋ชจ์Œ ์ค‘ ์ฒ˜๋ฆฌ๋Ÿ‰์„ ๋†’์ด๋Š” ์ตœ์ ํ™” ๊ธฐ๋Šฅ๋„ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
    • FUSE ์„œ๋ธŒ์‹œ์Šคํ…œ์€ ๋Œ€์šฉ๋Ÿ‰ ํด๋ฆฌ์˜ค๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๋ฒ„ํผ๋ง๋œ ์ฝ๊ธฐ ๊ธฐ๋Šฅ์„ ๊ฐœ์„ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ iomap์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ถ€๋ถ„์ ์œผ๋กœ ์œ ํšจํ•œ ํด๋ฆฌ์˜ค๋ฅผ ์ถ”์ ํ•˜๊ณ  ๋ฒ„ํผ์— ์—†๋Š” ๋ฐ์ดํ„ฐ๋งŒ ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.
    • VFS๋Š” ์ทจ์†Œ ๊ฐ€๋Šฅํ•œ ๋””๋ ‰ํ„ฐ๋ฆฌ ์œ„์ž„ ์ง€์›์„ ์ถ”๊ฐ€ํ•˜์—ฌ NFS๊ฐ€ ๋””๋ ‰ํ„ฐ๋ฆฌ ์ œ์–ด๋ฅผ ๋‹ค๋ฅธ ๊ณณ์œผ๋กœ ์ด์ „ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค. ์„œ๋ฒ„ NFS ํด๋ผ์ด์–ธํŠธ๋Š” ๋กœ์ปฌ ์บ์‹œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ NFS ์„œ๋ฒ„์— ์ ‘๊ทผํ•˜์ง€ ์•Š๊ณ ๋„ ๋””๋ ‰ํ„ฐ๋ฆฌ ์ƒํƒœ๋ฅผ ๋…๋ฆฝ์ ์œผ๋กœ ๋ชจ๋‹ˆํ„ฐ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ NFS ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ด ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๋ณ€๊ฒฝํ•˜๋ฉด ์ฒซ ๋ฒˆ์งธ ํด๋ผ์ด์–ธํŠธ์— ๋Œ€ํ•œ ์ œ์–ด ์œ„์ž„์ด ํ•ด์ œ๋ฉ๋‹ˆ๋‹ค.
    • NFS์—์„œ ์ง์ ‘ I/O ๋ชจ๋“œ ์ฝ๊ธฐ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์บ์‹ฑ ๋ฐ ์ง์ ‘ I/O ์ž‘์—…์˜ ํฌํ•จ ์—ฌ๋ถ€๋ฅผ ์ œ์–ดํ•˜๊ธฐ ์œ„ํ•ด /sys/kernel/debug/nfsd/io_cache_read ๋ฐ /sys/kernel/debug/nfsd/io_cache_write ์„ค์ •์ด ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์„ค์ •์„ ์กฐ์ •ํ•˜๋ฉด ๋Œ€๊ทœ๋ชจ I/O ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ๋•Œ NFS ํด๋ผ์ด์–ธํŠธ ์ธก์˜ ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • NTFS๋Š” ์ด์ œ ์ข…๋ฃŒ ioctl ์ž‘์—…์„ ์ง€์›ํ•˜๊ณ , "acl" ๋ฐ "prealloc" ๋งˆ์šดํŠธ ์˜ต์…˜์„ ๊ธฐ๋ณธ์ ์œผ๋กœ ํ™œ์„ฑํ™”ํ•˜๋ฉฐ, 1970๋…„ 1์›” 1์ผ๊นŒ์ง€์˜ ํƒ€์ž„์Šคํƒฌํ”„๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
    • ๋ธ”๋ก ์žฅ์น˜์™€ ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ๊ฒฝ์šฐ, ํ™œ์„ฑ ์ž…์ถœ๋ ฅ ์ž‘์—…์„ ์ •์˜ํ•˜๋Š” "bio"(๋ธ”๋ก I/O) ๊ฐ์ฒด์˜ ๋ณ„๋„ ์บ์‹ฑ์ด ๊ฐ CPU์— ๋Œ€ํ•ด ๊ธฐ๋ณธ์ ์œผ๋กœ ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ฉ”๋ชจ๋ฆฌ ๋ฐ ์‹œ์Šคํ…œ ์„œ๋น„์Šค
    • ์ปค๋„์—๋Š” ์‹œ์Šคํ…œ, ์žฅ์น˜ ๋ฐ ํ”„๋กœ์„ธ์Šค์˜ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ ์‹œ์Šคํ…œ ์žฌ๋ถ€ํŒ… ๋ฐ ์ปค๋„ ์—…๋ฐ์ดํŠธ๋ฅผ ์™„์ „ํžˆ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” LUO(Live Update Orchestrator) ์„œ๋ธŒ์‹œ์Šคํ…œ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. LUO ์„œ๋ธŒ์‹œ์Šคํ…œ์€ ์ด์ „์— ์ถ”๊ฐ€๋œ KHO(Kexec HandOver) ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋ฉฐ, ์‹œ์Šคํ…œ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ ๊ธฐ์กด ์ปค๋„์—์„œ ์ƒˆ ์ปค๋„๋กœ ์ „ํ™˜ํ•˜๋Š” ๊ฒƒ ์™ธ์—๋„ ์žฅ์น˜ ๋ฐ RAM ์ƒํƒœ ๋ณด์กด, DMA ๋ฐ ์ธํ„ฐ๋ŸฝํŠธ ์ฒ˜๋ฆฌ์™€ ๊ด€๋ จ๋œ ์ž‘์—… ์—ฐ์†์„ฑ ๋ณด์žฅ๊ณผ ๊ฐ™์€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ์ƒˆ ์ปค๋„๋กœ ์ „ํ™˜ํ•˜๊ธฐ ์ „์— ์ƒํƒœ๊ฐ€ ๋ณด์กด๋˜๊ณ  ์ƒˆ ์ปค๋„์ด ํ™œ์„ฑํ™”๋œ ํ›„ ์‹œ์Šคํ…œ ๋ฐ ์‚ฌ์šฉ์ž ๊ณต๊ฐ„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์ˆ˜ํ–‰๋˜๋Š” ์ง€์†์ ์ธ ์žฅ์น˜ ์ž‘์—…์„ ์ค‘๋‹จํ•˜์ง€ ์•Š๊ณ  ๋ณต์›๋ฉ๋‹ˆ๋‹ค.
    • /proc/ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ˆœํšŒํ•˜์ง€ ์•Š๊ณ ๋„ ์‹œ์Šคํ…œ์— ์กด์žฌํ•˜๋Š” ๋„ค์ž„์ŠคํŽ˜์ด์Šค ๋ชฉ๋ก์„ ๊ฐ€์ ธ์˜ค๋Š” listns() ์‹œ์Šคํ…œ ํ˜ธ์ถœ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•ด /ns/๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
    • io_uring ๋น„๋™๊ธฐ I/O ์‹œ์Šคํ…œ์€ ์ด์ œ ์ด์ „ ๋ฆด๋ฆฌ์Šค์—์„œ ๊ฒฐ๊ณผ ํ(CQE) ๋‚ด์šฉ์˜ ํฌ๊ธฐ๋ฅผ ํ˜ผํ•ฉํ•  ์ˆ˜ ์žˆ์—ˆ๋˜ ๊ฒƒ์ฒ˜๋Ÿผ ์ œ์ถœ ํ ํ•ญ๋ชฉ(SQE)์— ํฌ๊ธฐ๊ฐ€ ๋‹ค๋ฅธ ์š”์†Œ๋ฅผ ๋ฐฐ์น˜ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ด์ „์—๋Š” ํ์˜ ๋ชจ๋“  ์š”์†Œ๊ฐ€ ๋™์ผํ•œ ํฌ๊ธฐ์—ฌ์•ผ ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ๋“  ์š”์†Œ์— ์ตœ๋Œ€ ํฌ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ด์„œ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ด ๊ณผ๋„ํ•˜๊ฒŒ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

      io_uring์€ ์ปค๋„๊ณผ ์‚ฌ์šฉ์ž ๊ณต๊ฐ„ ๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต์‚ฌํ•˜์ง€ ์•Š๊ณ  ์ˆ˜์‹ ํ•˜๋Š” zcrx(์ œ๋กœ ์นดํ”ผ ์ˆ˜์‹ ) ๋ฉ”์ปค๋‹ˆ์ฆ˜์— ๋Œ€ํ•œ ์ง€์›์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ SQ(์ œ์ถœ ํ) ๋ฐ CQ(์™„๋ฃŒ ํ)์— ๋Œ€ํ•œ ๋ฉ”๋ชจ๋ฆฌ ๋ ˆ์ด์•„์›ƒ ์ฟผ๋ฆฌ ์ง€์›์ด ์ถ”๊ฐ€๋˜์–ด IORING_SETUP_NO_MMAP ๋ฐ IORING_MEM_REGION_TYPE_USER ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž ์ •์˜ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์— ํ•„์š”ํ•œ ๋ง ๋ฒ„ํผ ํฌ๊ธฐ ์ •๋ณด๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    • perf์™€ ๊ฐ™์€ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋น ๋ฅธ ์Šคํƒ ์ถ”์ ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด ํ˜ธ์ถœ ์Šคํƒ ์–ธ์™€์ธ๋“œ ์ •๋ณด๋ฅผ ํฌํ•จํ•˜๋Š” SFrame ํ˜•์‹์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. SFrame์€ ์ด๋ฏธ GCC์™€ binutils์—์„œ ์ง€์›๋˜๋ฉฐ ์„ฑ๋Šฅ ์ €ํ•˜๋ฅผ ์ผ์œผํ‚ค์ง€ ์•Š๊ณ , DWARF ํ˜•์‹๊ณผ ๋‹ฌ๋ฆฌ ์Šคํƒ ์ถ”์ ์— ํ•„์š”ํ•œ ์ตœ์†Œํ•œ์˜ ์ •๋ณด๋งŒ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.
    • perf ์œ ํ‹ธ๋ฆฌํ‹ฐ๋Š” ์ด์ œ ํ†ตํ•ฉ JSON ๋ฉ”ํŠธ๋ฆญ ๋ฐ ์ด๋ฒคํŠธ ์„ค๋ช…์„ ์ง€์›ํ•˜๋ฉฐ, ์‚ฌ์šฉ์ž ๊ณต๊ฐ„์—์„œ ํ˜ธ์ถœ ์Šคํƒ์˜ ์ง€์—ฐ๋œ ์—ญ์ถ”์  ๊ธฐ๋Šฅ๋„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
    • AMD ํ”„๋กœ์„ธ์„œ๋Š” I/O ์žฅ์น˜๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ๋จผ์ € RAM์— ์ €์žฅํ•˜์ง€ ์•Š๊ณ  CPU์˜ L3 ์บ์‹œ์— ์ง์ ‘ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ์บ์‹œ ๋Œ€์ฒด ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ๊ฐ–์ถ”๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
    • ARMv8-A ๋ช…๋ น์–ด ์„ธํŠธ ์•„ํ‚คํ…์ฒ˜์˜ ํ™•์žฅ ๊ธฐ๋Šฅ์ธ MPAM(๋ฉ”๋ชจ๋ฆฌ ์‹œ์Šคํ…œ ๋ฆฌ์†Œ์Šค ํŒŒํ‹ฐ์…”๋‹ ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง)์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. MPAM์€ ๊ฐ ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ์— ํŒŒํ‹ฐ์…˜ ID(PARTID)์™€ ๋ชจ๋‹ˆํ„ฐ๋ง ๊ทธ๋ฃน ID(PMG)๋ฅผ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค. PARTID๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ ๋Œ€์—ญํญ์ด๋‚˜ ์บ์‹œ ํฌ๊ธฐ์™€ ๊ฐ™์€ ๋ฆฌ์†Œ์Šค ์‚ฌ์šฉ๋Ÿ‰์„ ์ œํ•œํ•˜์—ฌ ํŠน์ • ์ž‘์—… ๊ทธ๋ฃน์ด ๋ชจ๋“  ๋ฆฌ์†Œ์Šค๋ฅผ ๋…์ ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋‹ˆํ„ฐ๋ง ํ™˜๊ฒฝ์—์„œ๋Š” PMG์™€ PARTID๋ฅผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜์—ฌ ํŠน์ • ์›Œํฌ๋กœ๋“œ์—์„œ์˜ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ์ถ”์ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ์‹ ํ˜ธ ์ˆ˜์‹  ํ›„ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋น„์ •์ƒ์ ์œผ๋กœ ์ข…๋ฃŒ๋˜๋ฉด, ์ข…๋ฃŒ๋œ ํ”„๋กœ์„ธ์Šค์˜ PIDFD๋ฅผ ๊ฐ€์ง„ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋Š” ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ๋œ ์›์ธ์ด ๋œ ์‹ ํ˜ธ ๋ฒˆํ˜ธ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ์žฌ์‹œ์ž‘ ๊ฐ€๋Šฅํ•œ ์‹œํ€€์Šค ๊ตฌํ˜„ ๋ฐฉ์‹์ด ๊ฐœ์„ ๋˜์–ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋ช…๋ น์–ด ๊ทธ๋ฃน์˜ ์œ ์‚ฌ ์›์ž์ ์ด๊ณ  ์ค‘๋‹จ ๋ถˆ๊ฐ€๋Šฅํ•œ ์‹คํ–‰์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค(๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ์— ์˜ํ•ด ์ค‘๋‹จ๋  ๊ฒฝ์šฐ, ์‹œํ€€์Šค ์‹คํ–‰์„ ๋‹ค์‹œ ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค). ์ƒˆ๋กœ์šด ๊ตฌํ˜„ ๋ฐฉ์‹์€ ๋”์šฑ ํšจ์œจ์ ์ž…๋‹ˆ๋‹ค. ๊ณ ์„ฑ๋Šฅ.
    • BPF ํ”„๋กœ๊ทธ๋žจ์˜ ๊ฒฝ์šฐ, ์ ํ”„ ํ…Œ์ด๋ธ”์˜ ํŠน์ • ์œ„์น˜๋กœ ๊ฐ„์ ‘ ์ ํ”„๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด BPF_JMP, BPF_X ๋ฐ BPF_JA ๋ช…๋ น์–ด๊ฐ€ ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋™์  ํฌ์ธํ„ฐ(dynptr) ๊ฐœ๋…์ด ์ถ”๊ฐ€๋˜์–ด ๊ตฌ์กฐํ™”๋œ ํŒŒ์ผ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋„คํŠธ์›Œํฌ ํŒจํ‚ท์— ์—ฌ๋Ÿฌ ๋ฐ”์ดํŠธ์˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์ฒจ๋ถ€ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ๋„ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • ์ปค๋„ ๋ฌธ์„œ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” Python ๋ชจ๋“ˆ์ด ๋ณ„๋„์˜ tools/lib/python ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • ์—ฌ๋Ÿฌ ๊ฐ์ฒด์— ๋Œ€ํ•ด ๋ฉ”๋ชจ๋ฆฌ ํ’€์—์„œ ์š”์†Œ๋ฅผ ํ•œ ๋ฒˆ์— ์•ˆ์ „ํ•˜๊ฒŒ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๋„๋ก mempool_alloc_bulk() ํ•จ์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
    • Rust-for- ๋ธŒ๋žœ์น˜์—์„œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๊ณ„์† ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.LinuxRust๋ฅผ ๋“œ๋ผ์ด๋ฒ„ ๋ฐ ์ปค๋„ ๋ชจ๋“ˆ ๊ฐœ๋ฐœ์— ์ œ2์–ธ์–ด๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๊ณผ ๊ด€๋ จ๋œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค(Rust ์ง€์›์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์ง€ ์•Š์œผ๋ฉฐ, ์ปค๋„ ๋นŒ๋“œ ํ•„์ˆ˜ ์ข…์†์„ฑ์œผ๋กœ Rust๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค). ์ƒˆ ๋ฒ„์ „์—๋Š” Rust ์ฝ”๋“œ ํŒŒ์„œ๊ฐ€ ๋‚ด์žฅ๋œ "syn" ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ํฌํ•จ๋˜์–ด ๋ณต์žกํ•œ ๋งคํฌ๋กœ ์ž‘์„ฑ์ด ๊ฐ„์†Œํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ปค๋„, ํ•€ ์ดˆ๊ธฐํ™” ๋ฐ rbtree ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๊ธฐ๋Šฅ์ด ํ™•์žฅ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ •์ˆ˜ ์กฐ์ž‘์„ ์œ„ํ•œ Integer ํŠธ๋ ˆ์ดํŠธ๊ฐ€ ์žˆ๋Š” 'num' ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. "module!" ๋งคํฌ๋กœ๋Š” ์ด์ œ ์ •์ˆ˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. Rust๋กœ ์ž‘์„ฑ๋œ ์ปค๋„ ๋ชจ๋“ˆ์„ ๋กœ๋“œํ•  ๋•Œ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ง€์ •ํ•˜๋Š” ๊ธฐ๋Šฅ์ด ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. I2C ๋ฐ PWM(ํŽ„์Šค ํญ ๋ณ€์กฐ) ์„œ๋ธŒ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ์ถ”์ƒํ™”๊ฐ€ ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • ํ•จ์ˆ˜์— ์ „๋‹ฌ๋˜๋Š” ๋ฐฐ์—ด์˜ ์ตœ์†Œ ํ—ˆ์šฉ ํฌ๊ธฐ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” "at_least" ๋งคํฌ๋กœ(์˜ˆ: "param[at_least 7]")๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ณด๋‹ค ์ž‘์€ ์š”์†Œ๋ฅผ ๊ฐ€์ง„ ๋ฐฐ์—ด์ด ํ•จ์ˆ˜์— ์ „๋‹ฌ๋˜๋ฉด ์ปดํŒŒ์ผ๋Ÿฌ์—์„œ ๊ฒฝ๊ณ ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
    • ์ด ํŒจํ‚ค์ง€์—๋Š” ํŒจ์น˜ ํŒŒ์ผ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์‹คํ–‰ ์ค‘์ธ ์ปค๋„์„ ์ˆ˜์ •ํ•˜๋Š” ์ปค๋„ ๋ชจ๋“ˆ(๋ผ์ด๋ธŒ ํŒจ์น˜)์„ ์ƒ์„ฑํ•˜๋Š” klp-build ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. objtool ์œ ํ‹ธ๋ฆฌํ‹ฐ๋Š” ๋ผ์ด๋ธŒ ํŒจ์น˜ ์ƒ์„ฑ์„ ์ง€์›ํ•˜๋„๋ก ์—…๋ฐ์ดํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • ์‚ฌ์šฉ์ž ๋ชจ๋“œ์—์„œ Linux (์ปค๋„์„ ์‚ฌ์šฉ์ž ํ”„๋กœ์„ธ์Šค๋กœ ์‹คํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ) ์ œํ•œ์ ์ธ ๋ฉ€ํ‹ฐํ”„๋กœ์„ธ์‹ฑ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์ง€๋งŒ, ๋‹จ์ผ ํ”„๋กœ์„ธ์Šค ๋‚ด์˜ ์Šค๋ ˆ๋“œ๋Š” ์•„์ง ๋™์‹œ์— ์‹คํ–‰๋  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ๋ชจ๋“œ ํฌํŒ… ์ž‘์—…์ด ์‹œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Linux nolibc ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.
    • LoongArch64 ์•„ํ‚คํ…์ฒ˜ ์™ธ์— LoongArch32(LA32R, LA32S) ์•„ํ‚คํ…์ฒ˜์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • s2idle(Suspend-To-Idle) ์ ˆ์ „ ๋ชจ๋“œ์—์„œ ํ”„๋กœ์„ธ์„œ ๊นจ์šฐ๊ธฐ ๊ฐ•๋„์— ๋Œ€ํ•œ QoS ์ œํ•œ์„ ์„ค์ •ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ชจ๋“œ๋Š” ์‚ฌ์šฉ์ž ๊ณต๊ฐ„์˜ ํ”„๋กœ์„ธ์Šค ์‹คํ–‰์„ ์ผ์‹œ ์ค‘์ง€ํ•˜์ง€๋งŒ ์ปค๋„์˜ ์ผ๋ถ€ ํ•ธ๋“ค๋Ÿฌ๋Š” ํ™œ์„ฑํ™”๋œ ์ƒํƒœ๋กœ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.
    • ํ•˜๋“œ์›จ์–ด ์žฅ์น˜๊ฐ€ ์ธ์‹ํ•˜๋Š” ๊ฐ€์ƒ ์ฃผ์†Œ๋ฅผ ๋ฌผ๋ฆฌ์  ์ฃผ์†Œ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” IOMMU(์ž…์ถœ๋ ฅ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ์žฅ์น˜) ์ปจํŠธ๋กค๋Ÿฌ์— ๋Œ€ํ•œ ๋ฉ”๋ชจ๋ฆฌ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ” ๊ด€๋ฆฌ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๊ฐ€์ƒ ์ฃผ์†Œ๋ณ„๋กœ DMA ์ž‘์—…์„ ํ•„ํ„ฐ๋งํ•˜๊ณ  I/O ์ž‘์—…์„ ์ œํ•œ ๋ฐ ๊ฒฉ๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ์ด์ œ ์‹œ์Šคํ…œ ํ˜ธ์ถœ ์ถ”์  ์ด๋ฒคํŠธ์—์„œ ์‚ฌ์šฉ์ž ๊ณต๊ฐ„ ๋ฒ„ํผ๋ฅผ ์ฝ๊ณ  ํ•ด๋‹น ๋‚ด์šฉ(์˜ˆ: ํŒŒ์ผ ์ด๋ฆ„)์„ ์ถ”์  ์ถœ๋ ฅ์— ํฌํ•จํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
    • ์ ‘๊ทผ ์‹œ ์˜ˆ์™ธ ๋ฐ ํ”„๋กœ์„ธ์Šค ์ถฉ๋Œ(SIGSEGV)์„ ์œ ๋ฐœํ•˜๋Š” ๊ฐ€๋“œ ํŽ˜์ด์ง€๋Š” ์ด์ œ /proc/PID/smaps ํŒŒ์ผ์— ํŠน์ˆ˜ ๋ ˆ์ด๋ธ”๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
    • ๊ตฌ์—ญํ™”๋œ ์žฅ์น˜์˜ ๊ฐœ์ธ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ๋Œ€์šฉ๋Ÿ‰ ๋ฉ”๋ชจ๋ฆฌ ํŽ˜์ด์ง€(ํˆฌ๋ช… ๋Œ€์šฉ๋Ÿ‰ ํŽ˜์ด์ง€)๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
    • ๋ฉ”๋ชจ๋ฆฌ์˜ ์Šค์™‘ ํŒŒํ‹ฐ์…˜์„ ์••์ถ•ํ•˜์—ฌ ์ €์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” zram ์žฅ์น˜๋Š” ๋ฐฐ์น˜ ๋ชจ๋“œ(์“ฐ๊ธฐ ๋ฐฑ ๋ฐฐ์น˜)์—์„œ ์—ฌ๋Ÿฌ "bio"(๋ธ”๋ก I/O) ๊ตฌ์กฐ๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
    • ์ด ์„ธํŠธ์—๋Š” Terminus 10ร—18 ๊ธ€๊ผด์ด ํฌํ•จ๋˜์–ด ์žˆ์–ด ์ค‘๊ฐ„ ํ•ด์ƒ๋„(1440ร—900)์˜ ๋…ธํŠธ๋ถ ํ™”๋ฉด์—์„œ ์ฝ˜์†” ์ •๋ณด์˜ ๊ฐ€๋…์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.
    • ๊ฐ์‚ฌ ํ•˜์œ„ ์‹œ์Šคํ…œ์ด ํฌ๊ฒŒ ์ตœ์ ํ™”๋˜์–ด ๊ฐ„์ ‘ ๋น„์šฉ์ด ์ ˆ๋ฐ˜์œผ๋กœ ์ค„์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๊ฐ€์ƒํ™” ๋ฐ ๋ณด์•ˆ
    • ์ธํ…” ํ”„๋กœ์„ธ์„œ์˜ ์„ ํ˜• ์ฃผ์†Œ ๊ณต๊ฐ„ ๋ถ„๋ฆฌ(LASS)์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. LASS๋Š” ํ•˜๋“œ์›จ์–ด ๊ธฐ๋ฐ˜์œผ๋กœ ์‚ฌ์šฉ์ž ๊ณต๊ฐ„๊ณผ ์ปค๋„ ๊ณต๊ฐ„์˜ ์ฃผ์†Œ ๋ฒ”์œ„๋ฅผ ๋ถ„๋ฆฌํ•˜์—ฌ ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•ฉ๋‹ˆ๋‹ค. ์ฃผ์†Œ ๊ณต๊ฐ„์€ ์ฃผ์†Œ์˜ ์ตœ์ƒ์œ„ ๋น„ํŠธ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋‚˜๋‰˜๋Š”๋ฐ, ์ตœ์ƒ์œ„ ๋น„ํŠธ๊ฐ€ ์„ค์ •๋œ ์ฃผ์†Œ ๊ณต๊ฐ„์˜ ์ ˆ๋ฐ˜์€ ์ปค๋„์—์„œ ์‚ฌ์šฉํ•˜๊ณ , ๋‚˜๋จธ์ง€ ์ ˆ๋ฐ˜์€ ์‚ฌ์šฉ์ž ๊ณต๊ฐ„์—์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ช…๋ น์–ด ์‹คํ–‰ ์ดˆ๊ธฐ(ํˆฌ๊ธฐ์  ์‹คํ–‰ ์ „)์— ์ตœ์ƒ์œ„ ๋น„ํŠธ๊ฐ€ ์„ค์ •๋œ ์ฃผ์†Œ์— ๋Œ€ํ•œ ์‚ฌ์šฉ์ž ๊ณต๊ฐ„ ์ ‘๊ทผ์ด ํ—ˆ์šฉ๋˜๋Š”์ง€, ๊ทธ๋ฆฌ๊ณ  ๊ทธ ๋ฐ˜๋Œ€์˜ ๊ฒฝ์šฐ๋„ ํ—ˆ์šฉ๋˜๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๊ฒ€์‚ฌ๊ฐ€ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ถ„๋ฆฌ๋Š” ํˆฌ๊ธฐ์  ์‹คํ–‰ ์ค‘์—๋„ ์ปค๋„ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์‚ฌ์šฉ์ž ๊ณต๊ฐ„์œผ๋กœ ์œ ์ถœ๋˜๋Š” ์‚ฌ์ด๋“œ ์ฑ„๋„ ๊ณต๊ฒฉ์„ ๋ฐฉ์ง€ํ•˜์—ฌ, LASS๋ฅผ ํ†ตํ•ด ์ƒ๋‹นํ•œ ์˜ค๋ฒ„ํ—ค๋“œ ์—†์ด Meltdown ๋ฐ Spectre ๊ณต๊ฒฉ์œผ๋กœ๋ถ€ํ„ฐ ์‹œ์Šคํ…œ์„ ๋ณดํ˜ธํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.
    • PCIe ๋งํฌ ์•”ํ˜ธํ™” ๋ฐ PCIe ์žฅ์น˜ ์ธ์ฆ์„ ํฌํ•จํ•œ PCI Express ๋ฒ„์Šค ๋ณด์•ˆ ๊ฐ•ํ™” ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜์—ฌ Intel TDX(Trusted Domain Extensions) ๋ฐ AMD SEV-SNP(Secure Nested Paging)๋กœ ๋ณดํ˜ธ๋˜๋Š” ๊ฐ€์ƒ ๋จธ์‹ ๊ณผ PCIe ์žฅ์น˜ ๊ฐ„์˜ ํ†ต์‹  ์ฑ„๋„์„ ์ธ์ฆํ•˜๊ณ  ์•”ํ˜ธํ™”ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ธฐ์ˆ ์€ ํ˜ธ์ŠคํŠธ ์‹œ์Šคํ…œ ๋˜๋Š” ๋‹ค๋ฅธ ์žฅ์น˜์— ์•ก์„ธ์Šคํ•˜๋Š” ๋™์•ˆ DMA ํŠธ๋ž˜ํ”ฝ์˜ ๋ฐ์ดํ„ฐ ๊ฐ€๋กœ์ฑ„๊ธฐ, ๋ถ„์„ ๋ฐ ์‚ฝ์ž…์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.
    • ๋‚ด์žฅ ์•”ํ˜ธํ™” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— SHA-3(SHA3-224, SHA3-256, SHA3-384, SHA3-512), SHAKE128, SHAKE256 ๋ฐ BLAKE2b ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • LSM ๋ชจ๋“ˆ์˜ ๊ฒฝ์šฐ (Linux ๋ณด์•ˆ ๋ชจ๋“ˆ) ๋ฐ ํŠนํžˆ SE์˜ ๊ฒฝ์šฐLinuxmemfd ๋””์Šคํฌ๋ฆฝํ„ฐ์˜ ์ƒ์„ฑ ๊ณผ์ •์„ ์ถ”์ ํ•˜์—ฌ ํ•ด๋‹น ๋””์Šคํฌ๋ฆฝํ„ฐ์™€ ์—ฐ๊ฒฐ๋œ ๊ฐ์ฒด์— ๋ณด์•ˆ ์ •์ฑ…์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • ์ „์ฒด ์‹œ์Šคํ…œ์˜ ๋ฌด๊ฒฐ์„ฑ ์ •์ฑ…์„ ์ •์˜ํ•˜๋Š” IPE(๋ฌด๊ฒฐ์„ฑ ์ •์ฑ… ์‹œํ–‰) LSM ๋ชจ๋“ˆ์ด ์ด์ œ execveat() ํ•จ์ˆ˜์—์„œ AT_EXECVE_CHECK ํ”Œ๋ž˜๊ทธ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ด ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ธํ„ฐํ”„๋ฆฌํ„ฐ๊ฐ€ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์ „์— ์Šคํฌ๋ฆฝํŠธ์˜ ๋ฌด๊ฒฐ์„ฑ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ํˆฌ๊ธฐ์  ๊ณต๊ฒฉ์œผ๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธํ•˜๋ฉด์„œ ์‚ฌ์šฉ์ž ๊ณต๊ฐ„ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ๋ฒ”์œ„ ์ง€์ • ์ ‘๊ทผ์„ ์œ„ํ•œ scoped_user_read_access(), scoped_user_write_access() ๋ฐ scoped_user_rw_access() ๊ธฐ๋ณธ ํ•จ์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
    • HyperV ํ•˜์ดํผ๋ฐ”์ด์ €์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ๋ฐ€ VMBus ๋ฉ”์ปค๋‹ˆ์ฆ˜์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฉ”์ปค๋‹ˆ์ฆ˜์€ ๊ธฐ๋ฐ€ ๋ชจ๋“œ(AMD SNP ๋ฐ Intel TDX ๊ธฐ์ˆ  ๊ธฐ๋ฐ˜์˜ ๋ฉ”๋ชจ๋ฆฌ ์•”ํ˜ธํ™” ๋ฐ ๋ ˆ์ง€์Šคํ„ฐ ๊ฒฉ๋ฆฌ)๋กœ ์‹คํ–‰๋˜๋Š” ๊ฒŒ์ŠคํŠธ ์‹œ์Šคํ…œ๊ณผ ๊ธฐ๋ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ์žฅ์น˜์— ์•ก์„ธ์Šคํ•˜๋Š” ํŒŒ๋ผ๋ฐ”์ด์ € ๊ฐ„์˜ ๋ณ€์กฐ ๋ฐฉ์ง€ ํ†ต์‹ ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
    • pidfd ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ํ†ตํ•ด ์ถฉ๋Œํ•œ ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ์ •๋ณด(์ฝ”์–ด๋คํ”„ ์ƒ์„ฑ์šฉ)๋ฅผ ์ „์†กํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. pidfd ์‹๋ณ„์ž๋Š” ํŠน์ • ํ”„๋กœ์„ธ์Šค์™€ ์—ฐ๊ฒฐ๋˜๋ฉฐ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด, PID๋Š” ํ•ด๋‹น PID์™€ ์—ฐ๊ฒฐ๋œ ํ˜„์žฌ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ๋œ ํ›„ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์— ํ• ๋‹น๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. pidfd๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ปค๋„์ด ์ถฉ๋Œ ์ฒ˜๋ฆฌ๋ฅผ ์‹œ์ž‘ํ•œ ํ›„, ์‚ฌ์šฉ์ž ๊ณต๊ฐ„ ํ•ธ๋“ค๋Ÿฌ๊ฐ€ ํ”„๋กœ์„ธ์Šค ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ํ™•์ธํ•˜๊ธฐ ์ „์— ๊ฒฝ์Ÿ ์กฐ๊ฑด์„ ๋ฐœ์ƒ์‹œ์ผœ ์ถฉ๋Œํ•œ suid ํ”„๋กœ์„ธ์Šค๋ฅผ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋กœ ์œ„์žฅํ•˜๋Š” ๊ณต๊ฒฉ์„ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋„คํŠธ์›Œํฌ ํ•˜์œ„ ์‹œ์Šคํ…œ
    • ๋ฐ์ดํ„ฐ ์ „์†ก(TX) ํšจ์œจ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ๋„คํŠธ์›Œํฌ ์„œ๋ธŒ์‹œ์Šคํ…œ์— ์ตœ์ ํ™”๊ฐ€ ์ด๋ฃจ์–ด์กŒ์Šต๋‹ˆ๋‹ค. __dev_queue_xmit() ํ•จ์ˆ˜์—์„œ ์Šคํ•€๋ฝ์„ ์ œ๊ฑฐํ•˜๊ณ  ๋ฝ์ด ํ•„์š” ์—†๋Š” llist ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ, ๊ณผ๋ถ€ํ•˜ ์‹œ ์ฒ˜๋ฆฌ๋Ÿ‰์ด 4๋ฐฐ ์ฆ๊ฐ€ํ–ˆ๊ณ  ํŒจํ‚ท ์ „์†ก ์†๋„๋Š” 2๋ฐฐ ์ฆ๊ฐ€ํ–ˆ์œผ๋ฉฐ CPU ๋ถ€ํ•˜๋Š” ์ ˆ๋ฐ˜์œผ๋กœ ์ค„์—ˆ์Šต๋‹ˆ๋‹ค.
    • ์ด์ œ ๊ฐœ๋ณ„ ๋„คํŠธ์›Œํฌ ์†Œ์ผ“์— ๋Œ€ํ•œ ์‹œ์Šคํ…œ ๋ฉ”๋ชจ๋ฆฌ ์ œํ•œ์„ ๋น„ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์ด ๊ฒฝ์šฐ ๊ฐœ๋ณ„ ์ปจํ…Œ์ด๋„ˆ์— ์„ค์ •๋œ ์ „์ฒด ๋ฉ”๋ชจ๋ฆฌ ์ œํ•œ์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค). ์ด๋Ÿฌํ•œ ์ œํ•œ์„ ๋น„ํ™œ์„ฑํ™”ํ• ์ง€ ์—ฌ๋ถ€๋ฅผ ์ œ์–ดํ•˜๊ธฐ ์œ„ํ•ด net.core.bypass_prot_mem sysctl ๋ช…๋ น๊ณผ bpf_setsockopt ํ•จ์ˆ˜์˜ SK_BPF_BYPASS_PROT_MEM ํ”Œ๋ž˜๊ทธ๊ฐ€ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.
    • ํŒจํ‚ท์˜ TTL(Time-to-Live)์ด ๋งŒ๋ฃŒ๋˜์—ˆ์„ ๋•Œ ๋ฐ˜ํ™˜๋˜๋Š” ICMP "Time Exceeded" ๋ฉ”์‹œ์ง€์— ์ˆ˜์‹  ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” RFC 5837 ํ™•์žฅ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด traceroute ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒฝ๋กœ๋ฅผ ์ถ”์ ํ•  ๋•Œ ๋” ์ž์„ธํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ์ง€์—ฐ ์‹œ๊ฐ„์„ ์ตœ์†Œํ™”ํ•ด์•ผ ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์œ„ํ•ด ๋ณ„๋„์˜ ์ปค๋„ ์Šค๋ ˆ๋“œ์—์„œ ์ง€์†์ ์ธ ๋น„์ง€ ํด๋ง์„ ์ง€์›ํ•˜์—ฌ RX/TX ํ์—์„œ ๋””์Šคํฌ๋ฆฝํ„ฐ๋ฅผ ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค.
    • CAN XL(Controller Area Network eXtended Length) ํ”„๋กœํ† ์ฝœ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์œผ๋ฉฐ, ๋„คํŠธ์›Œํฌ์™€์˜ ํ†ตํ•ฉ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ์ดํ„ฐ ํ•„๋“œ ํฌ๊ธฐ๊ฐ€ 2048๋ฐ”์ดํŠธ๋กœ ์ฆ๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. TCP/IP์ด๋”๋„ท ํ”„๋ ˆ์ž„ ํ„ฐ๋„๋ง ๊ธฐ๋Šฅ์ด ๊ตฌํ˜„๋˜์—ˆ๊ณ  ํŽ„์Šค ํญ ๋ณ€์กฐ(PWM) ์ง€์›์ด ์ถ”๊ฐ€๋˜์–ด 20Mbps ์ด์ƒ์˜ ์†๋„๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • ๊ณ ์ • ํฌ๊ธฐ ๋ฐฐ์—ด(sa_data[14] ๋Œ€์‹  sa_data[]) ๋Œ€์‹  ์œ ์—ฐํ•œ ์š”์†Œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” sockaddr ๊ตฌ์กฐ์ฒด์˜ ๋ณ€ํ˜•์ธ sockaddr_unsized ๊ตฌ์กฐ์ฒด์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. sa_data[14]๋Š” ๋ณธ์งˆ์ ์œผ๋กœ ๋‹ค๋ฅธ ๋” ํฐ ๊ตฌ์กฐ์ฒด๋ฅผ ์ฐธ์กฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • io_uring ์„œ๋ธŒ์‹œ์Šคํ…œ์„ ํ†ตํ•ด getsockname ๋ฐ getpeername ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค.
    • TCP ์ตœ์ ํ™”๋ฅผ ์œ„ํ•ด net.ipv4.tcp_rcvbuf_low_rtt ๋ฐ net.ipv4.tcp_comp_sack_rtt_percent sysctl์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
    • 1600Gbps(1.6T) ์ฒ˜๋ฆฌ๋Ÿ‰์˜ ๋งํฌ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ะžะฑะพั€ัƒะดะพะฒะฐะฝะธะต
    • DRM(Direct Rendering Manager) ์„œ๋ธŒ์‹œ์Šคํ…œ์— ํ•˜๋“œ์›จ์–ด ์ƒ‰์ƒ ๋ณ€ํ™˜ ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š” API๊ฐ€ ์ถ”๊ฐ€๋˜์–ด ์…ฐ์ด๋”๋‚˜ CPU ๊ธฐ๋ฐ˜ ์ฝ”๋“œ ์‹คํ–‰์ด ํ•„์š” ์—†์–ด์กŒ์Šต๋‹ˆ๋‹ค. HDR ์ฝ˜ํ…์ธ  ์ถœ๋ ฅ ์‹œ, ์ด์ œ ์†Œํ”„ํŠธ์›จ์–ด ํ•ฉ์„ฑ ๋ฐฉ์‹์œผ๋กœ ์ตœ์ข… ๋””์Šคํ”Œ๋ ˆ์ด ๋ฒ„ํผ์— ์ฝ˜ํ…์ธ ๋ฅผ ๋„ฃ๋Š” ๋Œ€์‹ , ๋””์Šคํ”Œ๋ ˆ์ด ์ปจํŠธ๋กค๋Ÿฌ์—์„œ ๋ธ”๋ Œ๋”ฉ ์ „ํ›„์— ๋ณต์žกํ•œ ์ƒ‰์ƒ ๋ณ€ํ™˜์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์€ HDR ์ถœ๋ ฅ ๊ตฌ์„ฑ ์‹œ ์˜ค๋ฒ„ํ—ค๋“œ์™€ ์ „๋ ฅ ์†Œ๋น„๋ฅผ ์ค„์—ฌ์ค„ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ๋น„๋””์˜ค ๋˜๋Š” ์ด๋ฏธ์ง€ ํŽธ์ง‘๊ธฐ์—์„œ ์ •ํ™•ํ•œ ์ƒ‰์ƒ ํ‘œํ˜„์„ ๋ณด์žฅํ•˜๋Š” ๋ฐ์—๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • AI ๋ชจ๋ธ์˜ ํ•˜๋“œ์›จ์–ด ๊ฐ€์†์„ ์œ„ํ•ด ์„ค๊ณ„๋œ Arm Ethos U65 ๋ฐ U85 NPU์šฉ "ethosu" ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
    • Lunar Lake ๋ฐ ๊ทธ ์ดํ›„ GPU์šฉ i915 ๋“œ๋ผ์ด๋ฒ„๋Š” ํ•˜๋“œ์›จ์–ด ์ง€์› ์„ ๋ช…๋„ ํ–ฅ์ƒ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
    • ์ธํ…” Xe ์•„ํ‚คํ…์ฒ˜ ๊ธฐ๋ฐ˜ GPU์šฉ Xe DRM(Direct Rendering Manager) ๋“œ๋ผ์ด๋ฒ„ ๊ฐœ๋ฐœ์ด ๊ณ„์† ์ง„ํ–‰ ์ค‘์ž…๋‹ˆ๋‹ค. ์ด ์•„ํ‚คํ…์ฒ˜๋Š” Tiger Lake ํ”„๋กœ์„ธ์„œ๋ฅผ ์‹œ์ž‘์œผ๋กœ Intel Arc ์‹œ๋ฆฌ์ฆˆ ๊ทธ๋ž˜ํ”ฝ ์นด๋“œ์™€ ํ†ตํ•ฉ ๊ทธ๋ž˜ํ”ฝ์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ฐœ๋ฐœ์—์„œ๋Š” Crescent Island GPU์™€ ํ†ตํ•ฉ ๊ทธ๋ž˜ํ”ฝ์ด ํƒ‘์žฌ๋œ Nova Lake ์ œํ’ˆ๊ตฐ ํ”„๋กœ์„ธ์„œ์— ์‚ฌ์šฉ๋˜๋Š” Xe3P ์•„ํ‚คํ…์ฒ˜์— ๋Œ€ํ•œ ์ดˆ๊ธฐ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • AMDGPU ๋“œ๋ผ์ด๋ฒ„๊ฐ€ ์ด์ œ ๊ธฐ์กด์— Radeon ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์‚ฌ์šฉํ•˜๋˜ AMD GCN 1.0 "Southern Island" ๋ฐ 1.1 "Sea Islands" ์ œํ’ˆ๊ตฐ ๊ทธ๋ž˜ํ”ฝ ์นด๋“œ๋ฅผ ์™„๋ฒฝํ•˜๊ฒŒ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. AMDGPU ๋“œ๋ผ์ด๋ฒ„๋Š” Radeon ๋“œ๋ผ์ด๋ฒ„์™€ ๋™์ผํ•œ ์ˆ˜์ค€์œผ๋กœ ๊ฐœ์„ ๋˜์—ˆ์œผ๋ฉฐ, ์ด๋Ÿฌํ•œ GPU์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค. GCN 1.x ์นด๋“œ๋Š” 2012๋…„๋ถ€ํ„ฐ 2019๋…„๊นŒ์ง€ ์ถœ์‹œ๋˜์—ˆ์œผ๋ฉฐ, Radeon HD 77xx/78xx/79xx/87xx/88xx/89xx, Radeon R9 280, FirePro W4000-W9000, Radeon Sky 700/900, Radeon R9 265/270/370, Radeon R9 290/390, HD 7790/8870 ๋ฐ ๊ธฐํƒ€ Radeon RX 200/RX 300 ์ œํ’ˆ๊ตฐ ๊ทธ๋ž˜ํ”ฝ ์นด๋“œ๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. AMD GPU๋กœ์˜ ์ „ํ™˜์€ ์„ฑ๋Šฅ์„ ํ‰๊ท  24% ํ–ฅ์ƒ์‹œ์ผฐ์„ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ํ•ด๋‹น GPU๋“ค์ด Vulkan 1.3 ๊ทธ๋ž˜ํ”ฝ API๋ฅผ ์ง€์›ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, AMDGPU๋Š” ์•„๋‚ ๋กœ๊ทธ ์ปค๋„ฅํ„ฐ์™€ ๋น„๋””์˜ค ์ฝ”๋”ฉ ์—”์ง„ 1.0(VCE)์„ ์ง€์›ํ•˜๊ณ , ๋ณด๋„ค๋ฅด(Bonaire) ๋งˆ์ดํฌ๋กœ์•„ํ‚คํ…์ฒ˜ ๊ธฐ๋ฐ˜ GPU(Radeon HD 7700)์˜ ๊ฒฝ์šฐ DC(Display Core) ์Šคํƒ์„ ๊ธฐ๋ณธ์ ์œผ๋กœ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.
    • Nouveau ๋“œ๋ผ์ด๋ฒ„๋Š” Tegra210 SoC์— ํƒ‘์žฌ๋œ NVJPG ํ•˜๋“œ์›จ์–ด ๊ฐ€์†๊ธฐ์— ๋Œ€ํ•œ ์ง€์›์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.
    • Panthor ๋“œ๋ผ์ด๋ฒ„๋Š” Mali-G1 GPU ์ง€์›์„ ์ถ”๊ฐ€ํ•˜๊ณ  MediaTek MT8196 ์นฉ์— ๋Œ€ํ•œ ์ดˆ๊ธฐ ์ง€์›์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
    • ์ธํ…” ๋…ธ๋ฐ” ๋ ˆ์ดํฌ S ์นฉ์˜ ์˜ค๋””์˜ค ์„œ๋ธŒ์‹œ์Šคํ…œ, HDA CS35L41์ด ํƒ‘์žฌ๋œ HP ๋…ธํŠธ๋ถ, ๊ทธ๋ฆฌ๊ณ  CIX IPBLOQ HD ๋ฐ ์˜จ์ฟ„ SE-300 PCIe ์˜ค๋””์˜ค ์ธํ„ฐํŽ˜์ด์Šค์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • ํŠœ๋ง ๋งˆ์ดํฌ๋กœ์•„ํ‚คํ…์ฒ˜ ๊ธฐ๋ฐ˜์˜ NVIDIA GeForce RTX 2000 ์‹œ๋ฆฌ์ฆˆ๋ถ€ํ„ฐ ์‚ฌ์šฉ๋˜๋Š” GSP ํŽŒ์›จ์–ด๋ฅผ ํƒ‘์žฌํ•œ NVIDIA GPU์šฉ Nova ๋“œ๋ผ์ด๋ฒ„ ๊ตฌ์„ฑ ์š”์†Œ ํ†ตํ•ฉ ์ž‘์—…์ด ๊ณ„์† ์ง„ํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋“œ๋ผ์ด๋ฒ„๋Š” Rust๋กœ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ์ƒˆ ๋ฒ„์ „์—์„œ๋Š” RPC ์ž‘์—…์ด ์‹œ์ž‘๋˜์—ˆ์œผ๋ฉฐ, GSP(GPU ์‹œ์Šคํ…œ ํ”„๋กœ์„ธ์„œ) ์ฝ”ํ”„๋กœ์„ธ์„œ ๋กœ๋”ฉ ๊ตฌํ˜„์ด ์™„๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • ARM ๋ณด๋“œ, SoC ๋ฐ ์žฅ์น˜์— ๋Œ€ํ•œ ์ง€์› ์ถ”๊ฐ€: Bananapi r4 pro, LinkEase EasePi R1, Qualcomm MSM8937(Snapdragon 430), Renesas R-Car X5H, FriendlyElec NanoPi R76S, TI AM62L, Black Sesame Technologies C1200, Aspeed AST2600, Genio 1200 EVK, grinn geniosbc-510/700, Tanix TX9 Pro, Radxa Dragon Q6A, Tinker Board 3/3S, Aquila AM69, phyBOARD-Segin-i.MX91, i.MX 95 Verdin ํ‰๊ฐ€ ํ‚คํŠธ, Toradex SMARC iMX95, VIDIA Jetson Nano 2GB, Renesas rz/g3s, Indiedroid Nova, 24 ๋ณด๋“œ ์˜ต์…˜ Enclustra ์ˆ˜์„ฑ.
    • Mediatek MT6582(Alcatel YarisXL), Nvidia Tegra124(Xiaomi Mi Pad), Qualcomm MSM8939(ASUS ZenFone 2) SoC ๊ธฐ๋ฐ˜ ์Šค๋งˆํŠธํฐ ๋ฐ ํƒœ๋ธ”๋ฆฟ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Huawei MateBook E 2019์™€ ๊ฐ™์€ Qualcomm SDM850 SoC ๊ธฐ๋ฐ˜ ๋…ธํŠธ๋ถ์— ๋Œ€ํ•œ ์ง€์›๋„ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • RISC-V ์•„ํ‚คํ…์ฒ˜ ๊ธฐ๋ฐ˜ SoC ๋ฐ ๋ณด๋“œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ง€์›๋˜๋Š” ๋ณด๋“œ๋Š” OrangePi R2S, OrangePi RV, Anlogic dr1v90, Tenstorrent Blackhole์ž…๋‹ˆ๋‹ค.

๋™์‹œ์— ๋ผํ‹ด ์•„๋ฉ”๋ฆฌ์นด ์ž์œ  ์†Œํ”„ํŠธ์›จ์–ด ์žฌ๋‹จ์€ ์™„์ „ํžˆ ์ž์œ ๋กœ์šด ์ปค๋„ 6.19 ๋ฒ„์ „์„ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. Linux-libre 6.19-gnu ๋ฒ„์ „์—์„œ๋Š” ๋น„์ž์œ  ๊ตฌ์„ฑ ์š”์†Œ ๋˜๋Š” ์ œํ•œ๋œ ๋ฒ”์œ„์˜ ์ฝ”๋“œ ์„น์…˜์„ ํฌํ•จํ•˜๋Š” ํŽŒ์›จ์–ด ๋ฐ ๋“œ๋ผ์ด๋ฒ„ ์š”์†Œ๊ฐ€ ์ •๋ฆฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. 6.19 ๋ฆด๋ฆฌ์Šค์—์„œ๋Š” SDCA ์‚ฌ์šด๋“œ ์„œ๋ธŒ์‹œ์Šคํ…œ์—์„œ ๋ฐ”์ด๋„ˆ๋ฆฌ ํŽŒ์›จ์–ด ๋กœ๋”ฉ ์ฝ”๋“œ๊ฐ€ ์ œ๊ฑฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Intel XE, Nova-Core, Qualcomm Iris, Venus ๋ฐ Q6V5, TI PRUeth, Intel iwlwifi, Marvell mwifiex, FourSemi fs210x, Realtek rt1320 ๋ฐ TI tas2783 ์˜ค๋””์˜ค ์ฝ”๋ฑ์šฉ ๋“œ๋ผ์ด๋ฒ„์˜ ๋ธ”๋กญ ์ •๋ฆฌ ์ฝ”๋“œ๊ฐ€ ์—…๋ฐ์ดํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ARM ์นฉ์šฉ dts ํŒŒ์ผ(devicetree)์˜ ๋ธ”๋กญ ์ด๋ฆ„์ด ์ •๋ฆฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ปค๋„์—์„œ ์ œ๊ฑฐ๋œ STM C8SECTPFE DVB ๋“œ๋ผ์ด๋ฒ„์˜ ๋ธ”๋กญ ์ •๋ฆฌ๋Š” ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

DDoS ๋ณดํ˜ธ, VPS VDS ์„œ๋ฒ„๊ฐ€ ์žˆ๋Š” ์‚ฌ์ดํŠธ๋ฅผ ์œ„ํ•œ ์•ˆ์ •์ ์ธ ํ˜ธ์ŠคํŒ… ๊ตฌ์ž… ๐Ÿ”ฅ DDoS ๊ณต๊ฒฉ ๋ฐฉ์ง€ ๊ธฐ๋Šฅ์ด ํƒ‘์žฌ๋œ ์•ˆ์ •์ ์ธ ์›น์‚ฌ์ดํŠธ ํ˜ธ์ŠคํŒ…, VPS ๋ฐ VDS ์„œ๋ฒ„๋ฅผ ๊ตฌ๋งคํ•˜์„ธ์š” | ProHoster