๋ ๋ฌ๊ฐ์ ๊ฐ๋ฐ ๋์ ๋ฆฌ๋์ค ํ ๋ฅด๋ฐ์ค๋ ์ปค๋์ ๊ณต๊ฐํ์ต๋๋ค. 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์ผ๋ก ์ฑ์ฐ๊ธฐ๋ฅผ ์ํํฉ๋๋ค.
- Btrfs ํ์ผ ์์คํ
์ฑ๋ฅ์ด ์ต์ ํ๋์์ต๋๋ค. SSD๊ฐ ์๋ ๋๋ผ์ด๋ธ์ ๊ฒฝ์ฐ ๋ถํ์ํ ์ง์ฐ ์๊ฐ์ด ์ ๊ฑฐ๋์ด ๋ก๊ทธ ๊ธฐ๋ก๊ณผ ๊ฐ์ด fsync๋ฅผ ๋ง์ด ์ฌ์ฉํ๋ ์ํฌ๋ก๋์ ์ฒ๋ฆฌ๋์ด 5๋ฐฐ ์ฆ๊ฐํ์ต๋๋ค. ์ด์ fsync๋ ์ต์คํ
ํธ ์๊ฐ ๋ง๊ณ ๋ณด์ด๋๊ฐ ์๋ ํ์ผ์์ ๋ณด์ด๋ ๊ฐ์ง๋ฅผ ๋นํ์ฑํํ์ฌ ํน์ ํ
์คํธ ์๋๋ฅผ 5๋ฐฐ ํฅ์์์ผฐ์ต๋๋ค.
- ๋ฉ๋ชจ๋ฆฌ ๋ฐ ์์คํ
์๋น์ค
- ๋น๋์ค ๋ฉ๋ชจ๋ฆฌ ์ฒ๋ฆฌ ๋ฐฉ์์ด ๊ฐ์ ๋์์ต๋๋ค. ๋น๋์ค ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ถ์กฑํด์ง๋ฉด, ์ปค๋์ ์ด์ ๋น๋์ค ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ ์ฆ์ ๊ฑฐ๋ถํ๋ ๋์ , ๋ฉ๋ชจ๋ฆฌ ํ ๋น๋์ด ๋ณด์ฅ๋์ง ์์ ์ ํ๋ฆฌ์ผ์ด์
(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๋ฐฐ๊น์ง ํฅ์์ํต๋๋ค.
- ๋น๋์ค ๋ฉ๋ชจ๋ฆฌ ์ฒ๋ฆฌ ๋ฐฉ์์ด ๊ฐ์ ๋์์ต๋๋ค. ๋น๋์ค ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ถ์กฑํด์ง๋ฉด, ์ปค๋์ ์ด์ ๋น๋์ค ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ ์ฆ์ ๊ฑฐ๋ถํ๋ ๋์ , ๋ฉ๋ชจ๋ฆฌ ํ ๋น๋์ด ๋ณด์ฅ๋์ง ์์ ์ ํ๋ฆฌ์ผ์ด์
(dmem cgroup)์ ๋ฒํผ๋ฅผ ๋น๋์ค ๋ฉ๋ชจ๋ฆฌ์์ ์์คํ
๋ฉ๋ชจ๋ฆฌ(GTT)๋ก ์ด๋์ํค๋ ค๊ณ ์๋ํฉ๋๋ค. ์ด ๋ฐฉ์์ ํตํด ์์คํ
์์ ํน์ ๋น๋์ค ๋ฉ๋ชจ๋ฆฌ ์ฉ๋์ ์์ฝํด ๋ ์ ํ๋ฆฌ์ผ์ด์
์๋ ํด๋น ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ค๋ฅธ ์ ํ๋ฆฌ์ผ์ด์
์ ์ด๋ฏธ ํ ๋น๋์๋๋ผ๋ ๋ฆฌ์์ค๊ฐ ํ ๋น๋ ์ ์๋๋ก ๋ณด์ฅํฉ๋๋ค. ์ด์ ์๋ ํ ๋น๋์ด ์๋ ์ ํ๋ฆฌ์ผ์ด์
์ด ์ด๋ฏธ ๋น๋์ค ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋น๋ฐ์ ๊ฒฝ์ฐ, ๋น๋์ค ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ ์ํฉ์์ ํ ๋น๋์ด ๋ณด์ฅ๋ ์ ํ๋ฆฌ์ผ์ด์
์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ๋ณดํ ์ ์์๊ณ , ๋น๋์ค ๋ฉ๋ชจ๋ฆฌ ๋์ TTM(Translation Table Maps) ์๋ธ์์คํ
์ ํตํด GPU์์ ์ ๊ทผ ๊ฐ๋ฅํ ์๋๊ฐ ๋๋ฆฐ ์์คํ
๋ฉ๋ชจ๋ฆฌ(GTT)๊ฐ ํ ๋น๋์์ต๋๋ค.
- ๊ฐ์ํ ๋ฐ ๋ณด์
- ํ์ผ ๋์คํฌ๋ฆฝํฐ๋ฅผ ํตํด ์๋๋ฐ์ค ํ๊ฒฝ์ผ๋ก ๋ช
์์ ์ผ๋ก ์ ์ก๋ ๋ฆฌ์์ค๋ฅผ ์ ์ธํ๊ณ ํ์ผ ์์คํ
์ฝํ
์ธ ์ ๋ํ ์ ๊ทผ์ ์ฐจ๋จํ๋ ์๋ก์ด ๊ฒฉ๋ฆฌ ๋ฉ์ปค๋์ฆ์ด ์ ์๋์์ต๋๋ค. ์ด ๋ฉ์ปค๋์ฆ์ 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 ์ต๋ ์ ์ ๋ชจ๋๋ฅผ ์ง์ํ๋๋ก ์ ๋ฐ์ดํธ๋์์ต๋๋ค.
- ํ์ผ ๋์คํฌ๋ฆฝํฐ๋ฅผ ํตํด ์๋๋ฐ์ค ํ๊ฒฝ์ผ๋ก ๋ช
์์ ์ผ๋ก ์ ์ก๋ ๋ฆฌ์์ค๋ฅผ ์ ์ธํ๊ณ ํ์ผ ์์คํ
์ฝํ
์ธ ์ ๋ํ ์ ๊ทผ์ ์ฐจ๋จํ๋ ์๋ก์ด ๊ฒฉ๋ฆฌ ๋ฉ์ปค๋์ฆ์ด ์ ์๋์์ต๋๋ค. ์ด ๋ฉ์ปค๋์ฆ์ failfs ์์ฌ ํ์ผ ์์คํ
๊ณผ fchroot ์์คํ
ํธ์ถ์ ์ฌ์ฉํ์ฌ ๊ตฌํ๋์์ต๋๋ค.
- ๋คํธ์ํฌ ํ์ ์์คํ
- ์ปค๋์ ๋ด์ฅ๋ 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
