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

๋‘ ๋‹ฌ๊ฐ„์˜ ๊ฐœ๋ฐœ ๋์— Linus Torvalds๋Š” Linux ์ปค๋„ 6.2์˜ ์ถœ์‹œ๋ฅผ ๋ฐœํ‘œํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€์žฅ ์ฃผ๋ชฉํ• ๋งŒํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ ์ค‘ ํ•˜๋‚˜๋Š” Copyleft-Next ๋ผ์ด์„ผ์Šค์— ๋”ฐ๋ฅธ ์ฝ”๋“œ ํ—ˆ์šฉ, Btrfs์—์„œ RAID5/6 ๊ตฌํ˜„ ๊ฐœ์„ , Rust ์–ธ์–ด ์ง€์› ํ†ตํ•ฉ ์ง€์†, Retbleed ๊ณต๊ฒฉ ๋ฐฉ์ง€ ์˜ค๋ฒ„ํ—ค๋“œ ๊ฐ์†Œ, ์“ฐ๊ธฐ ์ €์žฅ ์ค‘ ๋ฉ”๋ชจ๋ฆฌ ์†Œ๋น„๋ฅผ ์กฐ์ ˆํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜๊ณ , TCP ๋ฐธ๋Ÿฐ์‹ฑ PLB(Protective Load Balancing)๋ฅผ ์œ„ํ•œ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ์ถ”๊ฐ€๋˜๊ณ , ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๋ช…๋ น ํ๋ฆ„ ๋ณดํ˜ธ ๋ฉ”์ปค๋‹ˆ์ฆ˜(FineIBT)์ด ์ถ”๊ฐ€๋˜์—ˆ์œผ๋ฉฐ, BPF์—๋Š” ์ด์ œ ์ž์ฒด ๊ฐœ์ฒด ๋ฐ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ์ •์˜ํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค. , rv(๋Ÿฐํƒ€์ž„ ๊ฒ€์ฆ) ์œ ํ‹ธ๋ฆฌํ‹ฐ๊ฐ€ ํฌํ•จ๋˜์–ด RCU ์ž ๊ธˆ ๊ตฌํ˜„ ์‹œ ์ „๋ ฅ ์†Œ๋น„๊ฐ€ ๊ฐ์†Œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ƒˆ ๋ฒ„์ „์—๋Š” 16843๋ช…์˜ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ˆ˜ํ–‰ํ•œ 2178๊ฐœ์˜ ์ˆ˜์ • ์‚ฌํ•ญ์ด ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉฐ ํŒจ์น˜ ํฌ๊ธฐ๋Š” 62MB์ž…๋‹ˆ๋‹ค(๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ 14108๊ฐœ ํŒŒ์ผ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๊ณ  730195์ค„์˜ ์ฝ”๋“œ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์œผ๋ฉฐ 409485์ค„์ด ์‚ญ์ œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค). 42์— ๋„์ž…๋œ ๋ชจ๋“  ๋ณ€๊ฒฝ ์‚ฌํ•ญ์˜ ์•ฝ 6.2%๋Š” ์žฅ์น˜ ๋“œ๋ผ์ด๋ฒ„์™€ ๊ด€๋ จ์ด ์žˆ๊ณ , ์•ฝ 16%๋Š” ํ•˜๋“œ์›จ์–ด ์•„ํ‚คํ…์ฒ˜ ๊ด€๋ จ ์ฝ”๋“œ ์—…๋ฐ์ดํŠธ์™€ ๊ด€๋ จ์ด ์žˆ์œผ๋ฉฐ, 12%๋Š” ๋„คํŠธ์›Œํฌ ์Šคํƒ๊ณผ ๊ด€๋ จ์ด ์žˆ๊ณ , 4%๋Š” ํŒŒ์ผ ์‹œ์Šคํ…œ๊ณผ ๊ด€๋ จ์ด ์žˆ์œผ๋ฉฐ, 3%๋Š” ๋‚ด๋ถ€ ์ปค๋„ ํ•˜์œ„ ์‹œ์Šคํ…œ๊ณผ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

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

  • ๋ฉ”๋ชจ๋ฆฌ ๋ฐ ์‹œ์Šคํ…œ ์„œ๋น„์Šค
    • Copyleft-Next 0.3.1 ๋ผ์ด์„ผ์Šค์— ๋”ฐ๋ผ ์ œ๊ณต๋˜๋Š” ์ปค๋„ ์ฝ”๋“œ ๋ฐ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ํฌํ•จํ•˜๋Š” ๊ฒƒ์ด ํ—ˆ์šฉ๋ฉ๋‹ˆ๋‹ค. Copyleft-Next ๋ผ์ด์„ ์Šค๋Š” GPLv3 ์ž‘์„ฑ์ž ์ค‘ ํ•œ ๋ช…์ด ๋งŒ๋“ค์—ˆ์œผ๋ฉฐ SUSE ๋ฐ Red Hat ๋ณ€ํ˜ธ์‚ฌ๊ฐ€ ํ™•์ธํ•œ ๋ฐ”์™€ ๊ฐ™์ด GPLv2 ๋ผ์ด์„ ์Šค์™€ ์™„๋ฒฝํ•˜๊ฒŒ ํ˜ธํ™˜๋ฉ๋‹ˆ๋‹ค. GPLv2์— ๋น„ํ•ด Copyleft-Next ๋ผ์ด์„ ์Šค๋Š” ํ›จ์”ฌ ๋” ์ปดํŒฉํŠธํ•˜๊ณ  ์ดํ•ดํ•˜๊ธฐ ์‰ฝ์Šต๋‹ˆ๋‹ค(์†Œ๊ฐœ ๋ถ€๋ถ„๊ณผ ์˜ค๋ž˜๋œ ํƒ€ํ˜‘์— ๋Œ€ํ•œ ์–ธ๊ธ‰์ด ์ œ๊ฑฐ๋จ). ์œ„๋ฐ˜์„ ์ œ๊ฑฐํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ๊ฐ„๊ณผ ์ ˆ์ฐจ๋ฅผ ์ •์˜ํ•˜๋ฉฐ ์˜ค๋ž˜๋œ ์†Œํ”„ํŠธ์›จ์–ด์— ๋Œ€ํ•œ ์นดํ”ผ๋ ˆํ”„ํŠธ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ž๋™์œผ๋กœ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. 15์„ธ ์ด์ƒ์ž…๋‹ˆ๋‹ค.

      Copyleft-Next์—๋Š” GPLv2์™€ ๋‹ฌ๋ฆฌ ์ด ๋ผ์ด์„ผ์Šค๊ฐ€ Apache 2.0 ๋ผ์ด์„ผ์Šค์™€ ํ˜ธํ™˜๋˜๋„๋ก ํ•˜๋Š” ๋…์  ๊ธฐ์ˆ  ๋ถ€์—ฌ ์กฐํ•ญ๋„ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. GPLv2์™€์˜ ์™„์ „ํ•œ ํ˜ธํ™˜์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด Copyleft-Next๋Š” ์›๋ณธ Copyleft-Next ๋ผ์ด์„ ์Šค ์™ธ์—๋„ GPL ๋ผ์ด์„ ์Šค์— ๋”ฐ๋ผ ํŒŒ์ƒ ์ €์ž‘๋ฌผ์ด ์ œ๊ณต๋  ์ˆ˜ ์žˆ์Œ์„ ๋ช…์‹œ์ ์œผ๋กœ ๋ช…์‹œํ•ฉ๋‹ˆ๋‹ค.

    • ์ด ๊ตฌ์กฐ์—๋Š” RV(๋Ÿฐํƒ€์ž„ ๊ฒ€์ฆ) ํ•˜์œ„ ์‹œ์Šคํ…œ์˜ ํ•ธ๋“ค๋Ÿฌ์™€ ์‚ฌ์šฉ์ž ๊ณต๊ฐ„์˜ ์ƒํ˜ธ ์ž‘์šฉ์„ ์œ„ํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” "rv" ์œ ํ‹ธ๋ฆฌํ‹ฐ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉฐ ์˜ค๋ฅ˜ ๋ฐœ์ƒ์„ ๋ณด์žฅํ•˜๋Š” ๋งค์šฐ ์•ˆ์ •์ ์ธ ์‹œ์Šคํ…œ์—์„œ ์˜ฌ๋ฐ”๋ฅธ ์ž‘๋™์„ ํ™•์ธํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ™•์ธ์€ ์‹œ์Šคํ…œ์˜ ์˜ˆ์ƒ ๋™์ž‘์„ ์ •์˜ํ•˜๋Š” ๊ธฐ๊ณ„์˜ ์‚ฌ์ „ ๊ฒฐ์ •๋œ ์ฐธ์กฐ ๊ฒฐ์ •์  ๋ชจ๋ธ์— ๋Œ€ํ•ด ์‹ค์ œ ์‹คํ–‰ ์ง„ํ–‰ ์ƒํ™ฉ์„ ํ™•์ธํ•˜๋Š” ์ถ”์  ์ง€์ ์— ํ•ธ๋“ค๋Ÿฌ๋ฅผ ์—ฐ๊ฒฐํ•˜์—ฌ ๋Ÿฐํƒ€์ž„์— ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค.
    • ์Šค์™‘ ํŒŒํ‹ฐ์…˜์„ ์••์ถ•๋œ ํ˜•ํƒœ๋กœ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” zRAM ์žฅ์น˜(์••์ถ•์„ ํ†ตํ•ด ์Šค์™‘์ด ์ˆ˜ํ–‰๋˜๋Š” ๋ฉ”๋ชจ๋ฆฌ์— ๋ธ”๋ก ์žฅ์น˜๊ฐ€ ์ƒ์„ฑ๋จ)๋Š” ๋” ๋†’์€ ์ˆ˜์ค€์„ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ๋Œ€์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜์—ฌ ํŽ˜์ด์ง€๋ฅผ ๋‹ค์‹œ ์••์ถ•ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ์••์ถ•์˜. ์ฃผ์š” ์•„์ด๋””์–ด๋Š” ์—ฌ๋Ÿฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜(lzo, lzo-rle, lz4, lz4hc, zstd) ์ค‘์—์„œ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜์—ฌ ์••์ถ•/์••์ถ• ํ•ด์ œ ์†๋„์™€ ์••์ถ• ์ˆ˜์ค€ ๊ฐ„์˜ ์ ˆ์ถฉ์•ˆ์„ ์ œ๊ณตํ•˜๊ฑฐ๋‚˜ ํŠน์ˆ˜ ์ƒํ™ฉ(์˜ˆ: ๋Œ€์šฉ๋Ÿ‰ ์••์ถ•)์— ์ตœ์ ์ธ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ํŽ˜์ด์ง€).
    • ์‚ฌ์šฉ์ž ๊ณต๊ฐ„์—์„œ IOMMU(I/O ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ์žฅ์น˜)์ธ I/O ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์„ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ "iommufd" API๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด API๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํŒŒ์ผ ์„ค๋ช…์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ I/O ๋ฉ”๋ชจ๋ฆฌ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • BPF๋Š” ์œ ํ˜•์„ ์ƒ์„ฑํ•˜๊ณ , ์ž์‹ ๋งŒ์˜ ๊ฐ์ฒด๋ฅผ ์ •์˜ํ•˜๊ณ , ๊ฐ์ฒด์˜ ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ๊ตฌ์ถ•ํ•˜๊ณ , ์—ฐ๊ฒฐ๋œ ๋ชฉ๋ก๊ณผ ๊ฐ™์€ ์ž์‹ ๋งŒ์˜ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ์œ ์—ฐํ•˜๊ฒŒ ์ƒ์„ฑํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ ˆ์ „ ๋ชจ๋“œ(BPF_F_SLEEPABLE)๋กœ ์ „ํ™˜๋˜๋Š” BPF ํ”„๋กœ๊ทธ๋žจ์˜ ๊ฒฝ์šฐ bpf_rcu_read_{,un}lock() ์ž ๊ธˆ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. task_struct ๊ฐ์ฒด ์ €์žฅ์— ๋Œ€ํ•œ ์ง€์›์ด ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. cgroup์— ๋Œ€ํ•œ ๋กœ์ปฌ ์ €์žฅ์†Œ๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋งต ์œ ํ˜• BPF_MAP_TYPE_CGRP_STORAGE๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
    • RCU(์ฝ๊ธฐ-๋ณต์‚ฌ-์—…๋ฐ์ดํŠธ) ์ฐจ๋‹จ ๋ฉ”์ปค๋‹ˆ์ฆ˜์˜ ๊ฒฝ์šฐ ๋ฐฐ์น˜ ๋ชจ๋“œ์—์„œ ํƒ€์ด๋จธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—ฌ๋Ÿฌ ์ฝœ๋ฐฑ ํ˜ธ์ถœ์ด ํ•œ ๋ฒˆ์— ์ฒ˜๋ฆฌ๋˜๋Š” "์ง€์—ฐ" ์ฝœ๋ฐฑ ํ˜ธ์ถœ์˜ ์„ ํƒ์  ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ๊ตฌํ˜„๋ฉ๋‹ˆ๋‹ค. ์ œ์•ˆ๋œ ์ตœ์ ํ™”๋ฅผ ์ ์šฉํ•˜๋ฉด ์œ ํœด ์‹œ๊ฐ„์ด๋‚˜ ์‹œ์Šคํ…œ ๋ถ€ํ•˜๊ฐ€ ๋‚ฎ์€ ๋™์•ˆ RCU ์š”์ฒญ์„ ์—ฐ๊ธฐํ•˜์—ฌ Android ๋ฐ ChromeOS ๊ธฐ๊ธฐ์˜ ์ „๋ ฅ ์†Œ๋น„๋ฅผ 5~10% ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ์›์ž ๋ช…๋ น์„ ์‹คํ–‰ํ•  ๋•Œ ๋‘ ๊ฐœ์˜ CPU ์บ์‹œ ๋ผ์ธ์„ ๊ต์ฐจํ•˜๋Š” ๋ฐ์ดํ„ฐ๋กœ ์ธํ•ด ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์ •๋ ฌ๋˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ์— ์•ก์„ธ์Šคํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ๋ถ„ํ•  ์ž ๊ธˆ์„ ๊ฐ์ง€ํ•  ๋•Œ ์‹œ์Šคํ…œ์ด ๋ฐ˜์‘ํ•˜๋Š” ๋ฐฉ์‹์„ ์ œ์–ดํ•˜๊ธฐ ์œ„ํ•ด sysctl Split_lock_mitigate๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ง‰ํž˜์œผ๋กœ ์ธํ•ด ์„ฑ๋Šฅ์ด ํฌ๊ฒŒ ์ €ํ•˜๋ฉ๋‹ˆ๋‹ค. Split_lock_mitigate๋ฅผ 0์œผ๋กœ ์„ค์ •ํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค๋Š” ๊ฒฝ๊ณ ๋งŒ ๋ฐœํ–‰๋˜๋Š” ๋ฐ˜๋ฉด, Split_lock_mitigate๋ฅผ 1๋กœ ์„ค์ •ํ•˜๋ฉด ์‹œ์Šคํ…œ์˜ ๋‚˜๋จธ์ง€ ๋ถ€๋ถ„์— ๋Œ€ํ•œ ์„ฑ๋Šฅ์„ ๋ณด์กดํ•˜๊ธฐ ์œ„ํ•ด ์ž ๊ธˆ ์†๋„๊ฐ€ ๋Š๋ ค์ง€๋Š” ํ”„๋กœ์„ธ์Šค๋„ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
    • PowerPC ์•„ํ‚คํ…์ฒ˜๋ฅผ ์œ„ํ•œ qspinlock์˜ ์ƒˆ๋กœ์šด ๊ตฌํ˜„์ด ์ œ์•ˆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋” ๋†’์€ ์„ฑ๋Šฅ์„ ๋ณด์—ฌ์ฃผ๊ณ  ์˜ˆ์™ธ์ ์ธ ๊ฒฝ์šฐ์— ๋ฐœ์ƒํ•˜๋Š” ์ผ๋ถ€ ์ž ๊ธˆ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค.
    • MSI(Message-Signaled Interrupts) ์ธํ„ฐ๋ŸฝํŠธ ์ฒ˜๋ฆฌ ์ฝ”๋“œ๊ฐ€ ์žฌ์ž‘์—…๋˜์–ด ๋ˆ„์ ๋œ ์•„ํ‚คํ…์ฒ˜ ๋ฌธ์ œ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ๊ฐœ๋ณ„ ํ•ธ๋“ค๋Ÿฌ๋ฅผ ๋‹ค๋ฅธ ์žฅ์น˜์— ๋ฐ”์ธ๋”ฉํ•˜๊ธฐ ์œ„ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • Loongson 3 5000 ํ”„๋กœ์„ธ์„œ์— ์‚ฌ์šฉ๋˜๋Š” LoongArch ๋ช…๋ น์–ด ์„ธํŠธ ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๊ณ  MIPS ๋ฐ RISC-V์™€ ์œ ์‚ฌํ•œ ์ƒˆ๋กœ์šด RISC ISA๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ์‹œ์Šคํ…œ์˜ ๊ฒฝ์šฐ ftrace, ์Šคํƒ ๋ณดํ˜ธ, ์ ˆ์ „ ๋ฐ ๋Œ€๊ธฐ ๋ชจ๋“œ์— ๋Œ€ํ•œ ์ง€์›์ด ๊ตฌํ˜„๋ฉ๋‹ˆ๋‹ค.
    • ๊ณต์œ  ์ต๋ช… ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์— ์ด๋ฆ„์„ ํ• ๋‹นํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์ œ๊ณต๋˜์—ˆ์Šต๋‹ˆ๋‹ค(์ด์ „์—๋Š” ํŠน์ • ํ”„๋กœ์„ธ์Šค์— ํ• ๋‹น๋œ ๊ฐœ์ธ ์ต๋ช… ๋ฉ”๋ชจ๋ฆฌ์—๋งŒ ์ด๋ฆ„์„ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค).
    • ์ œ์–ด ๊ฒ€์‚ฌ๊ฐ€ ํŠธ๋ฆฌ๊ฑฐ๋  ๋•Œ ํ˜ธ์ถœ๋˜๋Š” ์กฐ๊ฑด๋ถ€ ๋ช…๋ น์„ ๋ฐ”์ธ๋”ฉํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์ถ”์  ํŠธ๋ฆฌ๊ฑฐ๋ฅผ ํ™œ์„ฑํ™”ํ•˜๋„๋ก ์„ค๊ณ„๋œ ์ƒˆ๋กœ์šด ์ปค๋„ ๋ช…๋ น์ค„ ๋งค๊ฐœ ๋ณ€์ˆ˜ "trace_trigger"๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค(์˜ˆ: prev_state == 2โ€ณ์ธ ๊ฒฝ์šฐ Trace_trigger=โ€sched_switch.stacktrace).
    • binutils ํŒจํ‚ค์ง€ ๋ฒ„์ „์— ๋Œ€ํ•œ ์š”๊ตฌ ์‚ฌํ•ญ์ด ์ฆ๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ์ปค๋„์„ ๋นŒ๋“œํ•˜๋ ค๋ฉด ์ตœ์†Œํ•œ binutils 2.25๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
    • exec() ํ˜ธ์ถœ ์‹œ ์‹œ์Šคํ…œ ์‹œ๊ฐ„๊ณผ ์‹œ๊ฐ„์ด ๋‹ค๋ฅธ ์‹œ๊ฐ„ ๋„ค์ž„์ŠคํŽ˜์ด์Šค์— ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ฐฐ์น˜ํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • ์šฐ๋ฆฌ๋Š” ๋“œ๋ผ์ด๋ฒ„ ๋ฐ ์ปค๋„ ๋ชจ๋“ˆ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ๋‘ ๋ฒˆ์งธ ์–ธ์–ด๋กœ Rust ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๊ณผ ๊ด€๋ จ๋œ Rust-for-Linux ๋ถ„๊ธฐ์˜ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์„ ์ด์ „ํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. Rust ์ง€์›์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋น„ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์œผ๋ฉฐ Rust๊ฐ€ ํ•„์ˆ˜ ์ปค๋„ ๋นŒ๋“œ ์ข…์†์„ฑ์œผ๋กœ ํฌํ•จ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰ ๋ฆด๋ฆฌ์Šค์—์„œ ์ œ๊ณต๋˜๋Š” ๊ธฐ๋ณธ ๊ธฐ๋Šฅ์€ Vec ์œ ํ˜• ๋ฐ ๋งคํฌ๋กœ pr_debug!(), pr_cont!() ๋ฐ pr_alert!()๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ ˆ์ฐจ์  ๋งคํฌ๋กœ "#[vtable"๊ณผ ๊ฐ™์€ ์ €์ˆ˜์ค€ ์ฝ”๋“œ๋ฅผ ์ง€์›ํ•˜๋„๋ก ํ™•์žฅ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ]โ€๋Š” ํ•จ์ˆ˜์— ๋Œ€ํ•œ ํฌ์ธํ„ฐ ํ…Œ์ด๋ธ” ์ž‘์—…์„ ๋‹จ์ˆœํ™”ํ•ฉ๋‹ˆ๋‹ค. ํ–ฅํ›„ ๋ฆด๋ฆฌ์Šค์—์„œ๋Š” ์ปค๋„ ํ•˜์œ„ ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ๋†’์€ ์ˆ˜์ค€์˜ Rust ๋ฐ”์ธ๋”ฉ์„ ์ถ”๊ฐ€ํ•˜์—ฌ Rust์—์„œ ์™„์ „ํ•œ ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋ฉ๋‹ˆ๋‹ค.
    • ์ปค๋„์— ์‚ฌ์šฉ๋˜๋Š” "char" ์œ ํ˜•์€ ์ด์ œ ๋ชจ๋“  ์•„ํ‚คํ…์ฒ˜์— ๋Œ€ํ•ด ๊ธฐ๋ณธ์ ์œผ๋กœ unsigned๋กœ ์„ ์–ธ๋ฉ๋‹ˆ๋‹ค.
    • ๋ฉ”๋ชจ๋ฆฌ ์–‘์ด ์ ์€ ์‹œ์Šคํ…œ์„ ์œ„ํ•ด ์„ค๊ณ„๋œ ์Šฌ๋žฉ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น ๋ฉ”์ปค๋‹ˆ์ฆ˜์ธ SLOB(์Šฌ๋žฉ ํ• ๋‹น์ž)๊ฐ€ ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ๊ฒƒ์œผ๋กœ ์„ ์–ธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ ์กฐ๊ฑด์—์„œ๋Š” SLOB ๋Œ€์‹  SLUB ๋˜๋Š” SLAB๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ์–‘์ด ์ ์€ ์‹œ์Šคํ…œ์˜ ๊ฒฝ์šฐ SLUB_TINY ๋ชจ๋“œ์—์„œ SLUB๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.
  • ๋””์Šคํฌ ํ•˜์œ„ ์‹œ์Šคํ…œ, I/O ๋ฐ ํŒŒ์ผ ์‹œ์Šคํ…œ
    • RAID 5/6 ๊ตฌํ˜„์˜ "์“ฐ๊ธฐ ๊ตฌ๋ฉ" ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด Btrfs๊ฐ€ ๊ฐœ์„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค(์“ฐ๊ธฐ ์ค‘์— ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•˜๊ณ  ์–ด๋–ค RAID ์žฅ์น˜๊ฐ€ ์–ด๋Š ๋ธ”๋ก์— ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๊ธฐ๋ก๋˜์—ˆ๋Š”์ง€ ์ดํ•ดํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ RAID๋ฅผ ๋ณต์›ํ•˜๋ ค๋Š” ์‹œ๋„, ์ธ์ˆ˜๋œ ๋ธ”๋ก์— ํ•ด๋‹นํ•˜๋Š” ๋ธ”๋ก ํŒŒ๊ดด๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ์Œ). ๋˜ํ•œ SSD๋Š” ์ด์ œ ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋น„๋™๊ธฐ์‹ ํ๊ธฐ ์ž‘์—…์„ ์ž๋™์œผ๋กœ ํ™œ์„ฑํ™”ํ•˜์—ฌ ํ๊ธฐ ์ž‘์—…์„ ๋Œ€๊ธฐ์—ด๋กœ ํšจ์œจ์ ์œผ๋กœ ๊ทธ๋ฃนํ™”ํ•˜๊ณ  ๋ฐฑ๊ทธ๋ผ์šด๋“œ ํ”„๋กœ์„ธ์„œ์— ์˜ํ•œ ๋Œ€๊ธฐ์—ด ์ฒ˜๋ฆฌ๋ฅผ ํ†ตํ•ด ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค. send ๋ฐ lseek ์ž‘์—…๊ณผ FIEMAP ioctl์˜ ์„ฑ๋Šฅ์ด ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • ๋ธ”๋ก ๋””๋ฐ”์ด์Šค์— ๋Œ€ํ•œ ์ง€์—ฐ ์“ฐ๊ธฐ(์“ฐ๊ธฐ ์ €์žฅ, ๋ณ€๊ฒฝ๋œ ๋ฐ์ดํ„ฐ์˜ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ €์žฅ) ๊ด€๋ฆฌ ๊ธฐ๋Šฅ์ด ํ™•์žฅ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋„คํŠธ์›Œํฌ ๋ธ”๋ก ์žฅ์น˜๋‚˜ USB ๋“œ๋ผ์ด๋ธŒ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ์™€ ๊ฐ™์€ ์ผ๋ถ€ ์ƒํ™ฉ์—์„œ๋Š” ์“ฐ๊ธฐ ์ง€์—ฐ์œผ๋กœ ์ธํ•ด RAM์ด ๋งŽ์ด ์†Œ๋ชจ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ง€์—ฐ ์“ฐ๊ธฐ ๋™์ž‘์„ ์ œ์–ดํ•˜๊ณ  ํŽ˜์ด์ง€ ์บ์‹œ ํฌ๊ธฐ๋ฅผ ํŠน์ • ์ œํ•œ ๋‚ด๋กœ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์ƒˆ๋กœ์šด ๋งค๊ฐœ๋ณ€์ˆ˜ strict_limit, min_bytes, max_bytes, min_ratio_fine ๋ฐ max_ratio_fine์ด sysfs(/sys/class/bdi/)์— ๋„์ž…๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • F2FS ํŒŒ์ผ ์‹œ์Šคํ…œ์€ ๋‹จ์ผ ์›์ž ์ž‘์—… ๋‚ด์—์„œ ํŒŒ์ผ์— ๋ฐ์ดํ„ฐ๋ฅผ ์“ธ ์ˆ˜ ์žˆ๋Š” ์›์ž ๋Œ€์ฒด ioctl ์ž‘์—…์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. F2FS๋Š” ๋˜ํ•œ ์ ๊ทน์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ๋‚˜ ์˜ค๋žซ๋™์•ˆ ์•ก์„ธ์Šค๋˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ๋ฅผ ์‹๋ณ„ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋Š” ๋ธ”๋ก ๋ฒ”์œ„ ์บ์‹œ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
    • ext4 FS์—์„œ๋Š” ์˜ค๋ฅ˜ ์ˆ˜์ •๋งŒ ๊ธฐ๋ก๋ฉ๋‹ˆ๋‹ค.
    • ntfs3 ํŒŒ์ผ ์‹œ์Šคํ…œ์€ ๋ช‡ ๊ฐ€์ง€ ์ƒˆ๋กœ์šด ๋งˆ์šดํŠธ ์˜ต์…˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ํŒŒ์ผ ๋ฐ ๋””๋ ‰ํ„ฐ๋ฆฌ ์ด๋ฆ„์˜ ๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„์„ ์ œ์–ดํ•˜๋Š” โ€‹โ€‹"nocase"; windows_name์€ Windows์— ์œ ํšจํ•˜์ง€ ์•Š์€ ๋ฌธ์ž๊ฐ€ ํฌํ•จ๋œ ํŒŒ์ผ ์ด๋ฆ„ ์ƒ์„ฑ์„ ๊ธˆ์ง€ํ•ฉ๋‹ˆ๋‹ค. hide_dot_files๋Š” ์ ์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ํŒŒ์ผ์— ๋Œ€ํ•œ ์ˆจ๊ฒจ์ง„ ํŒŒ์ผ ๋ ˆ์ด๋ธ” ํ• ๋‹น์„ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค.
    • Squashfs ํŒŒ์ผ ์‹œ์Šคํ…œ์€ ์••์ถ• ํ•ด์ œ ์ž‘์—…์„ ๋ณ‘๋ ฌํ™”ํ•˜๊ธฐ ์œ„ํ•œ ์Šค๋ ˆ๋“œ ์ˆ˜๋ฅผ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋Š” "threads=" ๋งˆ์šดํŠธ ์˜ต์…˜์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. Squashfs๋Š” ๋˜ํ•œ ๋งˆ์šดํŠธ๋œ ์™ธ๋ถ€ ํŒŒํ‹ฐ์…˜์— ์žˆ๋Š” ํŠน์ • ์‚ฌ์šฉ์ž์˜ ํŒŒ์ผ์„ ํ˜„์žฌ ์‹œ์Šคํ…œ์˜ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์™€ ์ผ์น˜์‹œํ‚ค๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๋งˆ์šดํŠธ๋œ ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ์‚ฌ์šฉ์ž ID๋ฅผ ๋งคํ•‘ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๋„์ž…ํ–ˆ์Šต๋‹ˆ๋‹ค.
    • POSIX ์•ก์„ธ์Šค ์ œ์–ด ๋ชฉ๋ก(POSIX ACL) ๊ตฌํ˜„์ด ์žฌ์ž‘์—…๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ๊ตฌํ˜„์€ ์•„ํ‚คํ…์ฒ˜ ๋ฌธ์ œ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ , ์ฝ”๋“œ๋ฒ ์ด์Šค ์œ ์ง€ ๊ด€๋ฆฌ๋ฅผ ๋‹จ์ˆœํ™”ํ•˜๋ฉฐ, ๋ณด๋‹ค ์•ˆ์ „ํ•œ ๋ฐ์ดํ„ฐ ์œ ํ˜•์„ ๋„์ž…ํ•ฉ๋‹ˆ๋‹ค.
    • ํŒŒ์ผ ๋ฐ ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ํˆฌ๋ช…ํ•œ ์•”ํ˜ธํ™”์— ์‚ฌ์šฉ๋˜๋Š” fscrypt ํ•˜์œ„ ์‹œ์Šคํ…œ์— SM4 ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜(์ค‘๊ตญ ํ‘œ์ค€ GB/T 32907-2016)์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • NFSv2 ์ง€์› ์—†์ด ์ปค๋„์„ ๋นŒ๋“œํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์ œ๊ณต๋˜์—ˆ์Šต๋‹ˆ๋‹ค(ํ–ฅํ›„์—๋Š” NFSv2 ์ง€์›์„ ์™„์ „ํžˆ ์ค‘๋‹จํ•  ๊ณ„ํš์ž…๋‹ˆ๋‹ค).
    • NVMe ์žฅ์น˜์— ๋Œ€ํ•œ ์ ‘๊ทผ ๊ถŒํ•œ์„ ํ™•์ธํ•˜๋Š” ๊ตฌ์„ฑ์ด ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์“ฐ๊ธฐ ํ”„๋กœ์„ธ์Šค์— ์žฅ์น˜์˜ ์ „์šฉ ํŒŒ์ผ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ๊ถŒํ•œ์ด ์žˆ๋Š” ๊ฒฝ์šฐ NVMe ์žฅ์น˜๋ฅผ ์ฝ๊ณ  ์“ธ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค(์ด์ „์—๋Š” ํ”„๋กœ์„ธ์Šค์— CAP_SYS_ADMIN ๊ถŒํ•œ์ด ์žˆ์–ด์•ผ ํ•จ).
    • 2016๋…„์— ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” CD/DVD ํŒจํ‚ค์ง€ ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์ œ๊ฑฐํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๊ฐ€์ƒํ™” ๋ฐ ๋ณด์•ˆ
    • Retbleed ์ทจ์•ฝ์ ์— ๋Œ€ํ•œ ์ƒˆ๋กœ์šด ๋ณดํ˜ธ ๋ฐฉ๋ฒ•์ด ํ˜ธ์ถœ ๊นŠ์ด ์ถ”์ ์„ ์‚ฌ์šฉํ•˜์—ฌ Intel ๋ฐ AMD CPU์— ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” Retbleed์— ๋Œ€ํ•œ ์ด์ „์˜ ๋ณดํ˜ธ๋งŒํผ ์ž‘์—… ์†๋„๋ฅผ ์ €ํ•˜์‹œํ‚ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ๋ชจ๋“œ๋ฅผ ํ™œ์„ฑํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์ปค๋„ ๋ช…๋ น์ค„ ๋งค๊ฐœ๋ณ€์ˆ˜ "rebleed=stuff"๊ฐ€ ์ œ์•ˆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • Intel IBT(๊ฐ„์ ‘ ๋ถ„๊ธฐ ์ถ”์ ) ํ•˜๋“œ์›จ์–ด ๋ช…๋ น๊ณผ kCFI(์ปค๋„ ์ œ์–ด ํ๋ฆ„ ๋ฌด๊ฒฐ์„ฑ) ์†Œํ”„ํŠธ์›จ์–ด ๋ณดํ˜ธ๋ฅผ ๊ฒฐํ•ฉํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ๋œ ํฌ์ธํ„ฐ๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ์ต์Šคํ”Œ๋กœ์ž‡ ์‚ฌ์šฉ์œผ๋กœ ์ธํ•œ ์ œ์–ด ํ๋ฆ„ ์œ„๋ฐ˜์„ ์ฐจ๋‹จํ•˜๋Š” ํ•˜์ด๋ธŒ๋ฆฌ๋“œ FineIBT ๋ช…๋ น ํ๋ฆ„ ๋ณดํ˜ธ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋Šฅ. FineIBT๋Š” ํ•จ์ˆ˜์˜ ๋งจ ์•ž์— ์žˆ๋Š” ENDBR ๋ช…๋ น์œผ๋กœ ์ ํ”„ํ•˜๋Š” ๊ฒฝ์šฐ์—๋งŒ ๊ฐ„์ ‘ ์ ํ”„์— ์˜ํ•œ ์‹คํ–‰์„ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ kCFI ๋ฉ”์ปค๋‹ˆ์ฆ˜๊ณผ ์œ ์‚ฌํ•˜๊ฒŒ ํ•ด์‹œ๋ฅผ ๊ฒ€์‚ฌํ•˜์—ฌ ํฌ์ธํ„ฐ์˜ ๋ถˆ๋ณ€์„ฑ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.
    • ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ์ž‘์—…์ด ์™„๋ฃŒ๋˜๊ณ  ์‹œ์Šคํ…œ์„ ์ค‘์ง€ํ•˜์ง€ ์•Š๊ณ  ์ƒํƒœ๊ฐ€ ๋ณต์›๋œ ํ›„ "์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค" ์ƒํƒœ ์ƒ์„ฑ์„ ์กฐ์ž‘ํ•˜๋Š” ๊ณต๊ฒฉ์„ ์ฐจ๋‹จํ•˜๊ธฐ ์œ„ํ•œ ์ œํ•œ ์‚ฌํ•ญ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. "oops" ์ƒํƒœ์— ๋Œ€ํ•œ ํ˜ธ์ถœ์ด ๋งค์šฐ ๋งŽ์œผ๋ฉด ์ฐธ์กฐ ์นด์šดํ„ฐ ์˜ค๋ฒ„ํ”Œ๋กœ(refcount)๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ NULL ํฌ์ธํ„ฐ ์—ญ์ฐธ์กฐ๋กœ ์ธํ•ด ๋ฐœ์ƒํ•˜๋Š” ์ทจ์•ฝ์ ์„ ์•…์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ณต๊ฒฉ์œผ๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธํ•˜๊ธฐ ์œ„ํ•ด ์ตœ๋Œ€ "์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค" ํŠธ๋ฆฌ๊ฑฐ ์ˆ˜์— ๋Œ€ํ•œ ์ œํ•œ์ด ์ปค๋„์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ์ œํ•œ์„ ์ดˆ๊ณผํ•˜๋ฉด ์ปค๋„์ด "ํŒจ๋‹‰" ์ƒํƒœ๋กœ ์ „ํ™˜ํ•œ ํ›„ ์žฌ๋ถ€ํŒ…๋ฉ๋‹ˆ๋‹ค. ์ฐธ์กฐ ํšŸ์ˆ˜๋ฅผ ์˜ค๋ฒ„ํ”Œ๋กœํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋ฐ˜๋ณต ํšŸ์ˆ˜์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ํ•œ๋„๋Š” 10 "oops"๋กœ ์„ค์ •๋˜์–ด ์žˆ์ง€๋งŒ ์›ํ•  ๊ฒฝ์šฐ oops_limit ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ํ†ตํ•ด ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ioctl TIOCSTI๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ„ฐ๋ฏธ๋„์— ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ธฐ ์œ„ํ•ด ๊ตฌ์„ฑ ๋งค๊ฐœ๋ณ€์ˆ˜ LEGACY_TIOCSTI ๋ฐ sysctl Legacy_tiocsti๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋ฉด ํ„ฐ๋ฏธ๋„ ์ž…๋ ฅ ๋ฒ„ํผ์— ์ž„์˜์˜ ๋ฌธ์ž๋ฅผ ๋Œ€์ฒดํ•˜๊ณ  ์‚ฌ์šฉ์ž ์ž…๋ ฅ์„ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.
    • ํฌ์ธํ„ฐ์˜ ์šฐ๋ฐœ์ ์ธ ์—ญ์ฐธ์กฐ๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ์ถ”๊ฐ€ ์ •๋ณด๋ฅผ ํฌ์ธํ„ฐ์˜ ํ•˜์œ„ ๋น„ํŠธ์— ์ €์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์ƒˆ๋กœ์šด ์œ ํ˜•์˜ ๋‚ด๋ถ€ ๊ตฌ์กฐ์ธ Encoded_page๊ฐ€ ์ œ์•ˆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค(์—ญ์ฐธ์กฐ๊ฐ€ ์‹ค์ œ๋กœ ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์ด๋Ÿฌํ•œ ์ถ”๊ฐ€ ๋น„ํŠธ๋ฅผ ๋จผ์ € ์ง€์›Œ์•ผ ํ•ฉ๋‹ˆ๋‹ค). .
    • ARM64 ํ”Œ๋žซํผ์—์„œ๋Š” ๋ถ€ํŒ… ๋‹จ๊ณ„์—์„œ ์Šคํƒ์— ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ๊ฐ€ ๋ฐœ์ƒํ•  ๊ฒฝ์šฐ ํ•จ์ˆ˜์˜ ๋ฐ˜ํ™˜ ์ฃผ์†Œ๋ฅผ ๋ฎ์–ด์“ฐ๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” Shadow Stack ๋ฉ”์ปค๋‹ˆ์ฆ˜์˜ ์†Œํ”„ํŠธ์›จ์–ด ๊ตฌํ˜„์„ ํ™œ์„ฑํ™”ํ•˜๊ฑฐ๋‚˜ ๋น„ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณดํ˜ธ์˜ ๋ณธ์งˆ์€ ์ œ์–ด๊ฐ€ ํ•จ์ˆ˜๋กœ ์ „์†ก๋œ ํ›„ ๋ฐ˜ํ™˜ ์ฃผ์†Œ๋ฅผ ๋ณ„๋„์˜ "์„€๋„์šฐ" ์Šคํƒ์— ์ €์žฅํ•˜๊ณ  ํ•จ์ˆ˜๋ฅผ ์ข…๋ฃŒํ•˜๊ธฐ ์ „์— ์ฃผ์–ด์ง„ ์ฃผ์†Œ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ•˜๋‚˜์˜ ์ปค๋„ ์–ด์…ˆ๋ธ”๋ฆฌ์—์„œ Shadow Stack์˜ ํ•˜๋“œ์›จ์–ด ๋ฐ ์†Œํ”„ํŠธ์›จ์–ด ๊ตฌํ˜„์„ ์ง€์›ํ•˜๋ฉด ํฌ์ธํ„ฐ ์ธ์ฆ ์ง€์นจ ์ง€์› ์—ฌ๋ถ€์— ๊ด€๊ณ„์—†์ด ์„œ๋กœ ๋‹ค๋ฅธ ARM ์‹œ์Šคํ…œ์—์„œ ํ•˜๋‚˜์˜ ์ปค๋„์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์†Œํ”„ํŠธ์›จ์–ด ๊ตฌํ˜„์˜ ํฌํ•จ์€ ๋กœ๋“œํ•˜๋Š” ๋™์•ˆ ์ฝ”๋“œ์— ํ•„์š”ํ•œ ๋ช…๋ น์„ ๋Œ€์ฒดํ•˜์—ฌ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค.
    • SGX ์—”ํด๋ ˆ์ด๋ธŒ์—์„œ ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ์— ๋Œ€ํ•œ ๋‹จ์ผ ๋‹จ๊ณ„ ๊ณต๊ฒฉ์„ ํƒ์ง€ํ•  ์ˆ˜ ์žˆ๋Š” Intel ํ”„๋กœ์„ธ์„œ์˜ ๋น„๋™๊ธฐ ์ข…๋ฃŒ ์•Œ๋ฆผ ๋ฉ”์ปค๋‹ˆ์ฆ˜ ์‚ฌ์šฉ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • ํ•˜์ดํผ๋ฐ”์ด์ €๊ฐ€ Intel TDX(์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ๋„๋ฉ”์ธ ํ™•์žฅ) ๊ฒŒ์ŠคํŠธ ์‹œ์Šคํ…œ์˜ ์š”์ฒญ์„ ์ง€์›ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ์ผ๋ จ์˜ ์ž‘์—…์ด ์ œ์•ˆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • ์ปค๋„ ๋นŒ๋“œ ์„ค์ • RANDOM_TRUST_BOOTLOADER ๋ฐ RANDOM_TRUST_CPU๊ฐ€ ์ œ๊ฑฐ๋˜์—ˆ์œผ๋ฉฐ ํ•ด๋‹น ๋ช…๋ น์ค„ ์˜ต์…˜์ธ random.trust_bootloader ๋ฐ random.trust_cpu๊ฐ€ ์‚ฌ์šฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • ํ”„๋กœ์„ธ์Šค ๊ทธ๋ฃน๊ณผ ์™ธ๋ถ€ ํ™˜๊ฒฝ์˜ ์ƒํ˜ธ ์ž‘์šฉ์„ ์ œํ•œํ•  ์ˆ˜ ์žˆ๋Š” Landlock ๋ฉ”์ปค๋‹ˆ์ฆ˜์— LANDLOCK_ACCESS_FS_TRUNCATE ํ”Œ๋ž˜๊ทธ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์–ด ํŒŒ์ผ ์ž๋ฅด๊ธฐ ์ž‘์—… ์‹คํ–‰์„ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋„คํŠธ์›Œํฌ ํ•˜์œ„ ์‹œ์Šคํ…œ
    • IPv6์˜ ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ ์„ผํ„ฐ ์Šค์œ„์น˜์˜ ๊ณผ๋ถ€ํ•˜ ์ง€์ ์„ ์ค„์ด๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•˜๋Š” ๋„คํŠธ์›Œํฌ ๋งํฌ ๊ฐ„์˜ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ธ PLB(Protective Load Balancing)์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. PLB๋Š” IPv6 ํ๋ฆ„ ๋ ˆ์ด๋ธ”์„ ๋ณ€๊ฒฝํ•˜์—ฌ ์Šค์œ„์น˜ ํฌํŠธ์˜ ๋กœ๋“œ ๊ท ํ˜•์„ ๋งž์ถ”๊ธฐ ์œ„ํ•ด ํŒจํ‚ท ๊ฒฝ๋กœ๋ฅผ ๋ฌด์ž‘์œ„๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค. ํŒจํ‚ท ์žฌ์ •๋ ฌ์„ ์ค„์ด๊ธฐ ์œ„ํ•ด ์ด ์ž‘์—…์€ ๊ฐ€๋Šฅํ•  ๋•Œ๋งˆ๋‹ค ์œ ํœด ๊ธฐ๊ฐ„ ํ›„์— ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. Google ๋ฐ์ดํ„ฐ ์„ผํ„ฐ์—์„œ PLB๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์Šค์œ„์น˜ ํฌํŠธ์˜ ๋กœ๋“œ ๋ถˆ๊ท ํ˜•์ด ํ‰๊ท  60% ๊ฐ์†Œํ•˜๊ณ , ํŒจํ‚ท ์†์‹ค์ด 33% ๊ฐ์†Œํ•˜๊ณ , ์ง€์—ฐ ์‹œ๊ฐ„์ด 20% ๊ฐ์†Œํ–ˆ์Šต๋‹ˆ๋‹ค.
    • Wi-Fi 7(802.11be)์„ ์ง€์›ํ•˜๋Š” MediaTek ์žฅ์น˜์šฉ ๋“œ๋ผ์ด๋ฒ„๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • 800๊ธฐ๊ฐ€๋น„ํŠธ ๋งํฌ์— โ€‹โ€‹๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • ์ž‘์—…์„ ์ค‘๋‹จํ•˜์ง€ ์•Š๊ณ  ์ฆ‰์‹œ ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค ์ด๋ฆ„์„ ๋ฐ”๊พธ๋Š” ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • ํŒจํ‚ท์ด ๋„์ฐฉํ•œ IP ์ฃผ์†Œ์— ๋Œ€ํ•œ ์–ธ๊ธ‰์ด SYN ํ”Œ๋Ÿฌ๋“œ์— ๋Œ€ํ•œ ๋กœ๊ทธ ๋ฉ”์‹œ์ง€์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • UDP์˜ ๊ฒฝ์šฐ ์„œ๋กœ ๋‹ค๋ฅธ ๋„คํŠธ์›Œํฌ ๋„ค์ž„์ŠคํŽ˜์ด์Šค์— ๋Œ€ํ•ด ๋ณ„๋„์˜ ํ•ด์‹œ ํ…Œ์ด๋ธ”์„ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ์ด ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • ๋„คํŠธ์›Œํฌ ๋ธŒ๋ฆฌ์ง€์˜ ๊ฒฝ์šฐ MAB(MAC ์ธ์ฆ ์šฐํšŒ) ์ธ์ฆ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ง€์›์ด ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • CAN ํ”„๋กœํ† ์ฝœ(CAN_RAW)์˜ ๊ฒฝ์šฐ fwmark ๊ธฐ๋ฐ˜ ํŠธ๋ž˜ํ”ฝ ํ•„ํ„ฐ๋ฅผ ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด SO_MARK ์†Œ์ผ“ ๋ชจ๋“œ์— ๋Œ€ํ•œ ์ง€์›์ด ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • ipset์€ IP ์ฃผ์†Œ์˜ ์ž„์˜ ๋น„ํŠธ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋งˆ์Šคํฌ๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š” ์ƒˆ๋กœ์šด ๋น„ํŠธ๋งˆ์Šคํฌ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: "ipset create set1 hash:ip bitmask 255.128.255.0").
    • nf_tables์— ๋Œ€ํ•œ ํ„ฐ๋„๋ง๋œ ํŒจํ‚ท ๋‚ด๋ถ€์˜ ๋‚ด๋ถ€ ํ—ค๋” ์ฒ˜๋ฆฌ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ะžะฑะพั€ัƒะดะพะฒะฐะฝะธะต
    • "accel" ํ•˜์œ„ ์‹œ์Šคํ…œ์€ ๊ฐœ๋ณ„ ASIC ํ˜•ํƒœ ๋˜๋Š” SoC ๋ฐ GPU ๋‚ด๋ถ€ IP ๋ธ”๋ก ํ˜•ํƒœ๋กœ ์ œ๊ณต๋  ์ˆ˜ ์žˆ๋Š” ๊ณ„์‚ฐ ๊ฐ€์†๊ธฐ์šฉ ํ”„๋ ˆ์ž„์›Œํฌ ๊ตฌํ˜„๊ณผ ํ•จ๊ป˜ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฐ€์†๊ธฐ๋Š” ์ฃผ๋กœ ๊ธฐ๊ณ„ ํ•™์Šต ๋ฌธ์ œ์˜ ํ•ด๊ฒฐ์„ ๊ฐ€์†ํ™”ํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค.
    • amdgpu ๋“œ๋ผ์ด๋ฒ„์—๋Š” GC, PSP, SMU ๋ฐ NBIO IP ๊ตฌ์„ฑ ์š”์†Œ์— ๋Œ€ํ•œ ์ง€์›์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ARM64 ์‹œ์Šคํ…œ์˜ ๊ฒฝ์šฐ DCN(Display Core Next) ์ง€์›์ด ๊ตฌํ˜„๋ฉ๋‹ˆ๋‹ค. ๋ณดํ˜ธ๋œ ํ™”๋ฉด ์ถœ๋ ฅ ๊ตฌํ˜„์ด DCN10 ์‚ฌ์šฉ์—์„œ DCN21๋กœ ์ด๋™๋˜์—ˆ์œผ๋ฉฐ ์ด์ œ ์—ฌ๋Ÿฌ ํ™”๋ฉด์„ ์—ฐ๊ฒฐํ•  ๋•Œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • i915(Intel) ๋“œ๋ผ์ด๋ฒ„๋Š” ๊ฐœ๋ณ„ Intel Arc(DG2/Alchemist) ๋น„๋””์˜ค ์นด๋“œ์— ๋Œ€ํ•œ ์•ˆ์ •์ ์ธ ์ง€์›์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
    • Nouveau ๋“œ๋ผ์ด๋ฒ„๋Š” Ampere ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” NVIDIA GA102(RTX 30) GPU๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. nva3(GT215) ์นด๋“œ์˜ ๊ฒฝ์šฐ ๋ฐฑ๋ผ์ดํŠธ๋ฅผ ์ œ์–ดํ•˜๋Š” โ€‹โ€‹๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • Realtek 8852BE, Realtek 8821CU, 8822BU, 8822CU, 8723DU(USB) ๋ฐ MediaTek MT7996 ์นฉ, Broadcom BCM4377/4378/4387 Bluetooth ์ธํ„ฐํŽ˜์ด์Šค, Motorcomm yt8521, NVIDIA Tegra GE ์ด๋”๋„ท ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ๋ฌด์„  ์–ด๋Œ‘ํ„ฐ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • ๋‚ด์žฅ ์‚ฌ์šด๋“œ ์นฉ HP Stream 8, Advantech MICA-071, Dell SKU 0C11, Intel ALC5682I-VD, Xiaomi Redmi Book Pro 14 2022, i.MX93, Armada 38x, RK3588์— ๋Œ€ํ•œ ASoC(ALSA ์‹œ์Šคํ…œ ์˜จ ์นฉ) ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Focusrite Saffire Pro 40 ์˜ค๋””์˜ค ์ธํ„ฐํŽ˜์ด์Šค์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์œผ๋ฉฐ Realtek RT1318 ์˜ค๋””์˜ค ์ฝ”๋ฑ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • Sony ์Šค๋งˆํŠธํฐ ๋ฐ ํƒœ๋ธ”๋ฆฟ(Xperia 10 IV, 5 IV, X ๋ฐ X ์ปดํŒฉํŠธ, OnePlus One, 3, 3T ๋ฐ Nord N100, Xiaomi Poco F1 ๋ฐ Mi6, Huawei Watch, Google Pixel 3a, Samsung Galaxy Tab 4 10.1์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • ARM SoC ๋ฐ Apple T6000(M1 Pro), T6001(M1 Max), T6002(M1 Ultra), Qualcomm MSM8996 Pro(Snapdragon 821), SM6115(Snapdragon 662), SM4250(Snapdragon 460), SM6375(Snapdragon 695)์— ๋Œ€ํ•œ ์ง€์› ์ถ”๊ฐ€ ๋ณด๋“œ, SDM670(Snapdragon 670), MSM8976(Snapdragon 652), MSM8956(Snapdragon 650), RK3326 Odroid-Go/rg351, Zyxel NSA310S, InnoComm i.MX8MM, Odroid Go Ultra.

๋™์‹œ์— ๋ผํ‹ด ์•„๋ฉ”๋ฆฌ์นด ์ž์œ  ์†Œํ”„ํŠธ์›จ์–ด ์žฌ๋‹จ์€ ๋…์  ๊ตฌ์„ฑ ์š”์†Œ ๋˜๋Š” ์ฝ”๋“œ ์„น์…˜์„ ํฌํ•จํ•˜๋Š” ํŽŒ์›จ์–ด ๋ฐ ๋“œ๋ผ์ด๋ฒ„ ์š”์†Œ๊ฐ€ ์ œ๊ฑฐ๋œ ์™„์ „ ๋ฌด๋ฃŒ ์ปค๋„ 6.2(Linux-libre 6.2-gnu) ๋ฒ„์ „์„ ๊ตฌ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. ์ œ์กฐ ์—…์ฒด. ์ƒˆ ๋ฆด๋ฆฌ์Šค์—์„œ๋Š” nouveau ๋“œ๋ผ์ด๋ฒ„์˜ ์ƒˆ๋กœ์šด ์–ผ๋ฃฉ์„ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค. mt7622, โ€‹โ€‹โ€‹mt7996 wifi ๋ฐ bcm4377 ๋ธ”๋ฃจํˆฌ์Šค ๋“œ๋ผ์ด๋ฒ„์—์„œ๋Š” Blob ๋กœ๋”ฉ์ด ๋น„ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค. Aarch64 ์•„ํ‚คํ…์ฒ˜์— ๋Œ€ํ•œ dts ํŒŒ์ผ์˜ Blob ์ด๋ฆ„์„ ์ •๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ๋“œ๋ผ์ด๋ฒ„ ๋ฐ ํ•˜์œ„ ์‹œ์Šคํ…œ์˜ ๋ธ”๋กญ ์ •๋ฆฌ ์ฝ”๋“œ๊ฐ€ ์—…๋ฐ์ดํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. s5k4ecgx ๋“œ๋ผ์ด๋ฒ„๊ฐ€ ์ปค๋„์—์„œ ์ œ๊ฑฐ๋˜์—ˆ์œผ๋ฏ€๋กœ ์ฒญ์†Œ๋ฅผ ์ค‘์ง€ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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