Linux 6.3 ์ปค๋„ ๋ฆด๋ฆฌ์Šค

๋‘ ๋‹ฌ ๊ฐ„์˜ ๊ฐœ๋ฐœ ๋์— Linus Torvalds๋Š” Linux 6.3 ์ปค๋„์„ ์ถœ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€์žฅ ์ฃผ๋ชฉํ• ๋งŒํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ: ์˜ค๋ž˜๋œ ARM ํ”Œ๋žซํผ ๋ฐ ๊ทธ๋ž˜ํ”ฝ ๋“œ๋ผ์ด๋ฒ„ ์ •๋ฆฌ, Rust ์–ธ์–ด ์ง€์›์˜ ์ง€์†์ ์ธ ํ†ตํ•ฉ, hwnoise ์œ ํ‹ธ๋ฆฌํ‹ฐ, BPF์˜ ๋ ˆ๋“œ-๋ธ”๋ž™ ํŠธ๋ฆฌ ๊ตฌ์กฐ ์ง€์›, IPv4์šฉ BIG TCP ๋ชจ๋“œ, ๋‚ด์žฅ Dhrystone ๋ฒค์น˜๋งˆํฌ, ๋น„ํ™œ์„ฑํ™” ๊ธฐ๋Šฅ memfd์—์„œ ์‹คํ–‰, BPF๋ฅผ ์‚ฌ์šฉํ•œ HID ๋“œ๋ผ์ด๋ฒ„ ์ƒ์„ฑ ์ง€์›, ๋ธ”๋ก ๊ทธ๋ฃน ์กฐ๊ฐํ™”๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•ด Btrfs๊ฐ€ ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ƒˆ ๋ฒ„์ „์€ 15637๋ช…์˜ ๊ฐœ๋ฐœ์ž๋กœ๋ถ€ํ„ฐ 2055๊ฐœ์˜ ์ˆ˜์ • ์‚ฌํ•ญ์„ ์ˆ˜์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ํŒจ์น˜ ํฌ๊ธฐ - 76MB(14296๊ฐœ ํŒŒ์ผ์— ์˜ํ–ฅ์„ ์ฃผ๋Š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ, 1023183์ค„์˜ ์ฝ”๋“œ ์ถ”๊ฐ€, 883103์ค„ ์‚ญ์ œ). ๋น„๊ต๋ฅผ ์œ„ํ•ด ์ด์ „ ๋ฒ„์ „์—์„œ๋Š” 16843๋ช…์˜ ๊ฐœ๋ฐœ์ž๊ฐ€ 2178๊ฐœ์˜ ์ˆ˜์ • ์‚ฌํ•ญ์„ ์ œ์•ˆํ–ˆ์Šต๋‹ˆ๋‹ค. ํŒจ์น˜ ํฌ๊ธฐ - 62MB. 39 ์ปค๋„์— ๋„์ž…๋œ ๋ชจ๋“  ๋ณ€๊ฒฝ ์‚ฌํ•ญ์˜ ์•ฝ 6.3%๋Š” ์žฅ์น˜ ๋“œ๋ผ์ด๋ฒ„์™€ ๊ด€๋ จ์ด ์žˆ์œผ๋ฉฐ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์˜ ์•ฝ 15%๋Š” ํ•˜๋“œ์›จ์–ด ์•„ํ‚คํ…์ฒ˜ ๊ด€๋ จ ์ฝ”๋“œ ์—…๋ฐ์ดํŠธ์™€ ๊ด€๋ จ์ด ์žˆ์œผ๋ฉฐ 10%๋Š” ๋„คํŠธ์›Œํ‚น ์Šคํƒ๊ณผ ๊ด€๋ จ์ด ์žˆ๊ณ  5%๋Š” ํŒŒ์ผ ์‹œ์Šคํ…œ๊ณผ ๊ด€๋ จ์ด ์žˆ์œผ๋ฉฐ 3%๋Š” ๋‚ด๋ถ€ ์ปค๋„ ํ•˜์œ„ ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ %.

์ปค๋„ 6.3์˜ ์ฃผ์š” ํ˜์‹ :

  • ๋ฉ”๋ชจ๋ฆฌ ๋ฐ ์‹œ์Šคํ…œ ์„œ๋น„์Šค
    • ์˜ค๋ž˜๋˜๊ณ  ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ARM ๋ณด๋“œ์™€ ๊ด€๋ จ๋œ ์ฝ”๋“œ๊ฐ€ ์ƒ๋‹นํžˆ ์ •๋ฆฌ๋˜์–ด ์ปค๋„ ์†Œ์Šค์˜ ํฌ๊ธฐ๊ฐ€ 150์ค„ ์ค„์—ˆ์Šต๋‹ˆ๋‹ค. 40๊ฐœ๊ฐ€ ๋„˜๋Š” ์˜ค๋ž˜๋œ ARM ํ”Œ๋žซํผ์„ ์ œ๊ฑฐํ–ˆ์Šต๋‹ˆ๋‹ค.
    • BPF ํ”„๋กœ๊ทธ๋žจ ํ˜•ํƒœ๋กœ ๊ตฌํ˜„๋œ HID(Human Interface Device) ์ธํ„ฐํŽ˜์ด์Šค๋กœ ์ž…๋ ฅ ์žฅ์น˜์šฉ ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.
    • Rust-for-Linux ๋ธŒ๋žœ์น˜์—์„œ Rust๋ฅผ ๋“œ๋ผ์ด๋ฒ„ ๋ฐ ์ปค๋„ ๋ชจ๋“ˆ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ๋‘ ๋ฒˆ์งธ ์–ธ์–ด๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๊ณผ ๊ด€๋ จ๋œ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์„ ๊ณ„์† ํฌํŒ…ํ–ˆ์Šต๋‹ˆ๋‹ค. Rust ์ง€์›์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์ง€ ์•Š์œผ๋ฉฐ Rust๊ฐ€ ํ•„์ˆ˜ ์ปค๋„ ๋นŒ๋“œ ์ข…์†์„ฑ์œผ๋กœ ํฌํ•จ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด์ „ ๋ฆด๋ฆฌ์Šค์—์„œ ์ œ๊ณต๋˜๋Š” ๊ธฐ๋Šฅ์€ Arc ์œ ํ˜•(์ฐธ์กฐ ํšŸ์ˆ˜๊ฐ€ ์žˆ๋Š” ํฌ์ธํ„ฐ ๊ตฌํ˜„), ScopeGuard(๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚  ๋•Œ ์ •๋ฆฌ) ๋ฐ ForeignOwnable(C์™€ Rust ์ฝ”๋“œ ์‚ฌ์ด์—์„œ ํฌ์ธํ„ฐ ์ด๋™ ์ œ๊ณต)์— ๋Œ€ํ•œ ์ง€์›์œผ๋กœ ํ™•์žฅ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. . 'alloc' ํŒจํ‚ค์ง€์—์„œ 'borrow' ๋ชจ๋“ˆ์„ ์ œ๊ฑฐํ–ˆ์Šต๋‹ˆ๋‹ค('Cow' ์œ ํ˜• ๋ฐ 'ToOwned' ํŠน์„ฑ). ์ปค๋„์—์„œ Rust์— ๋Œ€ํ•œ ์ง€์› ์ƒํƒœ๋Š” ์ด๋ฏธ Rust๋กœ ์ž‘์„ฑ๋œ ์ฒซ ๋ฒˆ์งธ ๋ชจ๋“ˆ์„ ์ปค๋„์— ์ˆ˜์šฉํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค๋Š” ์ ์— ์ฃผ๋ชฉํ•˜์‹ญ์‹œ์˜ค.
    • x86-64 ์‹œ์Šคํ…œ์˜ ์‚ฌ์šฉ์ž ๋ชจ๋“œ Linux(์ปค๋„์„ ์‚ฌ์šฉ์ž ํ”„๋กœ์„ธ์Šค๋กœ ์‹คํ–‰)๋Š” Rust๋กœ ์ž‘์„ฑ๋œ ์ฝ”๋“œ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๋งํฌ ํƒ€์ž„ ์ตœ์ ํ™” ํ™œ์„ฑํ™”(LTO)์™€ ํ•จ๊ป˜ clang์„ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž ๋ชจ๋“œ Linux๋ฅผ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • ํ•˜๋“œ์›จ์–ด ๋™์ž‘์œผ๋กœ ์ธํ•œ ์ง€์—ฐ์„ ์ถ”์ ํ•˜๊ธฐ ์œ„ํ•ด hwnoise ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์—ฐ์‚ฐ ์‹คํ–‰ ์‹œ๊ฐ„์˜ ํŽธ์ฐจ(์ง€ํ„ฐ)๋Š” ์ธํ„ฐ๋ŸฝํŠธ ์ฒ˜๋ฆฌ๊ฐ€ ๋น„ํ™œ์„ฑํ™”๋œ ๊ฒฝ์šฐ์— ๊ฒฐ์ •๋˜๋ฉฐ 10๋ถ„์˜ ๊ณ„์‚ฐ์—์„œ XNUMX๋งˆ์ดํฌ๋กœ์ดˆ๋ฅผ ์ดˆ๊ณผํ•ฉ๋‹ˆ๋‹ค.
    • ์‚ฌ์šฉ์ž ๊ณต๊ฐ„ ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ์—†๋Š” ๊ตฌ์„ฑ(์˜ˆ: ์ปค๋„ ๋กœ๋”ฉ๋งŒ ๊ตฌํ˜„ํ•˜๋Š” ์ƒˆ SoC์˜ ํฌํŒ… ๋‹จ๊ณ„)์—์„œ CPU ์„ฑ๋Šฅ์„ ํ‰๊ฐ€ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” Dhrystone ๋ฒค์น˜๋งˆํฌ ๊ตฌํ˜„๊ณผ ํ•จ๊ป˜ ์ปค๋„ ๋ชจ๋“ˆ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • ๊ฒฉ๋ฆฌ๋œ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์žˆ๋Š” ์‹œ์Šคํ…œ์— ์œ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” BPF ํ”„๋กœ๊ทธ๋žจ์— ๋Œ€ํ•œ ๋ฉ”๋ชจ๋ฆฌ ์†Œ๋น„ ๊ณ„์ •์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๋Š” "cgroup.memory=nobpf" ์ปค๋„ ๋ช…๋ น์ค„ ์˜ต์…˜์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • BPF ํ”„๋กœ๊ทธ๋žจ์˜ ๊ฒฝ์šฐ ์ƒˆ๋กœ์šด ๋งคํ•‘ ์œ ํ˜•์„ ์ถ”๊ฐ€ํ•˜๋Š” ๋Œ€์‹  kfunc + kptr(bpf_rbtree_add, bpf_rbtree_remove, bpf_rbtree_first)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” red-black ํŠธ๋ฆฌ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์˜ ๊ตฌํ˜„์ด ์ œ์•ˆ๋ฉ๋‹ˆ๋‹ค.
    • ์žฌ์‹œ์ž‘ ๊ฐ€๋Šฅ ์‹œํ€€์Šค(rseq, ์žฌ์‹œ์ž‘ ๊ฐ€๋Šฅ ์‹œํ€€์Šค) ๋ฉ”์ปค๋‹ˆ์ฆ˜์—์„œ CPU ๋ฒˆํ˜ธ๋กœ ์‹๋ณ„๋˜๋Š” ๋ณ‘๋ ฌ ์‹คํ–‰ ์‹๋ณ„์ž(๋ฉ”๋ชจ๋ฆฌ ๋งต ๋™์‹œ์„ฑ ID)๋ฅผ ํ”„๋กœ์„ธ์Šค์— ์ „๋‹ฌํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Rseq๋Š” ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ์— ์˜ํ•ด ์ค‘๋‹จ๋œ ๊ฒฝ์šฐ ์ •๋ฆฌ๋˜๊ณ  ์žฌ์‹œ๋„๋˜๋Š” ์ž‘์—…์„ ์›์ž์ ์œผ๋กœ ์‹ ์†ํ•˜๊ฒŒ ์‹คํ–‰ํ•˜๋Š” ์ˆ˜๋‹จ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
    • ARM ํ”„๋กœ์„ธ์„œ๋Š” SME 2(Scalable Matrix Extension) ๋ช…๋ น์–ด๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
    • s390x ๋ฐ RISC-V RV64 ์•„ํ‚คํ…์ฒ˜์˜ ๊ฒฝ์šฐ "BPF ํŠธ๋žจํด๋ฆฐ" ๋ฉ”์ปค๋‹ˆ์ฆ˜์— ๋Œ€ํ•œ ์ง€์›์ด ๊ตฌํ˜„๋˜์–ด ์ปค๋„๊ณผ BPF ํ”„๋กœ๊ทธ๋žจ ๊ฐ„์— ํ˜ธ์ถœ์„ ์ „์†กํ•  ๋•Œ ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ์ตœ์†Œํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • RISC-V ์•„ํ‚คํ…์ฒ˜ ๊ธฐ๋ฐ˜ ํ”„๋กœ์„ธ์„œ๊ฐ€ ์žˆ๋Š” ์‹œ์Šคํ…œ์—์„œ ๋ฌธ์ž์—ด ์ž‘์—… ์†๋„๋ฅผ ๋†’์ด๊ธฐ ์œ„ํ•ด "ZBB" ๋ช…๋ น์–ด ์‚ฌ์šฉ์ด ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • LoongArch ๋ช…๋ น ์ง‘ํ•ฉ ์•„ํ‚คํ…์ฒ˜ ๊ธฐ๋ฐ˜ ์‹œ์Šคํ…œ์˜ ๊ฒฝ์šฐ(Loongson 3 5000 ํ”„๋กœ์„ธ์„œ์—์„œ ์‚ฌ์šฉ๋˜๋ฉฐ MIPS ๋ฐ RISC-V์™€ ์œ ์‚ฌํ•œ ์ƒˆ๋กœ์šด RISC ISA ๊ตฌํ˜„) ์ปค๋„ ์ฃผ์†Œ ๊ณต๊ฐ„ ๋ฌด์ž‘์œ„ํ™”(KASLR) ์ง€์›, ๋ฉ”๋ชจ๋ฆฌ์˜ ์ปค๋„ ์žฌ๋ฐฐ์น˜(์žฌ๋ฐฐ์น˜) ), ํ•˜๋“œ์›จ์–ด ํฌ์ธํŠธ ์ •์ง€ ๋ฐ kprobe ๋ฉ”์ปค๋‹ˆ์ฆ˜.
    • ๋ฉ”๋ชจ๋ฆฌ ์•ก์„ธ์Šค ๋นˆ๋„์— ๋”ฐ๋ผ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ™•๋ณดํ•  ์ˆ˜ ์žˆ๋Š” DAMOS(Data Access Monitoring-based Operation Schemes) ๋ฉ”์ปค๋‹ˆ์ฆ˜์€ DAMOS ์ฒ˜๋ฆฌ์—์„œ ํŠน์ • ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์„ ์ œ์™ธํ•˜๋Š” ํ•„ํ„ฐ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
    • ์ตœ์†Œ ํ‘œ์ค€ C ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ Nolibc๋Š” s390 ์•„ํ‚คํ…์ฒ˜ ๋ฐ Arm Thumb1 ๋ช…๋ น์–ด ์„ธํŠธ์— ๋Œ€ํ•œ ์ง€์›์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค(ARM, AArch64, i386, x86_64, RISC-V ๋ฐ MIPS์— ๋Œ€ํ•œ ์ง€์› ์™ธ์—๋„).
    • Objtool์€ ์ปค๋„ ๋นŒ๋“œ ์†๋„๋ฅผ ๋†’์ด๊ณ  ๋นŒ๋“œ ์ค‘ ์ตœ๋Œ€ ๋ฉ”๋ชจ๋ฆฌ ์†Œ๋น„๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•ด ์ตœ์ ํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค("allyesconfig" ๋ชจ๋“œ์—์„œ ์ปค๋„์„ ๋นŒ๋“œํ•  ๋•Œ 32GB RAM์ด ์žˆ๋Š” ์‹œ์Šคํ…œ์—์„œ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐ•์ œ ์ข…๋ฃŒํ•˜๋Š” ๋ฐ ๋ฌธ์ œ๊ฐ€ ์—†์Œ).
    • Intel ICC ์ปดํŒŒ์ผ๋Ÿฌ์— ์˜ํ•œ ์ปค๋„ ์–ด์…ˆ๋ธ”๋ฆฌ ์ง€์›์ด ์ค‘๋‹จ๋˜์–ด ์˜ค๋žซ๋™์•ˆ ์ž‘๋™ํ•˜์ง€ ์•Š์•˜์œผ๋ฉฐ ์•„๋ฌด๋„ ์ˆ˜์ •ํ•˜๋ ค๋Š” ์˜์‚ฌ๋ฅผ ํ‘œ๋ช…ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
  • ๋””์Šคํฌ ํ•˜์œ„ ์‹œ์Šคํ…œ, I/O ๋ฐ ํŒŒ์ผ ์‹œ์Šคํ…œ
    • tmpfs๋Š” ๋งˆ์šดํŠธ๋œ ์™ธ๋ถ€ ํŒŒํ‹ฐ์…˜์— ์žˆ๋Š” ํŠน์ • ์‚ฌ์šฉ์ž์˜ ํŒŒ์ผ์„ ํ˜„์žฌ ์‹œ์Šคํ…œ์˜ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋งคํ•‘ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๋งˆ์šดํŠธ๋œ ํŒŒ์ผ ์‹œ์Šคํ…œ ์‚ฌ์šฉ์ž ID ๋งคํ•‘์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
    • Btrfs์—์„œ ๋ธ”๋ก ๊ทธ๋ฃน์˜ ์กฐ๊ฐํ™”๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•ด ์ต์Šคํ…ํŠธ๋Š” ๋ธ”๋ก์„ ํ• ๋‹นํ•  ๋•Œ ํฌ๊ธฐ๋ณ„๋กœ ๋‚˜๋‰ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ๋ธ”๋ก ๊ทธ๋ฃน์€ ์ด์ œ ์†Œํ˜•(์ตœ๋Œ€ 128KB), ์ค‘ํ˜•(์ตœ๋Œ€ 8MB) ๋ฐ ๋Œ€ํ˜• ์ต์Šคํ…ํŠธ๋กœ ์ œํ•œ๋ฉ๋‹ˆ๋‹ค. raid56 ๊ตฌํ˜„์ด ๋ฆฌํŒฉํ† ๋ง๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ฒดํฌ์„ฌ์„ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์žฌ์„ค๊ณ„๋œ ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค. ๋””๋ ‰ํ„ฐ๋ฆฌ์— ๋Œ€ํ•œ utime์„ ์บ์‹ฑํ•˜๊ณ  ํ•„์š”ํ•  ๋•Œ๋งŒ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜์—ฌ ์ตœ๋Œ€ 10๋ฐฐ๊นŒ์ง€ ์ „์†ก ์ž‘์—… ์†๋„๋ฅผ ๋†’์ด๊ธฐ ์œ„ํ•ด ์„ฑ๋Šฅ ์ตœ์ ํ™”๊ฐ€ ์ด๋ฃจ์–ด์กŒ์Šต๋‹ˆ๋‹ค. ๊ณต์œ  ๋ฐ์ดํ„ฐ(์Šค๋ƒ…์ƒท)์— ๋Œ€ํ•œ ๋ฐฑ๋งํฌ ๊ฒ€์‚ฌ๋ฅผ ๊ฑด๋„ˆ๋›ฐ์–ด fiemap ์ž‘์—…์ด 10๋ฐฐ ๋” ๋นจ๋ผ์กŒ์Šต๋‹ˆ๋‹ค. B-ํŠธ๋ฆฌ ๊ตฌ์กฐ์—์„œ ํ‚ค ๊ฒ€์ƒ‰์„ ์ตœ์ ํ™”ํ•˜์—ฌ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์ž‘์—…์ด XNUMX% ๋นจ๋ผ์ง‘๋‹ˆ๋‹ค.
    • ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฐฐํƒ€์  ์ž ๊ธˆ ๋Œ€์‹  ๊ณต์œ  inode ์ž ๊ธˆ์„ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์ „ ํ• ๋‹น๋œ ๋ธ”๋ก์— ๋Œ€ํ•ด ์ง์ ‘ I/O ์ž‘์—…์„ ๋™์‹œ์— ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜์—ฌ ext4 FS์˜ ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ–ˆ์Šต๋‹ˆ๋‹ค.
    • f2fs์—์„œ๋Š” ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ์„ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•œ ์ž‘์—…์ด ์ˆ˜ํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์›์ž ์“ฐ๊ธฐ ๋ฐ ์ƒˆ๋กœ์šด ์ต์Šคํ…ํŠธ ์บ์‹œ์™€ ๊ด€๋ จ๋œ ์ค‘์š”ํ•œ ๋ฌธ์ œ๋ฅผ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.
    • ์ฝ๊ธฐ ์ „์šฉ ํŒŒํ‹ฐ์…˜์—์„œ ์‚ฌ์šฉํ•˜๋„๋ก ์„ค๊ณ„๋œ EROFS(Enhanced Read-Only File System)๋Š” ๋ฐ์ดํ„ฐ ์•ก์„ธ์Šค ์ง€์—ฐ์„ ์ค„์ด๊ธฐ ์œ„ํ•ด ์••์ถ• ํŒŒ์ผ ์••์ถ• ํ•ด์ œ ์ž‘์—…์„ CPU์— ๋ฐ”์ธ๋”ฉํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.
    • BFQ I/O ์Šค์ผ€์ค„๋Ÿฌ๋Š” ๋ณ„๋„๋กœ ์ œ์–ด๋˜๋Š” ์—ฌ๋Ÿฌ ๋“œ๋ผ์ด๋ธŒ(Multi Actuator)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋“œ๋ผ์ด๋ธŒ์™€ ๊ฐ™์€ ๊ณ ๊ธ‰ ํšŒ์ „ ๋””์Šคํฌ ๋“œ๋ผ์ด๋ธŒ์— ๋Œ€ํ•œ ์ง€์›์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
    • AES-SHA2 ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•œ ๋ฐ์ดํ„ฐ ์•”ํ˜ธํ™” ์ง€์›์ด NFS ํด๋ผ์ด์–ธํŠธ ๋ฐ ์„œ๋ฒ„ ๊ตฌํ˜„์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • FUSE(Filesystems In User Space) ํ•˜์œ„ ์‹œ์Šคํ…œ์—๋Š” ์ฟผ๋ฆฌ ํ™•์žฅ ๋ฉ”์ปค๋‹ˆ์ฆ˜์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์–ด ์ฟผ๋ฆฌ์— ์ถ”๊ฐ€ ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์„ ๊ธฐ๋ฐ˜์œผ๋กœ FS ์š”์ฒญ์— ๋Œ€ํ•œ ๊ทธ๋ฃน ์‹๋ณ„์ž ์ถ”๊ฐ€๊ฐ€ ๊ตฌํ˜„๋˜๋ฉฐ, ์ด๋Š” FS์—์„œ ๊ฐœ์ฒด๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ์•ก์„ธ์Šค ๊ถŒํ•œ์„ ๊ณ ๋ คํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค(create, mkdir, symlink, mknod).
  • ๊ฐ€์ƒํ™” ๋ฐ ๋ณด์•ˆ
    • x86 ์‹œ์Šคํ…œ์šฉ KVM ํ•˜์ดํผ๋ฐ”์ด์ €๋Š” ํ™•์žฅ๋œ Hyper-V ํ•˜์ดํผ์ฝœ์— ๋Œ€ํ•œ ์ง€์›์„ ์ถ”๊ฐ€ํ•˜๊ณ  ์ด๋ฅผ ์‚ฌ์šฉ์ž ๊ณต๊ฐ„ ํ˜ธ์ŠคํŠธ ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰๋˜๋Š” ํ•ธ๋“ค๋Ÿฌ๋กœ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. ๋ณ€๊ฒฝ์œผ๋กœ ์ธํ•ด Hyper-V ํ•˜์ดํผ๋ฐ”์ด์ €์˜ ์ค‘์ฒฉ๋œ ์‹œ์ž‘์— ๋Œ€ํ•œ ์ง€์›์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
    • KVM์„ ์‚ฌ์šฉํ•˜๋ฉด ์„ฑ๋Šฅ ์ธก์ •๊ณผ ๊ด€๋ จ๋œ PMU(Performance Monitor Unit) ์ด๋ฒคํŠธ์— ๋Œ€ํ•œ ๊ฒŒ์ŠคํŠธ ์‹œ์Šคํ…œ ์•ก์„ธ์Šค๋ฅผ ์‰ฝ๊ฒŒ ์ œํ•œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ํ”„๋กœ์„ธ์Šค ๊ฐ„์— ์ „๋‹ฌ๋˜๋Š” ํŒŒ์ผ ๋””์Šคํฌ๋ฆฝํ„ฐ๋ฅผ ํ†ตํ•ด ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์„ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ๋Š” memfd ๋ฉ”์ปค๋‹ˆ์ฆ˜์— ์ฝ”๋“œ ์‹คํ–‰์ด ๊ธˆ์ง€๋œ ์˜์—ญ(๋น„์‹คํ–‰ memfd)์„ ์ƒ์„ฑํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์œผ๋ฉฐ, ๋ฏธ๋ž˜.
    • ์“ฐ๊ธฐ์™€ ์‹คํ–‰์„ ๋™์‹œ์— ํ—ˆ์šฉํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ์•ก์„ธ์Šค ๊ถŒํ•œ์„ ํฌํ•จํ•˜๋ ค๋Š” ์‹œ๋„๋ฅผ ์ฐจ๋‹จํ•˜๊ธฐ ์œ„ํ•ด ์ƒˆ๋กœ์šด PR_SET_MDWE prctl ์ž‘์—…์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • AMD Zen 4 ํ”„๋กœ์„ธ์„œ์—์„œ ์ œ์•ˆ๋œ IBRS(Enhanced Indirect Branch Restricted Speculation) ์ž๋™ ๋ชจ๋“œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ Spectre ํด๋ž˜์Šค์˜ ๊ณต๊ฒฉ์— ๋Œ€ํ•œ ๋ณดํ˜ธ ๊ธฐ๋Šฅ์ด ๊ธฐ๋ณธ์ ์œผ๋กœ ์ถ”๊ฐ€ ๋ฐ ํ™œ์„ฑํ™”๋˜์–ด ์ธํ„ฐ๋ŸฝํŠธ ์ฒ˜๋ฆฌ ์ค‘์— ๋ช…๋ น์˜ ์˜ˆ์ธก ์‹คํ–‰์„ ์ ์‘์ ์œผ๋กœ ํ™œ์„ฑํ™” ๋ฐ ๋น„ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. , ์‹œ์Šคํ…œ ํ˜ธ์ถœ ๋ฐ ์ปจํ…์ŠคํŠธ ์Šค์œ„์น˜. ์ œ์•ˆ๋œ ๋ณดํ˜ธ๋Š” Retpoline ๋ณดํ˜ธ์— ๋น„ํ•ด ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ๋‚ฎ์Šต๋‹ˆ๋‹ค.
    • ๋™์‹œ ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋”ฉ ๊ธฐ์ˆ (SMT ๋˜๋Š” ํ•˜์ดํผ์Šค๋ ˆ๋”ฉ)์„ ์‚ฌ์šฉํ•  ๋•Œ Spectre v2 ๊ณต๊ฒฉ ๋ณดํ˜ธ๋ฅผ ์šฐํšŒํ•  ์ˆ˜ ์žˆ๊ณ  IBRS ๋ณดํ˜ธ ๋ชจ๋“œ๋ฅผ ์„ ํƒํ•  ๋•Œ STIBP(Single Thread Indirect Branch Predictors)๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜์—ฌ ๋ฐœ์ƒํ•˜๋Š” ์ทจ์•ฝ์„ฑ์„ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค.
    • ARM64 ๊ธฐ๋ฐ˜ ์‹œ์Šคํ…œ์˜ ๊ฒฝ์šฐ ์ƒˆ๋กœ์šด "virtconfig" ๋นŒ๋“œ ๋Œ€์ƒ์ด ์ถ”๊ฐ€๋˜์–ด ์„ ํƒ ์‹œ ๊ฐ€์ƒํ™” ์‹œ์Šคํ…œ์—์„œ ๋ถ€ํŒ…ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์ตœ์†Œ ์ปค๋„ ๊ตฌ์„ฑ ์š”์†Œ ์ง‘ํ•ฉ๋งŒ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค.
    • m68k ์•„ํ‚คํ…์ฒ˜์šฉ seccomp ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•„ํ„ฐ๋ง ์‹œ์Šคํ…œ ํ˜ธ์ถœ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • Microsoft Pluton ๊ธฐ์ˆ ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” AMD Ryzen ํ”„๋กœ์„ธ์„œ์˜ ๋‚ด์žฅํ˜• CRB TPM2(๋ช…๋ น ์‘๋‹ต ๋ฒ„ํผ) ์žฅ์น˜์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๋„คํŠธ์›Œํฌ ํ•˜์œ„ ์‹œ์Šคํ…œ
    • IEEE 802.3cg-2019 ์‚ฌ์–‘์— ์ •์˜๋˜๊ณ  IoT ์žฅ์น˜์™€ ์‚ฐ์—… ์‹œ์Šคํ…œ์„ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐ ์ตœ์ ํ™”๋œ 802.3cg(10Base-T1S) ์ด๋”๋„ท ๋„คํŠธ์›Œํฌ์— ์‚ฌ์šฉ๋˜๋Š” PLCA(Physical Layer Collision avoidance) ํ•˜์œ„ ๊ณ„์ธต์„ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด netlink ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. PLCA๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ณต์œ  ๋ฏธ๋””์–ด ์ด๋”๋„ท ๋„คํŠธ์›Œํฌ์—์„œ ์„ฑ๋Šฅ์ด ํ–ฅ์ƒ๋ฉ๋‹ˆ๋‹ค.
    • WiFi 7(802.11be) ๋ฌด์„  ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ "๋ฌด์„  ํ™•์žฅ" API์— ๋Œ€ํ•œ ์ง€์›์ด ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด API๋Š” ํ•„์š”ํ•œ ๋ชจ๋“  ์„ค์ •์„ ๋‹ค๋ฃจ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์—๋ฎฌ๋ ˆ์ดํŠธ๋œ ๊ณ„์ธต์œผ๋กœ ๊ณ„์† ์ง€์›๋˜๋Š” "๋ฌด์„  ํ™•์žฅ" API๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ•˜๋ฉด ์ด์ œ ๋Œ€๋ถ€๋ถ„์˜ ์ตœ์‹  ์žฅ์น˜์— ๋Œ€ํ•ด ๊ฒฝ๊ณ ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
    • netlink API์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋ฌธ์„œ๊ฐ€ ์ค€๋น„๋˜์—ˆ์Šต๋‹ˆ๋‹ค(์ปค๋„ ๊ฐœ๋ฐœ์ž ๋ฐ ์‚ฌ์šฉ์ž ๊ณต๊ฐ„ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ์ž์šฉ). ynl-gen-c ์œ ํ‹ธ๋ฆฌํ‹ฐ๋Š” Netlink ํ”„๋กœํ† ์ฝœ์˜ YAML ์‚ฌ์–‘์„ ๊ธฐ๋ฐ˜์œผ๋กœ C ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•˜๋„๋ก ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • IP_LOCAL_PORT_RANGE ์˜ต์…˜์— ๋Œ€ํ•œ ์ง€์›์ด ๋„คํŠธ์›Œํฌ ์†Œ์ผ“์— ์ถ”๊ฐ€๋˜์–ด SNAT๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ์ฃผ์†Œ ๋ณ€ํ™˜๊ธฐ๋ฅผ ํ†ตํ•ด ๋‚˜๊ฐ€๋Š” ์—ฐ๊ฒฐ ๊ตฌ์„ฑ์„ ๋‹จ์ˆœํ™”ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ํ˜ธ์ŠคํŠธ์—์„œ ๋™์ผํ•œ IP ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ IP_LOCAL_PORT_RANGE๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐ ํ˜ธ์ŠคํŠธ๊ฐ€ ์ž์ฒด ๋ฒ”์œ„์˜ ๋ฐœ์‹  ๋„คํŠธ์›Œํฌ ํฌํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ๊ฒŒ์ดํŠธ์›จ์ด์—์„œ ํฌํŠธ ๋ฒˆํ˜ธ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํŒจํ‚ท์„ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • MPTCP(MultiPath TCP)์˜ ๊ฒฝ์šฐ IPv4 ๋ฐ IPv6 ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜๋Š” ํ˜ผํ•ฉ ์ŠคํŠธ๋ฆผ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ธฐ๋Šฅ์ด ๊ตฌํ˜„๋ฉ๋‹ˆ๋‹ค. MPTCP๋Š” ์„œ๋กœ ๋‹ค๋ฅธ IP ์ฃผ์†Œ์— ๋ฐ”์ธ๋”ฉ๋œ ์„œ๋กœ ๋‹ค๋ฅธ ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ์—ฌ๋Ÿฌ ๊ฒฝ๋กœ๋ฅผ ๋”ฐ๋ผ ๋™์‹œ์— ํŒจํ‚ท์„ ์ „๋‹ฌํ•˜๋Š” TCP ์—ฐ๊ฒฐ ์ž‘์—…์„ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•œ TCP ํ”„๋กœํ† ์ฝœ์˜ ํ™•์žฅ์ž…๋‹ˆ๋‹ค.
    • IPv4์˜ ๊ฒฝ์šฐ BIG TCP ํ™•์žฅ์„ ์‚ฌ์šฉํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๊ตฌํ˜„๋˜์–ด ์ตœ๋Œ€ TCP ํŒจํ‚ท ํฌ๊ธฐ๋ฅผ ์ตœ๋Œ€ 4GB๊นŒ์ง€ ๋Š˜๋ ค ๋ฐ์ดํ„ฐ ์„ผํ„ฐ์˜ ๊ณ ์† ๋‚ด๋ถ€ ๋„คํŠธ์›Œํฌ ์šด์˜์„ ์ตœ์ ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 16๋น„ํŠธ ํ—ค๋” ํ•„๋“œ์˜ ํŒจํ‚ท ํฌ๊ธฐ ์ฆ๊ฐ€๋Š” IP ํ—ค๋” ํฌ๊ธฐ๊ฐ€ 0์œผ๋กœ ์„ค์ •๋˜๊ณ  ์‹ค์ œ ํฌ๊ธฐ๊ฐ€ ๋ณ„๋„์˜ ์ฒจ๋ถ€ ํ—ค๋”์— ์žˆ๋Š” ๋ณ„๋„์˜ 32๋น„ํŠธ ํ•„๋“œ์—์„œ ์ „์†ก๋˜๋Š” "์ ๋ณด" ํŒจํ‚ท์„ ๊ตฌํ˜„ํ•จ์œผ๋กœ์จ ๋‹ฌ์„ฑ๋ฉ๋‹ˆ๋‹ค.
    • ์ƒˆ sysctl ๋งค๊ฐœ๋ณ€์ˆ˜ default_rps_mask๊ฐ€ ์ถ”๊ฐ€๋˜์–ด ๊ธฐ๋ณธ RPS(Receive Packet Steering) ๊ตฌ์„ฑ์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์ˆ˜์‹  ํŠธ๋ž˜ํ”ฝ ์ฒ˜๋ฆฌ๋ฅผ ์ธํ„ฐ๋ŸฝํŠธ ์ฒ˜๋ฆฌ๊ธฐ ์ˆ˜์ค€์—์„œ CPU ์ฝ”์–ด ์ „์ฒด์— ๋ถ„์‚ฐ์‹œํ‚ค๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.
    • CBQ(ํด๋ž˜์Šค ๊ธฐ๋ฐ˜ ํ์ž‰), ATM(ATM ๊ฐ€์ƒ ํšŒ๋กœ), dsmark(์ฐจ๋ณ„ํ™”๋œ ์„œ๋น„์Šค ๋งˆ์ปค), tcindex(ํŠธ๋ž˜ํ”ฝ ์ œ์–ด ์ธ๋ฑ์Šค) ๋ฐ RSVP(๋ฆฌ์†Œ์Šค ์˜ˆ์•ฝ ํ”„๋กœํ† ์ฝœ) ํŠธ๋ž˜ํ”ฝ์„ ์ œํ•œํ•˜๊ธฐ ์œ„ํ•œ ํ์ž‰ ๊ทœ์œจ์— ๋Œ€ํ•œ ์ง€์›์ด ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ถ„์•ผ๋Š” ์˜ค๋žซ๋™์•ˆ ๋ฒ„๋ ค์กŒ๊ณ  ์•„๋ฌด๋„ ๊ณ„์† ์ง€์›ํ•˜๋ ค๊ณ  ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
  • ะžะฑะพั€ัƒะดะพะฒะฐะฝะธะต
    • ๋ชจ๋“  DRI1 ๊ธฐ๋ฐ˜ ๊ทธ๋ž˜ํ”ฝ ๋“œ๋ผ์ด๋ฒ„ ์ œ๊ฑฐ: i810(์ด์ „ Intel 8xx ํ†ตํ•ฉ ๊ทธ๋ž˜ํ”ฝ ์นด๋“œ), mga(Matrox GPU), r128(Rage Fury, XPERT 128 ๋ฐ XPERT 99 ์นด๋“œ๋ฅผ ํฌํ•จํ•œ ATI Rage 128 GPU), savage(S3 Savage GPU), sis( Crusty SiS GPU), tdfx(3dfx Voodoo) ๋ฐ via(VIA IGP)๋Š” 2016๋…„์— ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์œผ๋ฉฐ 2012๋…„ ์ดํ›„๋กœ Mesa์—์„œ ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
    • ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํ”„๋ ˆ์ž„ ๋ฒ„ํผ(fbdev) ๋“œ๋ผ์ด๋ฒ„ omap1, s3c2410, tmiofb ๋ฐ w100fb๋ฅผ ์ œ๊ฑฐํ–ˆ์Šต๋‹ˆ๋‹ค.
    • ์ปดํ“จํ„ฐ ๋น„์ „ ๋ฐ ๊ธฐ๊ณ„ ํ•™์Šต ์ž‘์—…์„ ๊ฐ€์†ํ™”ํ•˜๋„๋ก ์„ค๊ณ„๋œ Intel Meteor Lake(14์„ธ๋Œ€) CPU์— ํ†ตํ•ฉ๋œ VPU(Versatile Processing Unit)์šฉ DRM ๋“œ๋ผ์ด๋ฒ„๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋“œ๋ผ์ด๋ฒ„๋Š” ๋ณ„๋„์˜ ASIC ํ˜•ํƒœ์™€ SoC ๋ฐ GPU ๋‚ด๋ถ€์˜ IP ๋ธ”๋ก์œผ๋กœ ์ œ๊ณต๋  ์ˆ˜ ์žˆ๋Š” ์ปดํ“จํŒ… ๊ฐ€์†๊ธฐ ์ง€์›์„ ๋ชฉํ‘œ๋กœ ํ•˜๋Š” "accel" ํ•˜์œ„ ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„๋ฉ๋‹ˆ๋‹ค.
    • i915(Intel) ๋“œ๋ผ์ด๋ฒ„๋Š” Intel Arc(DG2/Alchemist) ๊ฐœ๋ณ„ ๊ทธ๋ž˜ํ”ฝ ์นด๋“œ์— ๋Œ€ํ•œ ์ง€์›์„ ํ™•์žฅํ•˜๊ณ  Meteor Lake GPU์— ๋Œ€ํ•œ ์˜ˆ๋น„ ์ง€์›์„ ๋„์ž…ํ•˜๋ฉฐ Intel Xe HP 4tile GPU์— ๋Œ€ํ•œ ์ง€์›์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.
    • amdgpu ๋“œ๋ผ์ด๋ฒ„๋Š” AdaptiveSync ๊ธฐ์ˆ ์— ๋Œ€ํ•œ ์ง€์›๊ณผ ๋‹ค์ค‘ ๋””์Šคํ”Œ๋ ˆ์ด์—์„œ ๋ณด์•ˆ ๋””์Šคํ”Œ๋ ˆ์ด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. DCN 3.2(Display Core Next), SR-IOV RAS, VCN RAS, SMU 13.x ๋ฐ DP 2.1์— ๋Œ€ํ•œ ์ง€์›์ด ์—…๋ฐ์ดํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • SM8350, SM8450 SM8550, SDM845 ๋ฐ SC8280XP ํ”Œ๋žซํผ์— ๋Œ€ํ•œ ์ง€์›์ด msm ๋“œ๋ผ์ด๋ฒ„(GPU Qualcomm Adreno)์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • Nouveau ๋“œ๋ผ์ด๋ฒ„๋Š” ์ด์ „ ioctl ํ˜ธ์ถœ์— ๋Œ€ํ•œ ์ง€์›์„ ์ค‘๋‹จํ–ˆ์Šต๋‹ˆ๋‹ค.
    • NPU VerSilicon(VeriSilicon Neural Network Processor)์— ๋Œ€ํ•œ ์‹คํ—˜์  ์ง€์›์ด etnaviv ๋“œ๋ผ์ด๋ฒ„์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • ๋ณ‘๋ ฌ ํฌํŠธ๋ฅผ ํ†ตํ•ด ์—ฐ๊ฒฐ๋œ IDE ๋“œ๋ผ์ด๋ธŒ์šฉ pata_parport ๋“œ๋ผ์ด๋ฒ„๊ฐ€ ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ถ”๊ฐ€๋œ ๋“œ๋ผ์ด๋ฒ„๋ฅผ ํ†ตํ•ด ์ปค๋„์—์„œ ์ด์ „ PARIDE ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ATA ํ•˜์œ„ ์‹œ์Šคํ…œ์„ ์—…๊ทธ๋ ˆ์ด๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ ๋“œ๋ผ์ด๋ฒ„์˜ ํ•œ๊ณ„๋Š” ๋ณ‘๋ ฌ ํฌํŠธ๋ฅผ ํ†ตํ•ด ํ”„๋ฆฐํ„ฐ์™€ ๋””์Šคํฌ๋ฅผ ๋™์‹œ์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
    • Wi-Fi 12์„ ์ง€์›ํ•˜๋Š” Qualcomm ์นฉ ๊ธฐ๋ฐ˜ ๋ฌด์„  ์นด๋“œ์šฉ ath7k ๋“œ๋ผ์ด๋ฒ„ ์ถ”๊ฐ€ RealTek RTL8188EU ์นฉ ๊ธฐ๋ฐ˜ ๋ฌด์„  ์นด๋“œ ์ง€์› ์ถ”๊ฐ€
    • Samsung Galaxy tab A(46), Samsung Galaxy S64, BananaPi R2015, Debix Model A, EmbedFire LubanCat 5/3, Facebook Greatlakes, Orange Pi R1 Plus, Tesla FSD ๋ฐ ์žฅ์น˜๋ฅผ ํฌํ•จํ•œ ARM2 ์•„ํ‚คํ…์ฒ˜ ๊ธฐ๋ฐ˜ 1๊ฐœ ๋ณด๋“œ์— ๋Œ€ํ•œ ์ง€์› ์ถ”๊ฐ€ SoC ๊ธฐ๋ฐ˜ Qualcomm MSM8953(Snapdragon 610), SM8550(Snapdragon 8 Gen 2), SDM450 ๋ฐ SDM632, Rockchips RK3128 TV ๋ฐ•์Šค, RV1126 Vision, RK3588, RK3568, RK3566, RK3588 ๋ฐ RK3328, TI K3(AM642/AM 654/AM68 / AM69).

๋™์‹œ์— ๋ผํ‹ด ์•„๋ฉ”๋ฆฌ์นด ์ž์œ  ์†Œํ”„ํŠธ์›จ์–ด ์žฌ๋‹จ์€ ์™„์ „ ๋ฌด๋ฃŒ ์ปค๋„ 6.3์˜ ๋ณ€์ข…์ธ Linux-libre 6.3-gnu๋ฅผ ํ˜•์„ฑํ–ˆ์œผ๋ฉฐ, ์ž์œ ๊ฐ€ ์•„๋‹Œ ๊ตฌ์„ฑ ์š”์†Œ ๋˜๋Š” ์ฝ”๋“œ ์„น์…˜์„ ํฌํ•จํ•˜๋Š” ํŽŒ์›จ์–ด ๋ฐ ๋“œ๋ผ์ด๋ฒ„ ์š”์†Œ๊ฐ€ ์ œ๊ฑฐ๋˜์—ˆ์œผ๋ฉฐ ๊ทธ ๋ฒ”์œ„๋Š” ๋‹ค์Œ์— ์˜ํ•ด ์ œํ•œ๋ฉ๋‹ˆ๋‹ค. ์ œ์กฐ ์—…์ฒด. ๋ฆด๋ฆฌ์Šค 6.3์—์„œ๋Š” ์ƒˆ ath12k, aw88395 ๋ฐ peb2466 ๋“œ๋ผ์ด๋ฒ„์™€ AArch64 ๊ธฐ๋ฐ˜ qcom ์žฅ์น˜์šฉ ์ƒˆ ์žฅ์น˜ ํŠธ๋ฆฌ ํŒŒ์ผ์—์„œ ๋ธ”๋กญ์ด ์ •๋ฆฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. amdgpu, xhci-rcar, qcom-q6v5-pas, sp8870, av7110 ๋“œ๋ผ์ด๋ฒ„ ๋ฐ ํ•˜์œ„ ์‹œ์Šคํ…œ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์†Œํ”„ํŠธ์›จ์–ด ๋””์ฝ”๋”ฉ์ด ํฌํ•จ๋œ DVB ์นด๋“œ์šฉ ๋“œ๋ผ์ด๋ฒ„์™€ ๋ฏธ๋ฆฌ ์ปดํŒŒ์ผ๋œ BPF ํŒŒ์ผ์—์„œ BLOB ์ •๋ฆฌ ์ฝ”๋“œ๋ฅผ ์—…๋ฐ์ดํŠธํ–ˆ์Šต๋‹ˆ๋‹ค. ํผ์ง€ ๋“œ๋ผ์ด๋ฒ„ mga, r128, tm6000, cpia2 ๋ฐ r8188eu๊ฐ€ ์ปค๋„์—์„œ ์ œ๊ฑฐ๋˜๋ฉด์„œ ์ค‘์ง€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ–ฅ์ƒ๋œ i915 ๋“œ๋ผ์ด๋ฒ„ ๋ธ”๋กญ ์ฒญ์†Œ.

์ถœ์ฒ˜ : opennet.ru

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