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

๋‘ ๋‹ฌ๊ฐ„์˜ ๊ฐœ๋ฐœ ๋์— ๋ฆฌ๋ˆ„์Šค ํ† ๋ฅด๋ฐœ์Šค๋Š” ์ปค๋„์„ ๊ณต๊ฐœํ–ˆ์Šต๋‹ˆ๋‹ค. Linux 7.3. ๊ฐ€์žฅ ์ฃผ๋ชฉํ•  ๋งŒํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์œผ๋กœ๋Š” ์˜์‚ฌ ํŒŒ์ผ ์‹œ์Šคํ…œ failfs ๋ฐ fchroot() ์‹œ์Šคํ…œ ํ˜ธ์ถœ ๊ธฐ๋ฐ˜์˜ ํŒŒ์ผ ์‹œ์Šคํ…œ ๊ฒฉ๋ฆฌ ๋ฉ”์ปค๋‹ˆ์ฆ˜, ์ค‘์ฒฉ๋œ SCHED_EXT ์Šค์ผ€์ค„๋Ÿฌ ์ƒ์„ฑ ์ง€์›, ์‹คํ–‰ ํŒŒ์ผ ์‹คํ–‰์„ ์œ„ํ•œ BPF ํ•ธ๋“ค๋Ÿฌ, NTFS3์˜ ๋Œ€์ฒด ๋ฐ์ดํ„ฐ ์ŠคํŠธ๋ฆผ, FUSE, Btrfs ๋ฐ Ext4์˜ ์„ฑ๋Šฅ ์ตœ์ ํ™”, ksmbd์˜ Apple Time Machine ์ง€์›, EFS ๋ฐ FreeVxFS ํŒŒ์ผ ์‹œ์Šคํ…œ ์ œ๊ฑฐ, ๋ธ”๋ก ์žฅ์น˜์— ๋Œ€ํ•œ ์ง์ ‘ ์•ก์„ธ์Šค ๋ชจ๋“œ, ๋น„๋””์˜ค ๋ฉ”๋ชจ๋ฆฌ ๋ถ€์กฑ ์‹œ ์ฒ˜๋ฆฌ ๊ฐœ์„ , userfaultfd๋ฅผ ํ†ตํ•œ ๊ฒŒ์ŠคํŠธ ์‹œ์Šคํ…œ ๋ฉ”๋ชจ๋ฆฌ ์•ก์„ธ์Šค ๋ชจ๋‹ˆํ„ฐ๋ง, AppArmor ๊ทœ์น™ ์••์ถ•, AF_ALG์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ์ œํ•œ, Apple M3 Pro, Max ๋ฐ Ultra ์นฉ ์ง€์› ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ƒˆ ๋ฒ„์ „์—๋Š” 3171๋ช…์˜ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ œ์ถœํ•œ 20260๊ฐœ์˜ ํŒจ์น˜๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉฐ, ๊ทธ์ค‘ 807๋ช…์€ ์ฒ˜์Œ์œผ๋กœ ์ปค๋„์— ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ œ์ถœํ–ˆ์Šต๋‹ˆ๋‹ค. ํŒจ์น˜ ํฌ๊ธฐ๋Š” 63MB์ด๋ฉฐ, 14923๊ฐœ์˜ ํŒŒ์ผ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์œผ๋กœ 943849์ค„์˜ ์ฝ”๋“œ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
(297515์ค„์ด ์‚ญ์ œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.) ์ด์ „ ๋ฆด๋ฆฌ์Šค์—๋Š” 2766๋ช…์˜ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ž‘์„ฑํ•œ 17833๊ฐœ์˜ ์ˆ˜์ • ์‚ฌํ•ญ์ด ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉฐ ํŒจ์น˜ ํฌ๊ธฐ๋Š” 68MB์ž…๋‹ˆ๋‹ค. 7.3 ๋ฒ„์ „์— ๋„์ž…๋œ ๋ชจ๋“  ๋ณ€๊ฒฝ ์‚ฌํ•ญ ์ค‘ ์•ฝ 44%๋Š” ์žฅ์น˜ ๋“œ๋ผ์ด๋ฒ„์™€ ๊ด€๋ จ์ด ์žˆ์œผ๋ฉฐ, ์•ฝ 12%๋Š” ํ•˜๋“œ์›จ์–ด ์•„ํ‚คํ…์ฒ˜๋ณ„ ์ฝ”๋“œ ์—…๋ฐ์ดํŠธ, 12%๋Š” ๋„คํŠธ์›Œํฌ ์Šคํƒ, 5%๋Š” ํŒŒ์ผ ์‹œ์Šคํ…œ, ๊ทธ๋ฆฌ๊ณ  3%๋Š” ๋‚ด๋ถ€ ์ปค๋„ ํ•˜์œ„ ์‹œ์Šคํ…œ๊ณผ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

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

  • ๋””์Šคํฌ ํ•˜์œ„ ์‹œ์Šคํ…œ, I/O ๋ฐ ํŒŒ์ผ ์‹œ์Šคํ…œ
    • Btrfs ํŒŒ์ผ ์‹œ์Šคํ…œ ์„ฑ๋Šฅ์ด ์ตœ์ ํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค. SSD๊ฐ€ ์•„๋‹Œ ๋“œ๋ผ์ด๋ธŒ์˜ ๊ฒฝ์šฐ ๋ถˆํ•„์š”ํ•œ ์ง€์—ฐ ์‹œ๊ฐ„์ด ์ œ๊ฑฐ๋˜์–ด ๋กœ๊ทธ ๊ธฐ๋ก๊ณผ ๊ฐ™์ด fsync๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ์›Œํฌ๋กœ๋“œ์˜ ์ฒ˜๋ฆฌ๋Ÿ‰์ด 5๋ฐฐ ์ฆ๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ fsync๋Š” ์ต์Šคํ…ํŠธ ์ˆ˜๊ฐ€ ๋งŽ๊ณ  ๋ณด์ด๋“œ๊ฐ€ ์—†๋Š” ํŒŒ์ผ์—์„œ ๋ณด์ด๋“œ ๊ฐ์ง€๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜์—ฌ ํŠน์ • ํ…Œ์ŠคํŠธ ์†๋„๋ฅผ 5๋ฐฐ ํ–ฅ์ƒ์‹œ์ผฐ์Šต๋‹ˆ๋‹ค.

      ์บ์‹œํ•  ์ˆ˜ ์—†๋Š” ์ต์Šคํ…ํŠธ ๋ฒ„ํผ๋ฅผ ์ถ”์ ํ•  ๋•Œ, xarray ๊ตฌ์กฐ์ฒด๊ฐ€ ๋กœ์ปฌ LRU ๋ฆฌ์ŠคํŠธ๋กœ ๋Œ€์ฒด๋˜์–ด ์ด๋Ÿฌํ•œ ์ž‘์—…์˜ ์„ฑ๋Šฅ์ด 3๋ฐฐ ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ „ ์ปค๋„ ๋ฆด๋ฆฌ์Šค์—์„œ ์ง์ ‘ I/O ๋ชจ๋“œ ์‚ฌ์šฉ ์‹œ ๋ฐœ์ƒํ–ˆ๋˜ ์„ฑ๋Šฅ ๋ณ‘๋ชฉ ํ˜„์ƒ์ด ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ต์Šคํ…ํŠธ ๋ฏธ๋ฆฌ ์ฝ๊ธฐ ์ค‘ ๋ฝ ๋ฐœ์ƒ ํšŸ์ˆ˜๊ฐ€ ์ค„์–ด๋“ค์–ด ์„œ๋กœ ๋‹ค๋ฅธ ํƒœ์Šคํฌ๊ฐ€ ๊ฒน์น˜๋Š” ์˜์—ญ์— ์ ‘๊ทผํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ๊ฐ์†Œํ–ˆ์Šต๋‹ˆ๋‹ค.

    • Btrfs๋Š” ์ฒซ ๋ฒˆ์งธ ๋ฒ„์ „์˜ ์—ฌ์œ  ๊ณต๊ฐ„ ์บ์‹œ์— ๋Œ€ํ•œ ์ง€์›์„ ์ œ๊ฑฐํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ „ ์‹œ์Šคํ…œ์—์„œ ์ƒ์„ฑ๋œ ํŒŒ์ผ ์‹œ์Šคํ…œ์€ btrfstune ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‘ ๋ฒˆ์งธ ๋ฒ„์ „์˜ ์บ์‹œ๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์„ฑ๋Šฅ์ด ์ €ํ•˜๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ "usebackuproot" ๋งˆ์šดํŠธ ์˜ต์…˜์ด ์ œ๊ฑฐ๋˜์—ˆ์œผ๋ฉฐ, ๋Œ€์‹  "rescue=usebackuproot"๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
    • Ext4 ํŒŒ์ผ ์‹œ์Šคํ…œ์€ ์ด์ œ ์ง์ ‘ I/O ์ค‘ ๋ณ‘๋ ฌ ์“ฐ๊ธฐ ์ž‘์—… ์„ฑ๋Šฅ์ด ํ–ฅ์ƒ๋˜์—ˆ์œผ๋ฉฐ fallocate()๋ฅผ ํ†ตํ•œ ๋นˆ ์˜์—ญ ํ• ๋‹น ์†๋„๊ฐ€ ๋นจ๋ผ์กŒ์Šต๋‹ˆ๋‹ค. ๋ฒ„ํผ๋ง๋œ ์“ฐ๊ธฐ ์ž‘์—… ์ค‘ ์„ฑ๋Šฅ์„ ์ €ํ•˜์‹œํ‚ค๋˜ ํšŒ๊ท€ ์˜ค๋ฅ˜๊ฐ€ ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • Ext4 ํŒŒ์ผ ์‹œ์Šคํ…œ์—์„œ "data=journal" ๋งˆ์šดํŠธ ๋ชจ๋“œ๋Š” ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ๋งˆ์šดํŠธ ์˜ต์…˜์— ๋Œ€ํ•œ ์ง€์›์€ 2028๋…„์— ์ข…๋ฃŒ๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. "data=journal" ์˜ต์…˜์€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ฐ์ดํ„ฐ ์ž์ฒด๋„ ๊ธฐ๋กํ•˜๋Š” ์ „์ฒด ์ €๋„๋ง์„ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์žฅ์•  ๋ฐœ์ƒ ์‹œ ๋†’์€ ๋ณต์›๋ ฅ์„ ๋ณด์žฅํ•˜์ง€๋งŒ, ์ฝ”๋“œ ์œ ์ง€ ๊ด€๋ฆฌ๋ฅผ ๋ณต์žกํ•˜๊ฒŒ ๋งŒ๋“ค๊ณ  "data=ordered" ๋ฐ "data=writeback" ๋ชจ๋“œ์— ๋น„ํ•ด ์„ฑ๋Šฅ ์ €ํ•˜๋ฅผ ์ดˆ๋ž˜ํ•ฉ๋‹ˆ๋‹ค.
    • ์ดˆ๊ธฐ IRIX OS ๋ฒ„์ „์—์„œ ์‚ฌ์šฉ๋˜์—ˆ๋˜ EFS ํŒŒ์ผ ์‹œ์Šคํ…œ์€ ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์•ฝ 30๋…„ ์ „์— ์‚ฌ์šฉ์ด ์ค‘๋‹จ๋˜์—ˆ๊ณ  20๋…„ ๋„˜๊ฒŒ ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์ด๋ฃจ์–ด์ง€์ง€ ์•Š๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. EFS ํŒŒํ‹ฐ์…˜์— ์ ‘๊ทผํ•ด์•ผ ํ•˜๋Š” ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉ์ž ๊ณต๊ฐ„ ์œ ํ‹ธ๋ฆฌํ‹ฐ๊ฐ€ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.
    • 1990๋…„๋Œ€ SCO UnixWare์—์„œ ์‚ฌ์šฉ๋˜์—ˆ๋˜ VERITAS VxFS ํŒŒ์ผ ์‹œ์Šคํ…œ ํ˜•์‹์„ ๊ตฌํ˜„ํ•œ FreeVxFS ํŒŒ์ผ ์‹œ์Šคํ…œ์ด ์ œ๊ฑฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. FreeVxFS๋Š” ์‹ค์ œ๋กœ ์˜ค๋žซ๋™์•ˆ ์‚ฌ์šฉ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
    • FUSE ์‚ฌ์šฉ์ž ๊ณต๊ฐ„ ํŒŒ์ผ ์‹œ์Šคํ…œ ์ƒ์„ฑ ๋ฉ”์ปค๋‹ˆ์ฆ˜์€ io_uring ๋น„๋™๊ธฐ I/O ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•  ๋•Œ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ณ  ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ์ค„์˜€์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์†๋„ ํ–ฅ์ƒ์€ ๋ฒ„ํผ ํ’€์„ ์‚ฌ์šฉ์ž ๊ณต๊ฐ„์—์„œ ์ปค๋„๋กœ ์ „์†กํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๊ณ  FUSE ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ ํ”„๋กœ์„ธ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ํŽ˜์ด์ง€ ๋˜๋Š” ํŽ˜์ด์ง€ ์บ์‹œ์— ์ ‘๊ทผํ•  ๋•Œ ๋ถˆํ•„์š”ํ•œ ๋ฒ„ํผ๋ง(์ œ๋กœ ์นดํ”ผ)์„ ์ œ๊ฑฐํ•จ์œผ๋กœ์จ ๋‹ฌ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • ๋ธ”๋ก ์žฅ์น˜์˜ ๊ฒฝ์šฐ, ์ง์ ‘ I/O ๋ชจ๋“œ์™€ ์œ ์‚ฌํ•˜๊ฒŒ RWF_DONTCACHE ํ”Œ๋ž˜๊ทธ๊ฐ€ ๊ตฌํ˜„๋ฉ๋‹ˆ๋‹ค.
      (์ง์ ‘ I/O)๋Š” preadv2() ๋ฐ pwritev2() ํ•จ์ˆ˜ ๋˜๋Š” io_uring์„ ํ†ตํ•œ ์ฝ๊ธฐ ๋ฐ ์“ฐ๊ธฐ ์š”์ฒญ์—์„œ ํŽ˜์ด์ง€ ์บ์‹œ๋ฅผ ์šฐํšŒํ•˜์—ฌ ๋ธ”๋ก ์žฅ์น˜์— ์ ‘๊ทผํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ด ํ”Œ๋ž˜๊ทธ๋Š” DBMS์—์„œ ๋ธ”๋ก ์žฅ์น˜๋ฅผ ์‚ฌ์šฉํ•œ ์ €์ˆ˜์ค€ ์ž‘์—…์— ํ™œ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • overlayfs ํŒŒ์ผ ์‹œ์Šคํ…œ์€ ์ด์ œ ์‚ฌ์šฉ์ž ID ๋งคํ•‘์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์€ ๋งˆ์šดํŠธ๋œ ์™ธ๋ถ€ ํŒŒํ‹ฐ์…˜์— ์žˆ๋Š” ํŠน์ • ์‚ฌ์šฉ์ž์˜ ํŒŒ์ผ์„ ํ˜„์žฌ ์‹œ์Šคํ…œ์˜ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์™€ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
    • ๋‹จ์ผ ๋ธ”๋ก ์žฅ์น˜์—์„œ ์—ฌ๋Ÿฌ ํŒŒ์ผ ์‹œ์Šคํ…œ์„ ๋งˆ์šดํŠธํ•˜๋Š” ๊ธฐ๋Šฅ์ด ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • ntfs3 ๋“œ๋ผ์ด๋ฒ„๋Š” ํŒŒ์ผ ์ด๋ฆ„์— ์ฝœ๋ก ์œผ๋กœ ๊ตฌ๋ถ„๋œ ๋Œ€์ฒด ๋ฐ์ดํ„ฐ ์ŠคํŠธ๋ฆผ์— ๋Œ€ํ•œ ์ดˆ๊ธฐ ์ง€์›์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ์ƒˆ ๋Œ€์ฒด ์ŠคํŠธ๋ฆผ์„ ์ƒ์„ฑํ•˜๋ ค๋ฉด "touch file:stream" ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜๊ณ , ์ฝ์œผ๋ ค๋ฉด "cat file:stream", ์‚ญ์ œํ•˜๋ ค๋ฉด "rm file:stream" ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜๋ฉฐ, ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ŠคํŠธ๋ฆผ ๋ชฉ๋ก์„ ๋ณด๋ ค๋ฉด "cat file:query_streams" ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.
    • ์ƒˆ๋กœ์šด NTFS ๊ตฌํ˜„(ntfsplus)์€ ์ฝ๊ธฐ ์ „์šฉ ๋ชจ๋“œ์—์„œ WOF ์˜ค๋ฒ„๋ ˆ์ด ํ•„ํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํˆฌ๋ช… ํŒŒ์ผ ์••์ถ• ๊ธฐ์ˆ ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.Windows ์˜ค๋ฒ„๋ ˆ์ด ํ•„ํ„ฐ).
    • ์ด์ œ NFS ์„œ๋ฒ„๋Š” CB_NOTIFY ์ž‘์—…์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ด ์ž‘์—…์„ ํ†ตํ•ด ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๋ณ€๊ฒฝ ์•Œ๋ฆผ์„ ์ˆ˜์‹ ํ•˜๋Š” ๋™์•ˆ ๋””๋ ‰ํ„ฐ๋ฆฌ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์ž์ฒด์ ์œผ๋กœ ์บ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • F2FS ํŒŒ์ผ ์‹œ์Šคํ…œ์€ ์ด์ œ ํŒŒ์ผ ์‹œ์Šคํ…œ์„ ๋งˆ์šดํŠธ ํ•ด์ œํ•˜์ง€ ์•Š๊ณ  ๊ณต์œ  ํ’€์—์„œ ํŒŒํ‹ฐ์…˜์„ ๋™์ ์œผ๋กœ ์‚ญ์ œํ•˜๊ณ , ์‚ญ์ œ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฅธ ํŒŒํ‹ฐ์…˜์œผ๋กœ ์ž๋™ ์ „์†กํ•œ ํ›„ ๋‹ค์‹œ ์›๋ž˜ ์œ„์น˜๋กœ ๋˜๋Œ๋ฆฌ๋Š” ๊ธฐ๋Šฅ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: ๋‹ค๋ฅธ ์šฉ๋„๋กœ ๋“œ๋ผ์ด๋ธŒ๋ฅผ ์ผ์‹œ์ ์œผ๋กœ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค).
    • XFS๋Š” fallocate() ์‹œ์Šคํ…œ ํ˜ธ์ถœ์— FALLOC_FL_WRITE_ZEROES ํ”Œ๋ž˜๊ทธ ์ง€์›์„ ์ถ”๊ฐ€ํ•˜์—ฌ WRITE_ZERO ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ํŒŒ์ผ์˜ ์ง€์ •๋œ ๋ฒ”์œ„๋ฅผ 0์œผ๋กœ ์ฑ„์šธ ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ช…๋ น์€ ์ผ๋ถ€ SSD์—์„œ ์ง€์›๋˜๋ฉฐ I/O ์—†์ด 0์œผ๋กœ ์ฑ„์šฐ๊ธฐ๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฉ”๋ชจ๋ฆฌ ๋ฐ ์‹œ์Šคํ…œ ์„œ๋น„์Šค
    • ๋น„๋””์˜ค ๋ฉ”๋ชจ๋ฆฌ ์ฒ˜๋ฆฌ ๋ฐฉ์‹์ด ๊ฐœ์„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋น„๋””์˜ค ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋ถ€์กฑํ•ด์ง€๋ฉด, ์ปค๋„์€ ์ด์ œ ๋น„๋””์˜ค ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์„ ์ฆ‰์‹œ ๊ฑฐ๋ถ€ํ•˜๋Š” ๋Œ€์‹ , ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น๋Ÿ‰์ด ๋ณด์žฅ๋˜์ง€ ์•Š์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(dmem cgroup)์˜ ๋ฒ„ํผ๋ฅผ ๋น„๋””์˜ค ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์‹œ์Šคํ…œ ๋ฉ”๋ชจ๋ฆฌ(GTT)๋กœ ์ด๋™์‹œํ‚ค๋ ค๊ณ  ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฐฉ์‹์„ ํ†ตํ•ด ์‹œ์Šคํ…œ์—์„œ ํŠน์ • ๋น„๋””์˜ค ๋ฉ”๋ชจ๋ฆฌ ์šฉ๋Ÿ‰์„ ์˜ˆ์•ฝํ•ด ๋‘” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—๋Š” ํ•ด๋‹น ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋‹ค๋ฅธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ด๋ฏธ ํ• ๋‹น๋˜์—ˆ๋”๋ผ๋„ ๋ฆฌ์†Œ์Šค๊ฐ€ ํ• ๋‹น๋  ์ˆ˜ ์žˆ๋„๋ก ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. ์ด์ „์—๋Š” ํ• ๋‹น๋Ÿ‰์ด ์—†๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ด๋ฏธ ๋น„๋””์˜ค ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹น๋ฐ›์€ ๊ฒฝ์šฐ, ๋น„๋””์˜ค ๋ฉ”๋ชจ๋ฆฌ ๋ถ€์กฑ ์ƒํ™ฉ์—์„œ ํ• ๋‹น๋Ÿ‰์ด ๋ณด์žฅ๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ™•๋ณดํ•  ์ˆ˜ ์—†์—ˆ๊ณ , ๋น„๋””์˜ค ๋ฉ”๋ชจ๋ฆฌ ๋Œ€์‹  TTM(Translation Table Maps) ์„œ๋ธŒ์‹œ์Šคํ…œ์„ ํ†ตํ•ด GPU์—์„œ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ์†๋„๊ฐ€ ๋А๋ฆฐ ์‹œ์Šคํ…œ ๋ฉ”๋ชจ๋ฆฌ(GTT)๊ฐ€ ํ• ๋‹น๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
      dmem cgroup ์ง€์›์€ nouveau, xe ๋ฐ amdgpu ๋“œ๋ผ์ด๋ฒ„์— ๋Œ€ํ•ด ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • BPF๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ CPU ์Šค์ผ€์ค„๋Ÿฌ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” SCHED_EXT ๋ฉ”์ปค๋‹ˆ์ฆ˜์—์„œ, ์ค‘์ฒฉ ์Šค์ผ€์ค„๋Ÿฌ(ํ•˜์œ„ ์Šค์ผ€์ค„๋Ÿฌ)๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์ž‘์—…์ด ์™„๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๊ฐ cgroup์€ ์ž์ฒด ์ž‘์—… ์Šค์ผ€์ค„๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ํƒœ์Šคํฌ ์Šค์ผ€์ค„๋Ÿฌ๊ฐ€ ๊ฐœ์„ ๋˜์–ด cgroup์„ ์ฒ˜๋ฆฌํ•˜๊ณ  ์ถ”๊ฐ€์ ์ธ ์˜ค๋ฒ„ํ—ค๋“œ์™€ ์ง€์—ฐ ์‹œ๊ฐ„์„ ์œ ๋ฐœํ–ˆ๋˜ ๊ฐ€์ค‘์น˜ ๋ถ„๋ฐฐ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค. cgroup์— ๋Œ€ํ•œ ์—ฌ๋Ÿฌ ๊ฐ€์ค‘์น˜ ๋ถ„๋ฐฐ ๋ฐฉ๋ฒ•('up', 'max', 'concur', 'tasks')์ด ๋„์ž…๋˜์—ˆ์œผ๋ฉฐ, ์ด๋Š” cgroup_mode ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ํ†ตํ•ด ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. cgroup ๋‚ด์˜ ํƒœ์Šคํฌ ์Šค์ผ€์ค„๋ง์—๋Š” ๋‹จ์ผ ์‹คํ–‰ ํ๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์งง์€ CPU ์‹œ๊ฐ„ ์Šฌ๋ผ์ด์Šค๊ฐ€ ํ• ๋‹น๋œ ํƒœ์Šคํฌ ์Šค์ผ€์ค„๋ง ์‹œ ์ง€์—ฐ ์‹œ๊ฐ„์ด ๊ฐ์†Œํ–ˆ์Šต๋‹ˆ๋‹ค.
      ํ•„์š”์— ๋”ฐ๋ผ ์„ ์  ๋ฐฉ์ง€ ์ž‘์—…์˜ ์‹คํ–‰ ์‹œ๊ฐ„์„ ์ทจ์†Œ, ์—…๋ฐ์ดํŠธ ๋˜๋Š” ์ตœ์†Œํ™”ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ.
    • binfmt_misc ๋ฉ”์ปค๋‹ˆ์ฆ˜(/proc/sys/fs/binfmt_misc)์€ ๋‹ค์Œ์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.
      BPF ํ•ธ๋“ค๋Ÿฌ๋ฅผ ์—ฐ๊ฒฐํ•˜์—ฌ ์ƒˆ๋กœ์šด ์‹คํ–‰ ํŒŒ์ผ ํ˜•์‹์„ ์ง€์›ํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ํ†ตํ•ด ๋งค ์‹คํ–‰ ์‹œ ์‹คํ–‰ ํŒŒ์ผ ํ˜•์‹์„ ํ”„๋กœ๊ทธ๋žจ์ ์œผ๋กœ ๋ถ„์„ํ•˜๊ณ  patchelf๋‚˜ ์Šคํฌ๋ฆฝํŠธ ๋ฐ”์ธ๋”ฉ๊ณผ ๊ฐ™์€ ํŽธ๋ฒ• ์—†์ด ํ•ด๋‹น ํŒŒ์ผ์— ์ ํ•ฉํ•œ ์ธํ„ฐํ”„๋ฆฌํ„ฐ ๋˜๋Š” ๋™์  ๋กœ๋”๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, BPF ํ”„๋กœ๊ทธ๋žจ์€ ๋‹ค๋ฅธ ์•„ํ‚คํ…์ฒ˜ ๋˜๋Š” ํ”Œ๋žซํผ์šฉ ์‹คํ–‰ ํŒŒ์ผ์„ ๊ฐ์ง€ํ•˜์—ฌ ํ•ด๋‹น ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋‚˜ Wine์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, Nix ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž๊ฐ€ ์„ค์น˜๋œ ์‹œ์Šคํ…œ์—์„œ ์„œ๋กœ ๋‹ค๋ฅธ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์„ค์น˜๋œ ํŒจํ‚ค์ง€์˜ ์‹คํ–‰ ํŒŒ์ผ ์‹คํ–‰์„ ๊ฐ„์†Œํ™”ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
    • Rust-for- ๋ธŒ๋žœ์น˜์—์„œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๊ณ„์† ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.LinuxRust๋ฅผ ๋“œ๋ผ์ด๋ฒ„ ๋ฐ ์ปค๋„ ๋ชจ๋“ˆ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ์ œ2์–ธ์–ด๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๊ณผ ๊ด€๋ จ๋œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค(Rust ์ง€์›์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์ง€ ์•Š์œผ๋ฉฐ, Rust๊ฐ€ ์ปค๋„์˜ ํ•„์ˆ˜ ๋นŒ๋“œ ์ข…์†์„ฑ ๋ชฉ๋ก์— ํฌํ•จ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค). ์ด์ œ PowerPC ์•„ํ‚คํ…์ฒ˜์—์„œ Rust๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ธฐ๋Šฅ์ด ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฌด์†์‹ค ์ •์ˆ˜ ๋ณ€ํ™˜ ๋ชจ๋“ˆ, ์ฃผ์†Œ ๊ณต๊ฐ„ ์ •๋ณด ์œ ์ถœ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ๋‚œ๋…ํ™”๋œ ํฌ์ธํ„ฐ ๊ฐ’ ๋กœ๊น… ๋ชจ๋“œ, synchronize_rcu() ํ•จ์ˆ˜์˜ ๋ž˜ํผ, ๋ฉ”๋ชจ๋ฆฌ ๋ฐฐ๋ฆฌ์–ด, ์ธํ„ฐ๋ŸฝํŠธ ํ™œ์„ฑํ™”/๋น„ํ™œ์„ฑํ™”๋ฅผ ์œ„ํ•œ ์ธํ„ฐ๋ŸฝํŠธ ๋ชจ๋“ˆ, ์ž…์ถœ๋ ฅ ์œ ํ˜•, fwctl์˜ ๋ž˜ํผ, SRCU(sleepable read-copy-update) ๋ฉ”์ปค๋‹ˆ์ฆ˜, ๊ทธ๋ฆฌ๊ณ  shmem gem์˜ ๋ž˜ํผ.
      SpinLockIrq๋Š” ์ค‘์š” ์˜์—ญ์—์„œ ์ค‘๋‹จ์„ ๋ฐฉ์ง€ํ•˜๋Š” ์Šคํ•€๋ฝ์ž…๋‹ˆ๋‹ค.
    • ์‚ฌ์šฉ์ž ๊ณต๊ฐ„์—์„œ ์‹œ์Šคํ…œ ํ˜ธ์ถœ ๋””์ŠคํŒจ์น˜ ๋ชจ๋“œ ํ™œ์„ฑํ™” ์—ฌ๋ถ€๋ฅผ ์ œ์–ดํ•˜๋Š” โ€‹โ€‹sysctl ๋งค๊ฐœ๋ณ€์ˆ˜ syscall_user_dispatch๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ํ•œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์˜ ์‹œ์Šคํ…œ ํ˜ธ์ถœ์„ ๊ฐ€๋กœ์ฑŒ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค (Wine์—์„œ ์‹œ์Šคํ…œ ํ˜ธ์ถœ์„ ์—๋ฎฌ๋ ˆ์ด์…˜ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋จ). Windows).
    • BPF์— bpf_sock_read_xattr() ํ•จ์ˆ˜๊ฐ€ ์ถ”๊ฐ€๋˜์–ด BPF ํ”„๋กœ๊ทธ๋žจ์ด ์‚ฌ์šฉ์ž๊ฐ€ ์„ค์ •ํ•œ ํ™•์žฅ ์†์„ฑ์„ ์ฝ์„ ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
      ์†Œ์ผ“ inode์—์„œ (user.*)๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. BPF ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์ด์ œ CPU์— ๋ฐ”์ธ๋”ฉ๋œ ์ „์—ญ ๋ณ€์ˆ˜๋ฅผ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. BPF ํ”„๋กœ๊ทธ๋žจ ๊ฒ€์ฆ๊ธฐ๋Š” ์ด์ œ ๊ฐ์ง€๋œ ์˜ค๋ฅ˜์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜์—ฌ ๋ฌธ์ œ ํ•ด๊ฒฐ์„ ๊ฐ„์†Œํ™”ํ•ฉ๋‹ˆ๋‹ค.
    • kprobes, uprobes ๋ฐ fprobes ์ถ”์  ์—”์ง„์€ ์ด์ œ BPF ์˜์‚ฌ ์ฝ”๋“œ์˜ ์œ ํ˜• ๊ฒ€์‚ฌ ์ •๋ณด์™€ ํ•จ๊ป˜ BTF(BPF ์œ ํ˜• ํ˜•์‹) ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•œ ์œ ํ˜• ์บ์ŠคํŒ…์„ ์ง€์›ํ•˜๋ฉฐ, ๋ณ€์ˆ˜ ์ •๋ณด ์ถ”์ถœ ๊ธฐ๋Šฅ์ด ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • DAMON(Data Access MONitor) ์„œ๋ธŒ์‹œ์Šคํ…œ์€ ํ”„๋กœ์„ธ์Šค์˜ RAM ๋ฐ์ดํ„ฐ ์ ‘๊ทผ์„ ์ถ”์ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ค๋‹ˆ๋‹ค(์˜ˆ: ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ ‘๊ทผํ•œ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ๊ณผ ์‚ฌ์šฉ๋˜์ง€ ์•Š์€ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Œ). ์ด ์„œ๋ธŒ์‹œ์Šคํ…œ์— ๋ฐ์ดํ„ฐ ์†์„ฑ ๋ณ€๊ฒฝ ์‚ฌํ•ญ(์ต๋ช… ๋ฉ”๋ชจ๋ฆฌ, ๋ฉ”๋ชจ๋ฆฌ ๋งคํ•‘ ํŒŒ์ผ, ์ฝ๊ธฐ ์ „์šฉ ์ ‘๊ทผ, ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ ์—†์Œ ๋“ฑ)์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • ์‹œ์Šคํ…œ ์ƒํƒœ ์†์‹ค ์—†์ด ๊ธฐ์กด ์ปค๋„์—์„œ ์ƒˆ ์ปค๋„๋กœ ์ „ํ™˜ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” KHO(Kexec HandOver) ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ์ด์ œ ๋ถ€ํŒ… ์ค‘์— ํ• ๋‹น๋˜๋Š” ๋Œ€์šฉ๋Ÿ‰ ๋ฉ”๋ชจ๋ฆฌ ํŽ˜์ด์ง€๋ฅผ ๊ณ ๋ คํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฉ”๋ชจ๋ฆฌ ํŽ˜์ด์ง€๋Š” ์ด์ œ ํ‘œ์‹œ๋˜์–ด ์ƒˆ ์ปค๋„์ด ์‹คํ–‰๋œ ํ›„์—๋„ ๋ณด์กด๋ฉ๋‹ˆ๋‹ค.
    • ์Šค์™‘ ์‹œ์Šคํ…œ์˜ ์ €์ˆ˜์ค€ ์ฝ”๋“œ๊ฐ€ ์ƒˆ๋กœ์šด ์ €์ˆ˜์ค€ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์ธ swap_ops๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์ฝ”๋“œ ์œ ์ง€ ๊ด€๋ฆฌ๊ฐ€ ๊ฐ„์†Œํ™”๋˜๊ณ  ํ–ฅํ›„ ๊ธฐ๋Šฅ ํ™•์žฅ์— ํ•„์š”ํ•œ ์ถ”์ƒํ™”๊ฐ€ ๊ตฌํ˜„๋ฉ๋‹ˆ๋‹ค.
    • ALLOCINFO_IOC_CONTENT_ID, ALLOCINFO_IOC_GET_AT ๋ฐ ALLOCINFO_IOC_GET_NEXT ioctl ๋ช…๋ น์ด ์ถ”๊ฐ€๋˜์–ด ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น ํ”„๋กœํŒŒ์ผ๋ง ๋ฐ์ดํ„ฐ๋ฅผ ์„ ํƒ์ ์œผ๋กœ ์‚ฌ์šฉ์ž ๊ณต๊ฐ„์œผ๋กœ ์ „์†กํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด์˜ /proc/allocinfo ์ธํ„ฐํŽ˜์ด์Šค์™€ ๋น„๊ตํ•˜์—ฌ ์ด๋Ÿฌํ•œ ioctl ํ˜ธ์ถœ์€ ๋ถˆํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ํ•„ํ„ฐ๋งํ•จ์œผ๋กœ์จ ํ”„๋กœํŒŒ์ผ๋ง ์ฟผ๋ฆฌ ์„ฑ๋Šฅ์„ ์ตœ๋Œ€ 20๋ฐฐ๊นŒ์ง€ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.
  • ๊ฐ€์ƒํ™” ๋ฐ ๋ณด์•ˆ
    • ํŒŒ์ผ ๋””์Šคํฌ๋ฆฝํ„ฐ๋ฅผ ํ†ตํ•ด ์ƒŒ๋“œ๋ฐ•์Šค ํ™˜๊ฒฝ์œผ๋กœ ๋ช…์‹œ์ ์œผ๋กœ ์ „์†ก๋œ ๋ฆฌ์†Œ์Šค๋ฅผ ์ œ์™ธํ•˜๊ณ  ํŒŒ์ผ ์‹œ์Šคํ…œ ์ฝ˜ํ…์ธ ์— ๋Œ€ํ•œ ์ ‘๊ทผ์„ ์ฐจ๋‹จํ•˜๋Š” ์ƒˆ๋กœ์šด ๊ฒฉ๋ฆฌ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ์ œ์•ˆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฉ”์ปค๋‹ˆ์ฆ˜์€ failfs ์˜์‚ฌ ํŒŒ์ผ ์‹œ์Šคํ…œ๊ณผ fchroot ์‹œ์Šคํ…œ ํ˜ธ์ถœ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

      failfs ์˜์‚ฌ ํŒŒ์ผ ์‹œ์Šคํ…œ์€ nullfs ํŒŒ์ผ ์‹œ์Šคํ…œ๊ณผ ์œ ์‚ฌํ•˜์ง€๋งŒ, nullfs์™€ ๋‹ฌ๋ฆฌ "์•„๋ฌด๊ฒƒ๋„ ์ €์žฅํ•˜์ง€ ์•Š๋Š”๋‹ค"๋Š” ์›์น™ ๋Œ€์‹  "์•„๋ฌด๊ฒƒ๋„ ์œ ์ง€ ๊ด€๋ฆฌํ•˜์ง€ ์•Š๋Š”๋‹ค"๋Š” ์›์น™์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ์ด ์†์„ฑ์œผ๋กœ ์ธํ•ด failfs ์œ„์— ์•„๋ฌด๊ฒƒ๋„ ๋งˆ์šดํŠธํ•˜๊ฑฐ๋‚˜, ํŒŒ์ผ ์‹œ์Šคํ…œ์„ ๋ณต์ œํ•˜๊ฑฐ๋‚˜, statmount(), listmount() ๋ฐ /proc/์„ ํ†ตํ•ด ์ƒํƒœ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. /mountinfo ๋ฐ /proc/filesystems๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์„ธ์Šค์˜ ๋ฃจํŠธ ๋˜๋Š” ์ž‘์—… ๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ failfs์— ์žˆ๋Š” ๊ฒฝ์šฐ, ์ ˆ๋Œ€ ํŒŒ์ผ ๊ฒฝ๋กœ, ์‹ฌ๋ณผ๋ฆญ ๋งํฌ ๋ฐ ํ˜„์žฌ ์ž‘์—… ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์˜์กดํ•˜๋Š” ์ƒ๋Œ€ ๊ฒฝ๋กœ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŒŒ์ผ ์‹œ์Šคํ…œ์„ ํƒ์ƒ‰ํ•˜๋ ค๋Š” ๋ชจ๋“  ์‹œ๋„๊ฐ€ ์ฐจ๋‹จ๋ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค๋Š” ๊ฒฉ๋ฆฌ๋˜๊ธฐ ์ „์— ์—ด๋ฆฐ ํŒŒ์ผ ๋””์Šคํฌ๋ฆฝํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŠน์ • ๋””๋ ‰ํ„ฐ๋ฆฌ์—๋งŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

      ์ƒˆ๋กœ์šด ๊ฒฉ๋ฆฌ ๋ชจ๋“œ๋กœ ์ „ํ™˜ํ•˜๊ธฐ ์œ„ํ•ด fchroot ์‹œ์Šคํ…œ ํ˜ธ์ถœ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” chroot ์‹œ์Šคํ…œ ํ˜ธ์ถœ๊ณผ ์œ ์‚ฌํ•˜์ง€๋งŒ ํŒŒ์ผ ๋””์Šคํฌ๋ฆฝํ„ฐ ์ˆ˜์ค€์—์„œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, fchdir ์‹œ์Šคํ…œ ํ˜ธ์ถœ์— FD_FAILFS_ROOT ํ”Œ๋ž˜๊ทธ๊ฐ€ ์ถ”๊ฐ€๋˜์–ด ํ”„๋กœ์„ธ์Šค์˜ ์ž‘์—… ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ failfs ํŒŒ์ผ ์‹œ์Šคํ…œ์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.
      fchroot ์‹œ์Šคํ…œ ํ˜ธ์ถœ์—์„œ๋„ ์œ ์‚ฌํ•œ ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    • userfaultfd ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒŒ์ŠคํŠธ ์‹œ์Šคํ…œ ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ์‚ฌ์šฉ์ž ๊ณต๊ฐ„์—์„œ ํ• ๋‹น๋˜์ง€ ์•Š์•˜๊ฑฐ๋‚˜ ๋ณดํ˜ธ๋œ ๋ฉ”๋ชจ๋ฆฌ ํŽ˜์ด์ง€์— ์ ‘๊ทผํ•  ๋•Œ ํ•ธ๋“ค๋Ÿฌ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ์ด ๊ธฐ๋Šฅ์€ ํ•˜์ดํผ๋ฐ”์ด์ €๊ฐ€ ๊ฐ€์ƒ ๋จธ์‹ ์—์„œ ์ ‘๊ทผ๋˜์ง€ ์•Š์€ ๋ฉ”๋ชจ๋ฆฌ ํŽ˜์ด์ง€๋ฅผ ์‹๋ณ„ํ•˜๊ณ  ์†๋„๊ฐ€ ๋А๋ฆฐ ๋ฉ”๋ชจ๋ฆฌ ๋˜๋Š” ์™ธ๋ถ€ ์ €์žฅ์†Œ๋กœ ์ด๋™์‹œํ‚ฌ ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋‹ˆํ„ฐ๋ง๋˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์—์„œ ์ฝ๊ธฐ/์“ฐ๊ธฐ ๊ธˆ์ง€ ์œ„๋ฐ˜์„ ์ถ”์ ํ•˜๊ธฐ ์œ„ํ•ด UFFDIO_REGISTER_MODE_RWP ํ”Œ๋ž˜๊ทธ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ํ”Œ๋ž˜๊ทธ๋Š” ์ฝ๊ธฐ/์“ฐ๊ธฐ ๊ธˆ์ง€๊ฐ€ ์„ค์ •๋œ ๋ฉ”๋ชจ๋ฆฌ์— ์ ‘๊ทผํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์‹ ํ˜ธ์— ๋Œ€ํ•œ ํ•ธ๋“ค๋Ÿฌ์™€ ํ•จ๊ป˜ mprotect(PROT_NONE)๋ณด๋‹ค ์„ฑ๋Šฅ์ด ๋›ฐ์–ด๋‚œ ๋Œ€์•ˆ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(userfaultfd์˜ ๊ฒฝ์šฐ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ ์‚ฌ์šฉ์ž ๊ณต๊ฐ„์—์„œ ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค). ์ด ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ AI("Assisted-by: Claude:claude-opus-4-6")์—์„œ ์ค€๋น„ํ–ˆ์Šต๋‹ˆ๋‹ค.
    • ์ปค๋„ ์Šค๋ ˆ๋“œ(kthread)์™€ ์ดˆ๊ธฐํ™” ํ”„๋กœ์„ธ์Šค(PID 1) ๊ฐ„์˜ ๋ถ„๋ฆฌ๊ฐ€ ๊ฐ•ํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ „์—๋Š” ์ปค๋„ ์Šค๋ ˆ๋“œ์™€ PID 1์ด ํŒŒ์ผ ์‹œ์Šคํ…œ ์ƒํƒœ๋ฅผ ๊ณต์œ ํ–ˆ์Šต๋‹ˆ๋‹ค.
      ์ด๋ฅผ ํ†ตํ•ด pivot_root()๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ๋ชจ๋“  ์ปค๋„ ์Šค๋ ˆ๋“œ์— ๋Œ€ํ•ด ํŒŒ์ผ ์‹œ์Šคํ…œ ์ƒํƒœ๋ฅผ ์žฌ์ •์˜ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ ๋ฒ„์ „์—์„œ๋Š” PID 1์ด ์™„์ „ํžˆ ๋ณ„๊ฐœ์˜ fs_struct ๊ตฌ์กฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , ์ปค๋„ ์Šค๋ ˆ๋“œ๋Š” nullfs๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณ„๋„์˜ ๋งˆ์šดํŠธ ์ง€์ ์— ๊ฒฉ๋ฆฌ๋ฉ๋‹ˆ๋‹ค.
    • ๋‚ด์žฅ ์•”ํ˜ธํ™” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(libcrypto)๋Š” ์ด์ œ ECB, CBC, CBC-CTS, CTR, XCTR, XTS, GCM ๋ฐ CCM์˜ AES ์•”ํ˜ธํ™” ๋ชจ๋“œ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
    • AppArmor์˜ ๊ฐ•์ œ ์ ‘๊ทผ ์ œ์–ด ์‹œ์Šคํ…œ์ด ์ด์ œ ์••์ถ•๋œ ๊ทœ์น™ ์„ธํŠธ ๋กœ๋”ฉ์„ ์ง€์›ํ•˜๊ณ  ๊ฐ์‚ฌ ๋ชจ๋“œ๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
    • `af_alg_restrict` sysctl ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” AF_ALG ์•”ํ˜ธํ™” API์— ๋Œ€ํ•œ ์‚ฌ์šฉ์ž ๊ณต๊ฐ„ ์ ‘๊ทผ ํ™œ์„ฑํ™” ์—ฌ๋ถ€๋ฅผ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค. AF_ALG๋Š” ์ปค๋„ Crypto API์—์„œ ์•”ํ˜ธํ™” ์—ฐ์‚ฐ์„ ์œ„ํ•œ ํ•˜๋“œ์›จ์–ด ๊ฐ€์†๊ธฐ๋ฅผ ํ™œ์„ฑํ™”ํ•˜์ง€๋งŒ, ํŠน์ • ์ƒํ™ฉ์—์„œ๋งŒ ์‚ฌ์šฉ๋˜๋ฉฐ ์‚ฌ์šฉ์ž ๊ณต๊ฐ„ ๊ฐ€์†์— ๋น„ํ•ด ํ•ญ์ƒ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค. AF_ALG ๊ด€๋ จ ํ•ธ๋“ค๋Ÿฌ์—์„œ Copy Fail๊ณผ ๊ฐ™์€ ์—ฌ๋Ÿฌ ์ทจ์•ฝ์ ์ด ๋ฐœ๊ฒฌ๋˜์—ˆ์œผ๋ฉฐ, ์ด๋กœ ์ธํ•ด ํŽ˜์ด์ง€ ์บ์‹œ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์ˆ˜์ •๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณต๊ฒฉ ํ‘œ๋ฉด์„ ์ค„์ด๊ธฐ ์œ„ํ•ด AF_ALG์— ๋Œ€ํ•œ ์ ‘๊ทผ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ถ€๋ถ„์ ์œผ๋กœ ์ œํ•œ๋ฉ๋‹ˆ๋‹ค. ํ–ฅํ›„ ๋ฆด๋ฆฌ์Šค์—์„œ AF_ALG๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ๋ฐฉ์•ˆ์„ ๊ฒ€ํ†  ์ค‘์ž…๋‹ˆ๋‹ค.
    • ๋””์ง€ํ„ธ ์„œ๋ช…๋œ BPF ํ”„๋กœ๊ทธ๋žจ์˜ ๊ฒ€์ฆ์ด ๊ฐ•ํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค. BPF ํ”„๋กœ๊ทธ๋žจ ๋กœ๋”ฉ ์ „์— ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ ๊ฒ€์‚ฌ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • ๋žœ๋“œ๋ก ๊ธฐ๋Šฅ์„ ํ™œ์„ฑํ™”ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” landlock_restrict_self() ์‹œ์Šคํ…œ ํ˜ธ์ถœ์— ํ”Œ๋ž˜๊ทธ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
      LANDLOCK_RESTRICT_SELF_NO_NEW_PRIVS๋Š” ํ˜„์žฌ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ƒˆ๋กœ์šด ๊ถŒํ•œ์„ ํš๋“ํ•˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค. ๋žœ๋“œ๋ฝ ๋ฉ”์ปค๋‹ˆ์ฆ˜์€ ๊ถŒํ•œ์ด ์—†๋Š” ํ”„๋กœ๊ทธ๋žจ์ด ๋” ์ด์ƒ ํ•„์š”ํ•˜์ง€ ์•Š์€ ๊ถŒํ•œ์„ ํฌ๊ธฐํ•˜์—ฌ ํ–ฅํ›„ ์‹œ์Šคํ…œ ์ ‘๊ทผ์„ ์ž๋ฐœ์ ์œผ๋กœ ์ œํ•œํ•จ์œผ๋กœ์จ ํ”„๋กœ๊ทธ๋žจ์˜ ์ทจ์•ฝ์ ์„ ์•…์šฉํ•˜๋ ค๋Š” ์‹œ๋„๋ฅผ ๋ฐฉ์ง€ํ•˜๋Š” ๋“ฑ ๋ณด์•ˆ์ƒ์˜ ์ด์ ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
    • ๊ฐ€์ƒ GPU ์ž‘๋™์„ ์ œ๊ณตํ•˜๋Š” VirtIO-GPU ๋“œ๋ผ์ด๋ฒ„๊ฐ€ S4 ์ตœ๋Œ€ ์ ˆ์ „ ๋ชจ๋“œ๋ฅผ ์ง€์›ํ•˜๋„๋ก ์—…๋ฐ์ดํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๋„คํŠธ์›Œํฌ ํ•˜์œ„ ์‹œ์Šคํ…œ
    • ์ปค๋„์— ๋‚ด์žฅ๋œ SMB ํ”„๋กœํ† ์ฝœ ์„œ๋ฒ„์ธ ksmbd๊ฐ€ Apple Time Machine ํ™•์žฅ ๊ธฐ๋Šฅ์„ ์ง€์›ํ•˜๋„๋ก ์—…๋ฐ์ดํŠธ๋˜์–ด Time Machine์—์„œ ์ƒ์„ฑ๋œ ๋ฐฑ์—…์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. macOS ์ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํ†ตํ•ด MessageId๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ SMB ๋ช…๋ น ์‹œํ€€์Šค๋ฅผ ๊ฒฉ๋ฆฌํ•˜๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ๊ตฌํ˜„๋˜์–ด ์œ ํšจํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ์ค‘๋ณต๋œ ์š”์ฒญ์„ ์ „์†กํ•˜๋Š” ๊ณต๊ฒฉ์„ ์ฐจ๋‹จํ•ฉ๋‹ˆ๋‹ค. ์ด์ „ ์š”์ฒญ์ด ์†์‹ค๋˜๋”๋ผ๋„ ์„ธ์…˜ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ SMB3 ํ”„๋กœํ† ์ฝœ์„ ํ†ตํ•ด ๋ฐ˜๋ณต ์š”์ฒญ์„ ์ „์†กํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. SMB3๋Š” ๊ณต์œ  ์ˆ˜์ค€ ์•”ํ˜ธํ™”๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. RDMA(์›๊ฒฉ ์ง์ ‘ ๋ฉ”๋ชจ๋ฆฌ ์•ก์„ธ์Šค) ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•œ SMB Direct ํ†ต์‹  ์ฑ„๋„ ์•”ํ˜ธํ™”์— ๋Œ€ํ•œ ์ง€์›๋„ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • VXLAN ๋ฐ GENEVE ํ”„๋กœํ† ์ฝœ ๊ธฐ๋ฐ˜ UDP ํ„ฐ๋„์—์„œ TCP ํŒจํ‚ท์˜ ์ตœ๋Œ€ ํฌ๊ธฐ๋ฅผ 4GB๊นŒ์ง€ ๋Š˜๋ฆด ์ˆ˜ ์žˆ๋Š” BIG TCP ํ™•์žฅ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์—ฌ TCP ํŒจํ‚ท์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.
    • USB๋ฅผ ํ†ตํ•œ MCTP(๊ด€๋ฆฌ ๊ตฌ์„ฑ ์š”์†Œ ์ „์†ก ํ”„๋กœํ† ์ฝœ) ํ”„๋กœํ† ์ฝœ ํฌ์›Œ๋”ฉ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค(MCTP-over-USB 1.1).
    • ์ด์ œ ์„ ํƒํ•œ ๋„ค์ž„์ŠคํŽ˜์ด์Šค์— ๋Œ€ํ•ด ๋„คํŠธ์›Œํฌ ์žฅ์น˜(netkit, veth, vxcan, bareudp, geneve, ipvlan, macvlan ๋“ฑ)๋ฅผ ๋น„ํ™œ์„ฑํ™”(๋“ฑ๋ก ํ•ด์ œ)ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ๋ธ”๋ฃจํˆฌ์Šค 6.2 ์ด์ƒ ๋ฒ„์ „์—์„œ๋Š” ๋ธ”๋ฃจํˆฌ์Šค LE(์ €์ „๋ ฅ) ๋ชจ๋“œ์—์„œ ๋ฐ์ดํ„ฐ ์ „์†ก ์‹œ ์ง€์—ฐ ์‹œ๊ฐ„์„ ์ค„์ด๊ธฐ ์œ„ํ•ด SCI(๋‹จ์ถ• ์—ฐ๊ฒฐ ๊ฐ„๊ฒฉ) ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ์ง€์›๋ฉ๋‹ˆ๋‹ค.
    • NL80211 API๊ฐ€ ๋ฌด์„  ์•ก์„ธ์Šค ํฌ์ธํŠธ์™€ ํด๋ผ์ด์–ธํŠธ ์ธก ๋ชจ๋‘์—์„œ ์ž‘๋™ํ•˜๋Š” ์—ฐ๊ฒฐ๋œ ํ”ผ์–ด๋ฅผ ํ™•์ธํ•˜๋Š” ํ†ตํ•ฉ ๋ฉ”์ปค๋‹ˆ์ฆ˜(NL80211_CMD_PROBE_PEER)์œผ๋กœ ์—…๋ฐ์ดํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ะžะฑะพั€ัƒะดะพะฒะฐะฝะธะต
    • ์‚ฌ์šฉ ๋นˆ๋„๊ฐ€ ๋‚ฎ๊ณ  ์ตœ์‹  ์„œ๋ธŒ์‹œ์Šคํ…œ ์œ ์ง€ ๊ด€๋ฆฌ์— ์ง€์žฅ์„ ์ฃผ๋Š” ๊ตฌํ˜• ARM ํ”Œ๋žซํผ์€ ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์œผ๋ฉฐ ์ปค๋„ 7.5์—์„œ ์ œ๊ฑฐ๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. sa1100, omap24xx, i.MX31, samv7, lpc18xx, riscpc, axxia, footbridge ํ”Œ๋žซํผ, ๊ตฌํ˜• pxa, orion, dove ๋ฐ mv78xx0 ๋ณด๋“œ, ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ์žฅ์น˜(MMU)๊ฐ€ ์—†๋Š” ์นฉ, ๊ทธ๋ฆฌ๊ณ  stm32f4/f7/h7 ๋งˆ์ดํฌ๋กœ์ปจํŠธ๋กค๋Ÿฌ ์ง€์›๊ณผ ๊ด€๋ จ๋œ ์•ฝ 55์ค„์˜ ์ฝ”๋“œ๊ฐ€ ์ œ๊ฑฐ๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.
    • Apple M3 Pro, Max ๋ฐ Ultra ์นฉ์— ๋Œ€ํ•œ ์ดˆ๊ธฐ ์ง€์›์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. Apple SoC์šฉ ์ „๋ ฅ ๊ด€๋ฆฌ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.
    • DRM(Direct Rendering Manager) ์„œ๋ธŒ์‹œ์Šคํ…œ์— "์ƒ‰์ƒ ํ˜•์‹" ์†์„ฑ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ์†์„ฑ์„ ์‚ฌ์šฉํ•˜๋ฉด ์ถœ๋ ฅ ์žฅ์น˜์˜ ์ƒ‰์ƒ ํ˜•์‹์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์†์„ฑ์€ i915(HDMI, DP), amdgpu(HDMI, DP) ๋ฐ rockchip(HDMI) GPU ๋“œ๋ผ์ด๋ฒ„์—์„œ ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธํ•˜๋ ค๋ฉด "modetest -s 115:1920ร—1080-60@NV12 -w 115:'color format':4"์™€ ๊ฐ™์€ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ 115๋Š” ์ปค๋„ฅํ„ฐ ID์ด๊ณ  '4'๋Š” YUV420 ํ˜•์‹ ๋ฒˆํ˜ธ์ž…๋‹ˆ๋‹ค.
    • amdgpu ๋“œ๋ผ์ด๋ฒ„๊ฐ€ ์ด์ œ AMD GFX6-8 ์‹œ๋ฆฌ์ฆˆ GPU(Southern Islands, Sea Islands, Volcanic Islands)์šฉ DRM ์ˆ˜์ •์ž๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. DCN 6.0.0(Display Core Next)์— ๋Œ€ํ•œ ์ดˆ๊ธฐ ์ง€์›์ด ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด ์ฝ”๋“œ๊ฐ€ ์ •๋ฆฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
      CACP(์ฝ˜ํ…์ธ  ์ ์‘ํ˜• ๋ช…์•”๋น„ ๋ฐ ์ „๋ ฅ) ์ง€์›์ด ํ™œ์„ฑํ™”๋˜์–ด OLED ํŒจ๋„์˜ ์ „๋ ฅ ์†Œ๋น„๊ฐ€ ๊ฐ์†Œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. DCN4 ์•„ํ‚คํ…์ฒ˜ ๊ธฐ๋ฐ˜ ๋””์Šคํ”Œ๋ ˆ์ด ์—”์ง„์˜ ๊ฒฝ์šฐ, IPS(์œ ํœด ์ „๋ ฅ ์ƒํƒœ) ๋ฉ”์ปค๋‹ˆ์ฆ˜ ์ง€์›์ด ํ™œ์„ฑํ™”๋˜์–ด ์‚ฌ์šฉํ•˜์ง€ ์•Š์„ ๋•Œ ์ „๋ ฅ ์†Œ๋น„๋ฅผ ์ค„์ž…๋‹ˆ๋‹ค. AMD Barco ๊ทธ๋ž˜ํ”ฝ ์นด๋“œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • i915 ๋“œ๋ผ์ด๋ฒ„๋Š” DisplayPort ์ปค๋„ฅํ„ฐ ๊ธฐ๋Šฅ ๊ฐ์ง€ ๋ฐ ๋ณต์› ์ฝ”๋“œ๋ฅผ ๊ฐœ์„ ํ–ˆ์Šต๋‹ˆ๋‹ค. Novalake(NVL) GPU์— ๋Œ€ํ•ด CMTG(๊ณตํ†ต ๋ชจ๋“œ ํƒ€์ด๋ฐ ์ƒ์„ฑ๊ธฐ) ๋ฐ DC3DO(ํด๋Ÿญ์ด ๊บผ์ง„ Display C3) ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • ์ธํ…” Xe ์•„ํ‚คํ…์ฒ˜ ๊ธฐ๋ฐ˜ GPU์šฉ Xe DRM(Direct Rendering Manager) ๋“œ๋ผ์ด๋ฒ„ ๊ฐœ๋ฐœ์ด ๊ณ„์† ์ง„ํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ์•„ํ‚คํ…์ฒ˜๋Š” Tiger Lake ํ”„๋กœ์„ธ์„œ๋ถ€ํ„ฐ Intel Arc ์‹œ๋ฆฌ์ฆˆ ๊ทธ๋ž˜ํ”ฝ ์นด๋“œ ๋ฐ ํ†ตํ•ฉ ๊ทธ๋ž˜ํ”ฝ์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ์ง€์› ์žฅ์น˜ ์‹๋ณ„์ž๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. configfs์— 'enable_multi_queue' ์†์„ฑ์ด ๊ตฌํ˜„๋˜์–ด ์—ฌ๋Ÿฌ ๋ช…๋ น ํ๋ฅผ ๋™์‹œ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ ˆ์ „ ๋ชจ๋“œ ์ „ํ™˜ ์ง€์› ๊ธฐ๋Šฅ์ด ๊ฐœ์„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • NVIDIA GeForce RTX 2000 ์‹œ๋ฆฌ์ฆˆ(ํŠœ๋ง ๋งˆ์ดํฌ๋กœ์•„ํ‚คํ…์ฒ˜ ๊ธฐ๋ฐ˜)๋ถ€ํ„ฐ ์‚ฌ์šฉ๋˜์–ด ์˜จ GSP ํŽŒ์›จ์–ด๊ฐ€ ํƒ‘์žฌ๋œ NVIDIA GPU์šฉ Nova ๋“œ๋ผ์ด๋ฒ„ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์ง€์†์ ์œผ๋กœ ํ†ตํ•ฉํ•ด ์™”์Šต๋‹ˆ๋‹ค. ์ด ๋“œ๋ผ์ด๋ฒ„๋Š” Rust๋กœ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ ๋ฒ„์ „์—์„œ๋Š” ๊ธฐ์กด Nouveau ๋“œ๋ผ์ด๋ฒ„์—์„œ ์‚ฌ์šฉ๋˜๋˜ ํŽŒ์›จ์–ด ์ด๋ฏธ์ง€๋ฅผ ์ƒˆ๋กœ์šด TLV ํŽŒ์›จ์–ด ์ด๋ฏธ์ง€๋กœ ๊ต์ฒดํ–ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ง€์› ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
      vGPU๊ฐ€ ํ™œ์„ฑํ™”๋œ GSP(GPU ์‹œ์Šคํ…œ ํ”„๋กœ์„ธ์„œ) ์นฉ์šฉ ํŽŒ์›จ์–ด๋ฅผ ์ถœ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค. ๋น„๋””์˜ค ๋ฉ”๋ชจ๋ฆฌ ํฌ๊ธฐ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” API๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
    • Rust๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ ARM Mali GPU๋ฅผ ์ง€์›ํ•˜๋Š” Tyr ๋“œ๋ผ์ด๋ฒ„๋Š” ์ด์ œ Mali CSF ํŽŒ์›จ์–ด ๋กœ๋“œ, GPU ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ ํ™œ์„ฑํ™” ๋ฐ MCU ์‹คํ–‰์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
    • msm ๋“œ๋ผ์ด๋ฒ„์— Adreno Shikra(A704) ๋ฐ Eliza(722) GPU ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • Pioneer DJ DJM-S11 ์˜ค๋””์˜ค ์žฅ์น˜ ๋ฐ ASoC ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
      AW88399 (Lenovo Legion Pro), AW88399 (Lenovo Legion), Lisuan, ALC235, RME HDSPe AIO, RT766/RT767 SDCA, Maili, Hawi, CS35L62 (SoundWire), RT766/RT767 VA1.
    • Steam ์ปจํŠธ๋กค๋Ÿฌ(2026๋…„ ๋ชจ๋ธ), Logitech G502 X Plus ๋ฐ G502 X Lightspeed ๋งˆ์šฐ์Šค, Endorfy Thock TKL ํ‚ค๋ณด๋“œ, Zenbook A16, Nova 5X, Nova 7 ๋ฐ Arctis 7 ํ—ค๋“œ์…‹, Turtle Beach VelocityOne Race ๊ฒŒ์ด๋ฐ ํœ , MSI Claw ๊ฒŒ์ž„ํŒจ๋“œ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • ASUS VivoBook M515DA/X515DAP ๊ธฐ๊ธฐ์—์„œ ์˜ค๋””์˜ค ์ง€์›์ด ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
      LG gram 16 (16Z90TR), Minisforum AI X1 Pro, HP Pavilion 15-eh2xxx, HP Laptop 15-dy0xxx ๋ฐ HP Specter x360 16-aa0xxx, HP EliteBook 6 G1, HP OmniBook X Flip 14, Lenovo Yoga Pro 7, Huawei Matebook,
      ThinkPad X1 Carbon 6์„ธ๋Œ€, HP ProBook 440 G5, Acer Aspire A515-57.
    • ์Šค๋งˆํŠธํฐ, ํƒœ๋ธ”๋ฆฟ, ๋…ธํŠธ๋ถ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค: Motorola Edge 30, Motorola Moto G2, Xiaomi 12 Lite 5G, Microsoft Surface Pro, Honor MagicBook art 14/12in, Sony Xperia M2, Vicharak Axon, Axon Mini ๋ฐ Vaaman2, Asus Zenbook A16, Lenovo Thinkedge se70.
    • ARM ๋ณด๋“œ ๋ฐ SoC ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ง€์›๋˜๋Š” SoC๋Š” Samsung Exynos 1580(2024๋…„ ์ดํ›„ ํ”Œ๋ž˜๊ทธ์‹ญ ์Šค๋งˆํŠธํฐ์— ์‚ฌ์šฉ), Orange Pi 5 Pro, Sophgo SG2000(Arm/RISC-V ํ•˜์ด๋ธŒ๋ฆฌ๋“œ), BeagleBadge, Qualcomm "Shikra" ๋ฐ "Altera"(Cortex-A78C), Agilex72(Cortex-A720), Alientek ATK-DLRV1126, Variscite SoC DART-MX8M-PLUS, DART-MX8M-MINI, VAR-SOM-MX8QM ๋ฐ ์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” Sonata/Symphony ๋ณด๋“œ, 9Tripod X3568 v4, Youyeetoo YY3588, milk-v duo, ArmSoM CM5, Freescale Verdin iMX8M Mini, Anbernic rg vita-pro, Embedfire lubancat 4, Vicharak Vaaman, LincStation E1์ž…๋‹ˆ๋‹ค. ํžŒ๋งํฌ H28K.

๋™์‹œ์— ๋ผํ‹ด ์•„๋ฉ”๋ฆฌ์นด ์ž์œ  ์†Œํ”„ํŠธ์›จ์–ด ์žฌ๋‹จ์ด ์„ค๋ฆฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
7.3 ์ปค๋„์˜ ์™„์ „ ๋ฌด๋ฃŒ ๋ฒ„์ „ โ€” Linux-libre 7.3-gnu๋Š” ๋น„์ž์œ  ๊ตฌ์„ฑ ์š”์†Œ ๋˜๋Š” ์ œํ•œ๋œ ๋ฒ”์œ„์˜ ์ฝ”๋“œ ์„น์…˜์„ ํฌํ•จํ•˜๋Š” ํŽŒ์›จ์–ด ๋ฐ ๋“œ๋ผ์ด๋ฒ„ ์š”์†Œ๋ฅผ ์ •๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค. 7.3 ๋ฆด๋ฆฌ์Šค์—๋Š” Mali Tyr GPU, Morse Micro mm81x Wi-Fi, NXP Wi-Fi ๋ฐ Realtek ์นฉ ๊ธฐ๋ฐ˜ ๋„คํŠธ์›Œํฌ ์นด๋“œ์šฉ ์ƒˆ ๋“œ๋ผ์ด๋ฒ„์— ๋Œ€ํ•œ ๋ธ”๋กญ ์ •๋ฆฌ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. nova-core, amdgpu, adreno, tegra, iris, rtw89 ๋ฐ mt76 Wi-Fi ๋“œ๋ผ์ด๋ฒ„, Qualcomm Q6V5 PAS, qla2xxx scsi ๋ฐ aw88399 ์˜ค๋””์˜ค ์ฝ”๋ฑ์— ๋Œ€ํ•œ ์ •๋ฆฌ ์ฝ”๋“œ๊ฐ€ ์—…๋ฐ์ดํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Qualcomm ARM ์นฉ์šฉ devicetree(dts) ํŒŒ์ผ์˜ ๋ธ”๋กญ ์ด๋ฆ„์ด ์ •๋ฆฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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