๋ ๋ฌ ๊ฐ์ ๊ฐ๋ฐ ๋์ Linus Torvalds๋
์ ๋ฒ์ ์๋ 13702๋ช
์ ๊ฐ๋ฐ์๊ฐ ์์ ํ 1810๊ฐ์ ์์ ์ฌํญ์ด ํฌํจ๋์ด ์์ต๋๋ค.
ํจ์น ํฌ๊ธฐ - 40MB(๋ณ๊ฒฝ ์ฌํญ์ 11577๊ฐ ํ์ผ์ ์ํฅ์ ๋ฏธ์น๊ณ 610012์ค์ ์ฝ๋๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
294828๊ฐ ํ์ด ์ ๊ฑฐ๋์์ต๋๋ค.) 45์ ์ ์๋ ์ ์ฒด ๋ด์ฉ์ ์ฝ 5.6%
๋ณ๊ฒฝ ์ฌํญ์ ์ฅ์น ๋๋ผ์ด๋ฒ์ ๊ด๋ จ๋์ด ์์ผ๋ฉฐ ๋ณ๊ฒฝ ์ฌํญ ์ค ์ฝ 15%๋
ํ๋์จ์ด ์ํคํ
์ฒ ๊ด๋ จ ์ฝ๋ ์
๋ฐ์ดํธ์ ๋ํ ํ๋, 12%
๋คํธ์ํฌ ์คํ๊ณผ ๊ด๋ จ, 4%๋ ํ์ผ ์์คํ
, 3%๋ ๋ด๋ถ
์ปค๋ ํ์ ์์คํ
.
- ๋คํธ์ํฌ ํ์ ์์คํ
-
์ถ๊ฐ๋จ VPN ์ธํฐํ์ด์ค ๊ตฌํ์์ด์ด ๊ฐ๋ ์ต์ ์ํธํ ๋ฐฉ๋ฒ(ChaCha20, Poly1305, Curve25519, BLAKE2s)์ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌํ๋ ๋ ์ฌ์ฉํ๊ธฐ ์ฝ๊ณ ๋ณต์กํ์ง ์์ผ๋ฉฐ ์ฌ๋ฌ ๋๊ท๋ชจ ๊ตฌํ์์ ์ ์ฆ๋์์ผ๋ฉฐ ๋งค์ฐ ๋์ ์ฑ๋ฅ์ ์ ๊ณตํฉ๋๋ค(OpenVPN๋ณด๋ค 3,9๋ฐฐ ๋น ๋ฅธ ์ธก๋ฉด์์) ์ฒ๋ฆฌ๋). WireGuard๋ ๊ฐ ๋คํธ์ํฌ ์ธํฐํ์ด์ค์ ๊ฐ์ธ ํค๋ฅผ ์ฐ๊ฒฐํ๊ณ ์ด๋ฅผ ์ฌ์ฉํ์ฌ ๊ณต๊ฐ ํค๋ฅผ ๋ฐ์ธ๋ฉํ๋ ์ํธํ ํค ๋ผ์ฐํ ๊ฐ๋ ์ ์ฌ์ฉํฉ๋๋ค. SSH์ ์ ์ฌํ ๋ฐฉ์์ผ๋ก ๊ณต๊ฐ ํค๋ฅผ ๊ตํํ์ฌ ์ฐ๊ฒฐ์ ์ค์ ํฉ๋๋ค. WireGuard๊ฐ ์๋ํ๋ ๋ฐ ํ์ํ ์ํธํ ๊ธฐ๋ณธ ์์ํ๋ค ์ด์ ๋์๊ด์์์์ฐ ํ์ค Crypto API์ ์ผ๋ถ๋กํฌํจ ๋ ํต์ฌ ์์ผ๋ก5.5 . -
์์ ์๋ก ๋ค๋ฅธ IP ์ฃผ์์ ์ฐ๊ฒฐ๋ ์๋ก ๋ค๋ฅธ ๋คํธ์ํฌ ์ธํฐํ์ด์ค๋ฅผ ํตํด ์ฌ๋ฌ ๊ฒฝ๋ก๋ฅผ ๋ฐ๋ผ ๋์์ ํจํท์ ์ ๋ฌํ๋ TCP ์ฐ๊ฒฐ ์์ ์ ๊ตฌ์ฑํ๊ธฐ ์ํ TCP ํ๋กํ ์ฝ์ ํ์ฅ์ธ MPTCP(MultiPath TCP)๋ฅผ ์ง์ํ๋ ๋ฐ ํ์ํ ๊ตฌ์ฑ ์์ ํตํฉ์ ๋๋ค. ๋คํธ์ํฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฒฝ์ฐ ์ด๋ฌํ ์ง๊ณ ์ฐ๊ฒฐ์ ์ผ๋ฐ TCP ์ฐ๊ฒฐ์ฒ๋ผ ๋ณด์ด๋ฉฐ ๋ชจ๋ ํ๋ฆ ๋ถ๋ฆฌ ๋ ผ๋ฆฌ๋ MPTCP์ ์ํด ์ํ๋ฉ๋๋ค. ๋ค์ค ๊ฒฝ๋ก TCP๋ ์ฒ๋ฆฌ๋์ ๋๋ฆฌ๊ณ ์์ ์ฑ์ ๋์ด๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด MPTCP๋ฅผ ์ฌ์ฉํ๋ฉด Wi-Fi์ 4G ๋งํฌ๋ฅผ ๋์์ ์ฌ์ฉํ์ฌ ์ค๋งํธํฐ์์ ๋ฐ์ดํฐ ์ ์ก์ ๊ตฌ์ฑํ๊ฑฐ๋ ๊ฐ๋น์ผ ๋งํฌ ํ๋ ๋์ ์ฌ๋ฌ ๊ฐ์ ์ ๋ ดํ ๋งํฌ๋ฅผ ์ฌ์ฉํ์ฌ ์๋ฒ๋ฅผ ์ฐ๊ฒฐํ์ฌ ๋น์ฉ์ ์ ๊ฐํ ์ ์์ต๋๋ค. -
์ถ๊ฐ๋จ ๋คํธ์ํฌ ๋๊ธฐ์ด ์ฒ๋ฆฌ ๋ถ์ผ sch_ets ์ง์(ํฅ์๋ ์ ์ก ์ ํ , IEEE 802.1Qaz)๋ ์๋ก ๋ค๋ฅธ ํธ๋ํฝ ํด๋์ค ๊ฐ์ ๋์ญํญ์ ๋ถ๋ฐฐํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ํน์ ํธ๋ํฝ ํด๋์ค์ ๋ก๋๊ฐ ํ ๋น๋ ๋์ญํญ๋ณด๋ค ๋ฎ์ผ๋ฉด ETS๋ ๋ค๋ฅธ ํธ๋ํฝ ํด๋์ค๊ฐ ์ฌ์ฉ ๊ฐ๋ฅํ(์ฌ์ฉ๋์ง ์์) ๋์ญํญ์ ์ฌ์ฉํ๋๋ก ํ์ฉํฉ๋๋ค. Qdisc sch_ets๋ PRIO ๊ท์น์ผ๋ก ๊ตฌ์ฑ๋๋ฉฐ ํธ๋ํฝ ํด๋์ค๋ฅผ ์ฌ์ฉํ์ฌ ์๊ฒฉํ ๊ณต์ ๋์ญํญ ์ ํ์ ์ ์ํฉ๋๋ค. ETS๋ ์ฌ๋ฌ ๋ถ์ผ์ ์กฐํฉ์ผ๋ก ์๋ํฉ๋๋ค.ํ๋ฆฌ์ค ะธDRR โ ํธ๋ํฝ ํด๋์ค๊ฐ ์๊ฒฉํ๊ฒ ์ ํ๋ ๊ฒฝ์ฐ PRIO๊ฐ ์ฌ์ฉ๋์ง๋ง ๋๊ธฐ์ด์ ํธ๋ํฝ์ด ์์ผ๋ฉด DRR์ฒ๋ผ ์๋ํฉ๋๋ค. - ์๋ก์ด ์ ํ์ BPF ํ๋ก๊ทธ๋จ ์ถ๊ฐ
BPF_PROG_TYPE_STRUCT_OPS , BPF๋ฅผ ํตํด ์ปค๋ ํจ์ ํธ๋ค๋ฌ๋ฅผ ๊ตฌํํ ์ ์์ต๋๋ค. ํ์ฌ ์ด ๊ธฐ๋ฅ์ ์ด๋ฏธ BPF ํ๋ก๊ทธ๋จ ํํ๋ก TCP ํผ์ก ์ ์ด ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌํํ๋ ๋ฐ ์ฌ์ฉ๋ ์ ์์ต๋๋ค. ์๋ก์์ ์ ์๊ณ ๋ฆฌ์ฆ ๊ตฌํ์ด ํฌํจ๋ BPF ํ๋ก๊ทธ๋จDCTCP . - ํต์ฌ์ผ๋ก ๋ฐ์๋ค์ฌ์ง
๋ณ๊ฒฝ , ๋ฒ์ญ ๋๊ตฌEthtool ioctl()์ ์ฌ์ฉํ์ฌ ์ฌ์ฉ๋ท๋งํฌ ์ธํฐํ์ด์ค . ์๋ก์ด ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ๋ฉด ํ์ฅ์ ๋ ์ฝ๊ฒ ์ถ๊ฐํ๊ณ , ์ค๋ฅ ์ฒ๋ฆฌ๋ฅผ ๊ฐ์ ํ๊ณ , ์ํ๊ฐ ๋ณ๊ฒฝ๋ ๋ ์๋ฆผ์ ๋ณด๋ผ ์ ์์ผ๋ฉฐ, ์ปค๋๊ณผ ์ฌ์ฉ์ ๊ณต๊ฐ ๊ฐ์ ์ํธ ์์ฉ์ ๋จ์ํํ๊ณ , ๋๊ธฐํํด์ผ ํ๋ ๋ช ๋ช ๋ ๋ชฉ๋ก์ ์๋ฅผ ์ค์ผ ์ ์์ต๋๋ค. - ์์ง ๋คํธ์ํฌ ์ฅ๋น(๋ฒํผ๋ธ๋กํธ)์ ๋ํ ์ค๊ฐ ํจํท ๋ฒํผ๋ง์ ๋ถ์ ์ ์ธ ์ํฅ์ ์ค์ด๋ ๊ฒ์ ๋ชฉํ๋ก ํ๋ FQ-PIE(Flow Queue PIE) ๋คํธ์ํฌ ๋๊ธฐ์ด ๊ด๋ฆฌ ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌํ์ด ์ถ๊ฐ๋์์ต๋๋ค. FQ-PIE๋ ์ผ์ด๋ธ ๋ชจ๋์ด ์๋ ์์คํ ์์ ์ฌ์ฉ๋ ๋ ๋์ ํจ์จ์ฑ์ ๋ณด์ฌ์ค๋๋ค.
-
- ๋์คํฌ ํ์ ์์คํ
, I/O ๋ฐ ํ์ผ ์์คํ
- Btrfs ํ์ผ ์์คํ
์ ๊ฒฝ์ฐ
์ถ๊ฐ DISCARD ์์ ์ ๋น๋๊ธฐ ๊ตฌํ(๋ ์ด์ ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ ์ฅํ ํ์๊ฐ ์๋ ํด์ ๋ ๋ธ๋ก ํ์) ์ฒ์์๋ DISCARD ์์ ์ด ๋๊ธฐ์ ์ผ๋ก ์ํ๋์์ผ๋ฏ๋ก ํด๋น ๋ช ๋ น์ด ์๋ฃ๋๊ธฐ๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ๋๋ผ์ด๋ธ๋ก ์ธํด ์ฑ๋ฅ ์ ํ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. ๋น๋๊ธฐ์ ๊ตฌํ์ ์ฌ์ฉํ๋ฉด ๋๋ผ์ด๋ธ๊ฐ DISCARD๋ฅผ ์๋ฃํ ๋๊น์ง ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์ด ์์ ์ ์ํํ ์ ์์ต๋๋ค. - XFS์์
์ํ ์ด์ 32๋นํธ ์๊ฐ ์นด์ดํฐ(time_t ์ ํ์ด time64_t๋ก ๋์ฒด๋จ)๋ฅผ ์ฌ์ฉํ ์ฝ๋๋ฅผ ์ ๋ฆฌํ๋ฉด 2038 ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค. 32๋นํธ ํ๋ซํผ์์ ๋ฐ์ํ ์ค๋ฅ ๋ฐ ๋ฉ๋ชจ๋ฆฌ ์์์ ์์ ํ์ต๋๋ค. ํ์ฅ๋ ์์ฑ์ ์ฌ์ฉํ๋๋ก ์ฝ๋๊ฐ ์ฌ์์ ๋์์ต๋๋ค. - ext4 ํ์ผ ์์คํ
์ผ๋ก
์ ๋ ฅ ์ฝ๊ธฐ ๋ฐ ์ฐ๊ธฐ ์์ ์ค inode ์ ๊ธ ์ฒ๋ฆฌ์ ๊ด๋ จ๋ ์ฑ๋ฅ ์ต์ ํ. Direct I/O ๋ชจ๋์์ ๋ค์ ์ฐ๊ธฐ ์ฑ๋ฅ์ด ํฅ์๋์์ต๋๋ค. ๋ฌธ์ ์ง๋จ์ ๋จ์ํํ๊ธฐ ์ํด ์ฒซ ๋ฒ์งธ ๋ฐ ๋ง์ง๋ง ์ค๋ฅ ์ฝ๋๊ฐ ์ํผ๋ธ๋ก์ ์ ์ฅ๋ฉ๋๋ค. - F2FS ํ์ผ ์์คํ
์์
๊ตฌํ ๋ฐ์ดํฐ๋ฅผ ์์ถ๋ ํํ๋ก ์ ์ฅํ๋ ๋ฅ๋ ฅ. ๊ฐ๋ณ ํ์ผ์ด๋ ๋๋ ํฐ๋ฆฌ์ ๊ฒฝ์ฐ "chattr +c file" ๋๋ "chattr +c dir; ๋ช ๋ น์ ์ฌ์ฉํ์ฌ ์์ถ์ ํ์ฑํํ ์ ์์ต๋๋ค. ๋๋ ํ ๋ฆฌ/ํ์ผ์ ํฐ์นํ์ธ์." ์ ์ฒด ํํฐ์ ์ ์์ถํ๋ ค๋ฉด ๋ง์ดํธ ์ ํธ๋ฆฌํฐ์์ "-o ์์ถ_ํ์ฅ=ext" ์ต์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. - ์ปค๋์๋ ํ์ผ ์์คํ
์ด ํฌํจ๋์ด ์์ต๋๋ค.
์กดFS , ๊ตฌ์ญํ๋ ์ ์ฅ ์ฅ์น์ ๋ํ ํ์ ์์ค ์์ ์ ๋จ์ํํฉ๋๋ค. ์กด ๋๋ผ์ด๋ธ(Zoned Drive)๋ ํ๋ ์๊ธฐ ๋์คํฌ ๋๋ NVMe SSD์ ์ฅ์น๋ฅผ ์๋ฏธํ๋ฉฐ, ์ ์ฅ ๊ณต๊ฐ์ ๋ธ๋ก ๋๋ ์นํฐ ๊ทธ๋ฃน์ ๊ตฌ์ฑํ๋ ์กด์ผ๋ก ๋๋์ด์ ธ ์์ผ๋ฉฐ, ์์ฐจ์ ์ธ ๋ฐ์ดํฐ ์ถ๊ฐ๋ง ํ์ฉ๋์ด ์ ์ฒด ๋ธ๋ก ๊ทธ๋ฃน์ ์ ๋ฐ์ดํธํฉ๋๋ค. FS ZoneFS๋ Western Digital์์ ๊ฐ๋ฐํ์ผ๋ฉฐ ๋๋ผ์ด๋ธ์ ๊ฐ ์์ญ์ ์นํฐ ๋ฐ ๋ธ๋ก ์์ค์์ ์กฐ์ํ์ง ์๊ณ ์์ ๋ชจ๋๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ ๋ณ๋์ ํ์ผ๊ณผ ์ฐ๊ฒฐํฉ๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ด ioctl์ ์ฌ์ฉํ์ฌ ๋ธ๋ก ์ฅ์น์ ์ง์ ์ก์ธ์คํ๋ ๋์ ํ์ผ API๋ฅผ ์ฌ์ฉํ ์ ์๋๋ก ํฉ๋๋ค. - NFS์์๋ UDP๋ฅผ ํตํ ํํฐ์ ๋ง์ดํธ๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ๋นํ์ฑํ๋์ด ์์ต๋๋ค. NFS 4.2 ์ฌ์์ ์ ์๋ ์๋ฒ ๊ฐ์ ํ์ผ์ ์ง์ ๋ณต์ฌํ๋ ๊ธฐ๋ฅ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. ์๋ฒ ์ฅ์ ์ ์บ์๋ ์์ฑ ๊ฐ์ ์ฌ์ฉํ ์ ์๋ ์๋ก์ด ๋ง์ดํธ ์ต์ "softreval"์ ์ถ๊ฐํ์ต๋๋ค. ์๋ฅผ ๋ค์ด ์ด ์ต์ ์ ์ง์ ํ๋ฉด ์๋ฒ๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ๋ ํ์๋ NFS ํํฐ์ ์ ๊ฒฝ๋ก๋ฅผ ๋ฐ๋ผ ์ด๋ํ๊ณ ์บ์์ ์ ์ฅ๋ ์ ๋ณด์ ์ก์ธ์คํ ์ ์์ต๋๋ค.
-
์ค์ ๊ฐ๋ณ ํ์ผ์ ๋ฌด๊ฒฐ์ฑ๊ณผ ์ธ์ฆ์ ๋ชจ๋ํฐ๋งํ๋ ๋ฐ ์ฌ์ฉ๋๋ fs-verity ๋ฉ์ปค๋์ฆ์ ์ฑ๋ฅ ์ต์ ํ. Merkle ํด์ ํธ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ์์ฐจ ์ฝ๊ธฐ ์๋๊ฐ ํฅ์๋์์ต๋๋ค. ์บ์์ ๋ฐ์ดํฐ๊ฐ ์์ ๋ FS_IOC_ENABLE_VERITY์ ์ฑ๋ฅ์ด ์ต์ ํ๋์์ต๋๋ค. (๋ฐ์ดํฐ๊ฐ ์๋ ํ์ด์ง๋ฅผ ์ ์ ์ ์ผ๋ก ์ฝ๋ ๊ธฐ๋ฅ์ด ์ ์ฉ๋์์ต๋๋ค.)
- Btrfs ํ์ผ ์์คํ
์ ๊ฒฝ์ฐ
- ๊ฐ์ํ ๋ฐ ๋ณด์
- ์คํ ์ค์ SELinux ๋ชจ๋์ ๋นํ์ฑํํ๋ ๊ธฐ๋ฅ์ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ผ๋ฉฐ ์ด๋ฏธ ํ์ฑํ๋ SELinux๋ฅผ ์ธ๋ก๋ํ๋ ๊ฒ์ ์์ผ๋ก ๊ธ์ง๋ฉ๋๋ค. SELinux๋ฅผ ๋นํ์ฑํํ๋ ค๋ฉด ์ปค๋ ๋ช ๋ น์ค์ "selinux=0" ๋งค๊ฐ๋ณ์๋ฅผ ์ ๋ฌํด์ผ ํฉ๋๋ค.
-
์ถ๊ฐ๋จ ์๊ฐ์ ๋ํ ๋ค์์คํ์ด์ค(์๊ฐ ๋ค์์คํ์ด์ค)๋ฅผ ์ง์ํ์ฌ ์์คํ ์๊ณ์ ์ํ๋ฅผ ์ปจํ ์ด๋(CLOCK_REALTIME,
CLOCK_MONOTONIC, CLOCK_BOOTTIME), ์ปจํ ์ด๋์์ ์์ ์ ์๊ฐ์ ์ฌ์ฉํ๊ณ , ์ปจํ ์ด๋๋ฅผ ๋ค๋ฅธ ํธ์คํธ๋ก ๋ง์ด๊ทธ๋ ์ด์ ํ ๋ CLOCK_MONOTONIC ๋ฐ CLOCK_BOOTTIME ํ๋ ๊ฐ์ด ๋ณ๊ฒฝ๋์ง ์์ ์ํ๋ก ์ ์ง๋๋์ง ํ์ธํ์ธ์(์ ์ ๋ชจ๋ ์ฌ๋ถ๋ฅผ ๊ณ ๋ คํ๊ฑฐ๋ ๊ณ ๋ คํ์ง ์๊ณ ๋ก๋ ํ ์๊ฐ์ ๊ณ ๋ คํ์ธ์). ). - /dev/random ์ฐจ๋จ ํ์ด ์ ๊ฑฐ๋์์ต๋๋ค. /dev/random์ ๋์์ ํ ์ด๊ธฐํ ํ ์ํธ๋กํผ ์ฐจ๋จ์ ๋ฐฉ์งํ๋ค๋ ์ ์์ /dev/urandom๊ณผ ์ ์ฌํฉ๋๋ค.
- ์ฝ์ด ์ปค๋์๋ VirtualBox๋ฅผ ์คํํ๋ ๊ฒ์คํธ ์์คํ ์ด ํธ์คํธ ํ๊ฒฝ(VirtualBox ๊ณต์ ํด๋)์์ ๋ด๋ณด๋ธ ๋๋ ํฐ๋ฆฌ๋ฅผ ๋ง์ดํธํ ์ ์๋๋ก ํ๋ ๋๋ผ์ด๋ฒ๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.
- BPF ํ์ ์์คํ
์ ํจ์น ์ธํธ๊ฐ ์ถ๊ฐ๋์์ต๋๋ค(
BPF ๋์คํจ์ฒ ), Spectre V2 ํด๋์ค ๊ณต๊ฒฉ์ผ๋ก๋ถํฐ ๋ณดํธํ๊ธฐ ์ํด Retpoline ๋ฉ์ปค๋์ฆ์ ์ฌ์ฉํ ๋ BPF ํ๋ก๊ทธ๋จ๊ณผ ๊ด๋ จ๋ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ ๋ BPF ํ๋ก๊ทธ๋จ์ ํธ์ถํ๋ ํจ์จ์ฑ์ ๋์ผ ์ ์์ต๋๋ค(์๋ฅผ ๋ค์ด ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ XDP ํธ๋ค๋ฌ ํธ์ถ ์๋๋ฅผ ๋์ผ ์ ์์ต๋๋ค). ๋คํธ์ํฌ ํจํท์ด ๋์ฐฉํจ). - AMD APU์ ๋ด์ฅ๋ TEE(Trusted Execution Environment)๋ฅผ ์ง์ํ๋ ๋๋ผ์ด๋ฒ๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
- ๋ฉ๋ชจ๋ฆฌ ๋ฐ ์์คํ
์๋น์ค
- BPF์๋ ์ ์ญ ํจ์์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. BPF ํ๋ก๊ทธ๋จ์ ํฌํจ๋ ์ ์๋ ๊ธฐ๋ฅ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํ ์ง์์ ์ถ๊ฐํ๊ธฐ ์ํ ๊ณํ์ ์ผํ์ผ๋ก ๊ฐ๋ฐ์ด ์ํ๋๊ณ ์์ต๋๋ค. ๋ค์ ๋จ๊ณ๋ ์ฌ์ฉ ์ค์ธ ๊ธฐ์กด ์ ์ญ ํจ์๋ฅผ ๊ต์ฒดํ๋ ๊ฒ์ ํฌํจํ์ฌ ์ ์ญ ํจ์๋ฅผ ๋ก๋ํ ์ ์๋ ๋์ ํ์ฅ์ ์ง์ํ๋ ๊ฒ์ ๋๋ค. BPF ํ์ ์์คํ ์ ๋ํ ๋ฐฐ์น ๋ชจ๋์์์ ์คํ์ ์ง์ํ๋ ๋งต ์์ (์๊ตฌ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋ฐ ์ฌ์ฉ)์ ๋ณํ์ ๋ํ ์ง์์ ์ถ๊ฐํฉ๋๋ค.
-
์ถ๊ฐ "cpu_cooling" ์ฅ์น๋ฅผ ์ฌ์ฉํ๋ฉด ๊ณผ์ด๋ CPU๋ฅผ ์งง์ ์๊ฐ ๋์ ์ ํด ์ํ๋ก ๋์ ๋๊ฐ์ํฌ ์ ์์ต๋๋ค. - ์์คํ
ํธ์ถ์ด ์ถ๊ฐ๋์์ต๋๋ค.
openat2() , ์ด๋ ํ์ผ ๊ฒฝ๋ก ํ์ธ์ ์ ํํ๊ธฐ ์ํ ์ถ๊ฐ ํ๋๊ทธ ์ธํธ๋ฅผ ์ ๊ณตํฉ๋๋ค(๋ง์ดํธ ์ง์ ๊ต์ฐจ ๊ธ์ง, ๊ธฐํธ ๋งํฌ, ๋งค์ง ๋งํฌ(/proc/PID/fd), โ../โ ๊ตฌ์ฑ ์์). - ๊ฐ๋ ฅํ๊ณ ์๋์ง ํจ์จ์ฑ์ด ๋จ์ด์ง๋ CPU ์ฝ์ด๋ฅผ ํ๋์ ์นฉ์ ๊ฒฐํฉํ big.LITTLE ์ํคํ
์ฒ ๊ธฐ๋ฐ์ ์ด๊ธฐ์ข
์์คํ
์ ๊ฒฝ์ฐ ์ค์๊ฐ ์์
์ ์คํํ ๋ uclamp_min ๋งค๊ฐ๋ณ์๊ฐ ์ค์ ๋ฉ๋๋ค(
์ถ์ฐ ํ ์ปค๋ 5.3์๋ ๋ก๋๋ฅผ ๋ณดํธํ๋ ๋ฉ์ปค๋์ฆ์ด ์์ต๋๋ค. ์ด ๋งค๊ฐ๋ณ์๋ ์ค์ผ์ค๋ฌ๊ฐ ์ถฉ๋ถํ ์ฑ๋ฅ์ ๊ฐ์ถ CPU ์ฝ์ด์ ์์ ์ ๋ฐฐ์นํ๋๋ก ๋ณด์ฅํฉ๋๋ค. - ์ปค๋์ ๋ค์์์ ํด๋ฐฉ๋์์ต๋๋ค.
2038๋ ์ ๋ฌธ์ . ํ๊ธฐ์ ์ธ ์๊ฐ ์นด์ดํฐ์ ๋ํด 32๋นํธ(์๋ช ๋ int) ์ ํ time_t๋ฅผ ์ฌ์ฉํ๋ ๋ง์ง๋ง ๋๋จธ์ง ํธ๋ค๋ฌ๋ฅผ ๋์ฒดํ์ต๋๋ค. ์ด ํธ๋ค๋ฌ๋ 1970๋ ๋ณด๊ณ ์๋ฅผ ๊ณ ๋ คํ์ฌ 2038๋ ์ ์ค๋ฒํ๋ก๋์ด์ผ ํฉ๋๋ค. - ๋น๋๊ธฐ I/O ์ธํฐํ์ด์ค์ ์ง์์ ์ธ ๊ฐ์
io_uring ์ด๋์ ๊ณต๋ ์๋ก์ด ์์ ์ง์: IORING_OP_FALLOCATE(๋น ์์ญ ์์ฝ), IORING_OP_OPENAT,
IORING_OP_OPENAT2,
IORING_OP_CLOSE(ํ์ผ ์ด๊ธฐ ๋ฐ ๋ซ๊ธฐ),
IORING_OP_FILES_UPDATE(๋น ๋ฅธ ์ก์ธ์ค ๋ชฉ๋ก์์ ํ์ผ ์ถ๊ฐ ๋ฐ ์ ๊ฑฐ),
IORING_OP_STATX(ํ์ผ ์ ๋ณด ์์ฒญ),
IORING_OP_READ,
IORING_OP_WRITE(IORING_OP_READV ๋ฐ IORING_OP_WRITEV์ ๋จ์ํ๋ ์ ์ฌ์ฒด),
IORING_OP_FADVISE,
IORING_OP_MADVISE(posix_fadvise ๋ฐ madvise ํธ์ถ์ ๋น๋๊ธฐ ๋ณํ), IORING_OP_SEND,
IORING_OP_RECV(๋คํธ์ํฌ ๋ฐ์ดํฐ ์ ์ก ๋ฐ ์์ ),
IORING_OP_EPOLL_CTL(epoll ํ์ผ ์ค๋ช ์์ ๋ํ ์์ ์ํ) - ์์คํ
ํธ์ถ์ด ์ถ๊ฐ๋์์ต๋๋ค.
pidfd_getfd() , ํ๋ก์ธ์ค๊ฐ ๋ค๋ฅธ ํ๋ก์ธ์ค์์ ์ด๋ฆฐ ํ์ผ์ ๋ํ ํ์ผ ์ค๋ช ์๋ฅผ ๊ฒ์ํ ์ ์๋๋ก ํฉ๋๋ค. -
๊ตฌํ ๋ช ๋ น์ค ์ต์ ์ธ์๋ ์ค์ ํ์ผ์ ํตํด ์ปค๋ ๋งค๊ฐ๋ณ์๋ฅผ ๊ฒฐ์ ํ ์ ์๋ "bootconfig" ๋ฉ์ปค๋์ฆ. initramfs ์ด๋ฏธ์ง์ ์ด๋ฌํ ํ์ผ์ ์ถ๊ฐํ๋ ค๋ฉด bootconfig ์ ํธ๋ฆฌํฐ๊ฐ ์ ์๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด ์ด ๊ธฐ๋ฅ์ ๋ถํ ์ kprobe๋ฅผ ๊ตฌ์ฑํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค. -
์ฌ์ค๊ณ ๋ช ๋ช ๋์ง ์์ ํ์ดํ์์ ๋ฐ์ดํฐ ์ฐ๊ธฐ ๋ฐ ์ฝ๊ธฐ๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ๋ฉ์ปค๋์ฆ์ ๋๋ค. ์ด๋ฌํ ๋ณํ๋ก ์ธํด ๋๊ท๋ชจ ํ๋ก์ ํธ์ ๋ณ๋ ฌ ์กฐ๋ฆฝ๊ณผ ๊ฐ์ ์์ ์๋๊ฐ ๋นจ๋ผ์ก์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ฒ์ 4.2.1์์ ์์ ๋ 4.3 ๋ฆด๋ฆฌ์ค์ ๋ฒ๊ทธ๋ก ์ธํด ์ต์ ํ๋ก ์ธํด GNU make์์ ๊ฒฝ์ ์กฐ๊ฑด์ด ๋ฐ์ํ ์ ์์ต๋๋ค. - ์์คํ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ถ์กฑํ ๋ ์ ํ์ ๋ฐ์์๋ ์ ๋๋ ๋ฉ๋ชจ๋ฆฌ ์๋ ํ๋ก์ธ์ค๋ฅผ ํ์ํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ PR_SET_IO_FLUSHER ํ๋๊ทธ๋ฅผ prctl()์ ์ถ๊ฐํ์ต๋๋ค.
- Android์์ ์ฌ์ฉ๋๋ ION ๋ฉ๋ชจ๋ฆฌ ๋ถ๋ฐฐ ์์คํ
์ ๊ธฐ๋ฐ์ผ๋ก ํ์ ์์คํ
์ด ๊ตฌํ๋์์ต๋๋ค.
dma-buf ํ ์ด๋ฅผ ํตํด ๋๋ผ์ด๋ฒ, ์ ํ๋ฆฌ์ผ์ด์ ๋ฐ ๋ค์ํ ํ์ ์์คํ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ๊ณต์ ํ๊ธฐ ์ํ DMA ๋ฒํผ ํ ๋น์ ์ ์ดํ ์ ์์ต๋๋ค.
- ํ๋์จ์ด ์ํคํ
์ฒ
- ARMv0์ ๋ฑ์ฅํ๊ณ CPU์์ ๋ช ๋ น์ด์ ์ถ์ธก ์คํ๊ณผ ๊ด๋ จ๋ ๊ณต๊ฒฉ์ผ๋ก๋ถํฐ ๋ณดํธํ ์ ์๋ E8.5PD ํ์ฅ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. E0PD ๊ธฐ๋ฐ ๋ณดํธ๋ KPTI(Kernel Page Table Isolation) ๋ณดํธ๋ณด๋ค ์ค๋ฒํค๋๊ฐ ๋ฎ์ต๋๋ค.
- ARMv8.5 ์ํคํ ์ฒ ๊ธฐ๋ฐ ์์คํ ์ ๊ฒฝ์ฐ RNG ๋ช ๋ น์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์ด ํ๋์จ์ด ์์ฌ ๋์ ์์ฑ๊ธฐ์ ๋ํ ์ก์ธ์ค๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ปค๋์์๋ ์ปค๋ ์ ๊ณต ์์ฌ ๋์ ์์ฑ๊ธฐ๋ฅผ ์ด๊ธฐํํ ๋ RNG ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ์ํธ๋กํผ๋ฅผ ์์ฑํฉ๋๋ค.
- ์ปค๋์ ์ถ๊ฐ๋ MPX(Memory Protection Extensions)์ ๋ํ ์ง์ ์ ๊ฑฐ
3.19 ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ๊ฒฝ๊ณ๊ฐ ์กด์ค๋๋์ง ํ์ธํ๊ธฐ ์ํด ํฌ์ธํฐ ๊ฒ์ฌ๋ฅผ ๊ตฌ์ฑํ ์ ์์ต๋๋ค. ์ด ๊ธฐ์ ์ ์ปดํ์ผ๋ฌ์์ ๋๋ฆฌ ์ฌ์ฉ๋์ง ์์์ผ๋ฉฐ GCC์์ ์ ๊ฑฐ๋์์ต๋๋ค. - RISC-V ์ํคํ ์ฒ์ ๊ฒฝ์ฐ ๋ฉ๋ชจ๋ฆฌ ์์ ์ ์ค๋ฅ๋ฅผ ์๋ณํ๋ ๋ฐ ๋์์ด ๋๋ KASan(Kernel address sanitizer) ๋๋ฒ๊น ๋๊ตฌ์ ๋ํ ์ง์์ด ๊ตฌํ๋์์ต๋๋ค.
- ะะฑะพััะดะพะฒะฐะฝะธะต
- ์ฌ์ ์ง์ ๊ตฌํ
USB 4.0 , Thunderbolt 3 ํ๋กํ ์ฝ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ฉฐ ์ต๋ 40Gbps์ ์ฒ๋ฆฌ๋์ ์ ๊ณตํ๋ ๋์์ USB 2.0 ๋ฐ USB 3.2์์ ํ์ ํธํ์ฑ์ ์ ์งํฉ๋๋ค. ๋น์ ํ์๋ฉดThunderbolt USB 4.0 ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ๋ฉด ์ปค๋ฅํฐ๊ฐ ์๋ ๋จ์ผ ์ผ์ด๋ธ์ ํตํด ๋ค์ํ ํ๋กํ ์ฝ์ ํฐ๋๋งํ ์ ์์ต๋๋ค.์ ํ -C , PCIe, ๋์คํ๋ ์ด ํฌํธ ๋ฐ USB 3.x๋ฅผ ๋น๋กฏํ์ฌ ํธ์คํธ ๊ฐ์ ๋คํธ์ํฌ ๋งํฌ ๊ตฌ์ฑ๊ณผ ๊ฐ์ ํ๋กํ ์ฝ์ ์ํํธ์จ์ด ๊ตฌํ์ด ํฌํจ๋ฉ๋๋ค. ๊ตฌํ์ Linux ์ปค๋์ ์ด๋ฏธ ํฌํจ๋ Thunderbolt ๋๋ผ์ด๋ฒ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ฉฐ USB4 ํธํ ํธ์คํธ ๋ฐ ์ฅ์น์ ์๋ํ๋๋ก ์กฐ์ ํฉ๋๋ค. ๋ํ ๋ณ๊ฒฝ ์ฌํญ์ ๋จ์ผ ์ปค๋ฅํฐ๋ฅผ ํตํด ์ฌ๋ฌ ์ฅ์น๋ฅผ ์ฐ๊ฒฐํ๊ธฐ ์ํ ํฐ๋์ ์์ฑํ๋ ์ฐ๊ฒฐ ๊ด๋ฆฌ์์ ์ํํธ์จ์ด ๊ตฌํ์ Thunderbolt 3 ์ฅ์น์ ๋ํ ์ง์์ ์ถ๊ฐํฉ๋๋ค. - amdgpu ๋๋ผ์ด๋ฒ์์
์ถ๊ฐ HDCP 2.x(๊ณ ๋์ญํญ ๋์งํธ ์ฝํ ์ธ ๋ณดํธ) ๋ณต์ฌ ๋ฐฉ์ง ๊ธฐ์ ์ ๋ํ ์ด๊ธฐ ์ง์. Raven 2 ๊ธฐ๋ฐ AMD Pollock ASIC ์นฉ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. Renoir ๋ฐ Navi ์ ํ๊ตฐ์ ๋ํด GPU๋ฅผ ์ฌ์ค์ ํ๋ ๊ธฐ๋ฅ์ด ๊ตฌํ๋์์ต๋๋ค. - Intel ๋น๋์ค ์นด๋์ฉ DRM ๋๋ผ์ด๋ฒ
์ถ๊ฐ Ice Lake ๋ฐ Tiger Lake ๋ง์ดํฌ๋ก์ํคํ ์ฒ ๊ธฐ๋ฐ ์นฉ์ ๋ํ DSI VDSC ์ง์, LMEM mmap(์ฅ์น ๋ก์ปฌ ๋ฉ๋ชจ๋ฆฌ) ๊ตฌํ, VBT(๋น๋์ค BIOS ํ ์ด๋ธ) ๊ตฌ๋ฌธ ๋ถ์ ๊ฐ์ , Coffee Lake ์นฉ์ ๋ํ HDCP 2.2 ์ง์์ด ๊ตฌํ๋์์ต๋๋ค. - amdkfd ๋๋ผ์ด๋ฒ ์ฝ๋(Fiji, Tonga, Polaris์ ๊ฐ์ ๊ฐ๋ณ GPU์ฉ)๋ฅผ amdgpu ๋๋ผ์ด๋ฒ์ ํตํฉํ๋ ์์ ์ด ๊ณ์๋์์ต๋๋ค.
- k10temp ๋๋ผ์ด๋ฒ๊ฐ ์ฌ์์ ๋์ด AMD Zen CPU์ ๋ํ ์ ์ ๋ฐ ์ ๋ฅ ๋งค๊ฐ๋ณ์ ํ์์ ๋ํ ์ง์์ ๋ฌผ๋ก Zen ๋ฐ Zen 2 CPU์ ์ฌ์ฉ๋๋ ์จ๋ ์ผ์์ ํ์ฅ๋ ์ ๋ณด๋ ์ถ๊ฐ๋์์ต๋๋ค.
- ๋๋ณด๋๋ผ์ด๋ฒ์์๋
์ถ๊ฐ Turing ๋ง์ดํฌ๋ก์ํคํ ์ฒ(GeForce RTX 2000)๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ NVIDIA GPU์ ๋ํด ๊ฒ์ฆ๋ ํ์จ์ด ๋ก๋ฉ ๋ชจ๋๋ฅผ ์ง์ํฉ๋๋ค. ์ด๋ฅผ ํตํด ์ด๋ฌํ ์นด๋์ ๋ํ 3D ๊ฐ์ ์ง์์ด ๊ฐ๋ฅํด์ก์ต๋๋ค(NVIDIA ๋์งํธ ์๋ช ์ด ์๋ ๊ณต์ ํ์จ์ด๋ฅผ ๋ค์ด๋ก๋ํด์ผ ํจ). TU10x ๊ทธ๋ํฝ ์์ง์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. HD ์ค๋์ค ๊ด๋ จ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค. - DisplayPort MST(Multi-Stream Transport)๋ฅผ ํตํด ์ ์ก๋ ๋ ๋ฐ์ดํฐ ์์ถ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ์ ๋๋ผ์ด๋ฒ ์ถ๊ฐ "
ath11k ยป 802.11ax๋ฅผ ์ง์ํ๋ Qualcomm ๋ฌด์ ์นฉ์ ๊ฒฝ์ฐ.
์ด ๋๋ผ์ด๋ฒ๋ mac80211 ์คํ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ฉฐ ์ก์ธ์ค ํฌ์ธํธ, ์ํฌ์คํ ์ด์ ๋ฐ ๋ฉ์ ๋คํธ์ํฌ ๋ ธ๋ ๋ชจ๋๋ฅผ ์ง์ํฉ๋๋ค. - sysfs๋ฅผ ํตํด ์ต์ ํ๋ ๋๋ผ์ด๋ธ ๋ฐ SSD์ ์ฌ์ฉ๋๋ ์ฝ๊ธฐ ๊ฐ๋ฅํ ์จ๋ ์ผ์ ํ๋ ๊ฐ์ ๋ํ ์ก์ธ์ค๊ฐ ์ ๊ณต๋ฉ๋๋ค.
-
๊ธฐ์ฌ ์ฝ๋ ์ ๊ฑฐ๋ฅผ ๋ชฉํ๋ก ALSA ์ฌ์ด๋ ์์คํ ์ ํฐ ๋ณํ๊ฐ ์๊ฒผ์ต๋๋ค.2038๋ ์ ๋ฌธ์ (snd_pcm_mmap_status ๋ฐ snd_pcm_mmap_control ์ธํฐํ์ด์ค์์ 32๋นํธ time_t ์ ํ์ ์ฌ์ฉ์ ํผํ์ญ์์ค). ์๋ก์ด ์ค๋์ค ์ฝ๋ฑ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
ํ์ปด WCD9340/WCD9341, ๋ฆฌ์ผํ RT700, RT711, RT715, RT1308, Ingenic JZ4770. -
์ถ๊ฐ๋จ LCD ํจ๋์ฉ ๋๋ผ์ด๋ฒ Logic PD 28, Jimax8729d MIPI-DSI, igenic JZ4770, Sony acx424AKP, Leadtek LTK500HD1829, Xinpeng XPP055C272, AUO B116XAK01, GiantPlus GPM940B0,
BOE NV140FHM-N49,
์ฌํ ์ฆ SAT050AT40H12R2,
์คํ LS020B1DD01D. -
์ถ๊ฐ๋จ ARM ๋ณด๋ ๋ฐ Gen1 ํ๋ซํผ ์ง์ Amazon Echo(OMAP3630 ๊ธฐ๋ฐ), Samsung Galaxy S III mini(GT-I8190), Allwinner Emlid Neutis, Libre Computer ALL-H3-IT, PineH64 Model B, Aibretech Amlogic GX PC,
Armada SolidRun Clearfog GTR, NXPGateworks GW59xx,
Tolino Shine 3 eBook ๋ฆฌ๋,
Embedded Artists COM(i.MX7ULP), SolidRun Clearfog CX/ITX ๋ฐ HoneyComb(LX2160A), Google Coral Edge TPU(i.MX8MQ),
Rockchip Radxa Dalang ์บ๋ฆฌ์ด, Radxa Rock Pi N10, VMARC RK3399Pro SOM
ST Ericsson HREF520, Inforce 6640, SC7180 IDP, Atmel/Microchip AM9X60(ARM926 SoC, Kizboxmini), ST stm32mp15, AM3703/AM3715/DM3725, ST Ericsson ab8505, Unisoc SC9863A, Qualcomm SC7180. Raspberry Pi 4์ ์ฌ์ฉ๋๋ PCIe ์ปจํธ๋กค๋ฌ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ์ฌ์ ์ง์ ๊ตฌํ
๋์์ ๋ผํด ์๋ฉ๋ฆฌ์นด ์์ ์ํํธ์จ์ด ์ฌ๋จ(Latin American Free Software Foundation)
ะฒะฐัะธะฐะฝั
์ถ์ฒ : opennet.ru