๋ ๋ฌ ๊ฐ์ ๊ฐ๋ฐ ๋์ Linus Torvalds๋
์ ๋ฒ์ ์๋ 15100๋ช
์ ๊ฐ๋ฐ์๊ฐ ์์ ํ 1882๊ฐ์ ์์ ์ฌํญ์ด ํฌํจ๋์ด ์์ต๋๋ค.
ํจ์น ํฌ๊ธฐ - 62MB(๋ณ๊ฒฝ ์ฌํญ์ด 30889๊ฐ ํ์ผ์ ์ํฅ์ ๋ฏธ์น๊ณ 625094์ค์ ์ฝ๋๊ฐ ์ถ๊ฐ๋์์ผ๋ฉฐ 531864์ค์ด ์ญ์ ๋์์ต๋๋ค). 45์ ์ ์๋ ์ ์ฒด ๋ด์ฉ์ ์ฝ 5.2%
๋ณ๊ฒฝ ์ฌํญ์ ์ฅ์น ๋๋ผ์ด๋ฒ์ ๊ด๋ จ๋์ด ์์ผ๋ฉฐ ๋ณ๊ฒฝ ์ฌํญ ์ค ์ฝ 21%๋
ํ๋์จ์ด ์ํคํ
์ฒ ๊ด๋ จ ์ฝ๋ ์
๋ฐ์ดํธ์ ๋ํ ํ๋, 12%
๋คํธ์ํฌ ์คํ ๊ด๋ จ, ํ์ผ ์์คํ
๊ด๋ จ 3%, ๋ด๋ถ ๊ด๋ จ 3%
์ปค๋ ํ์ ์์คํ
. ์ ์ฒด ๋ณ๊ฒฝ ์ฌํญ ์ค Intel 12.4%, Red Hat 6.3%, Google 5.4%, AMD 4.0%, SUSE 3.1%, IBM 3%, Huawei 2.7%, Linaro 2.7%, ARM 2.2%๊ฐ ์ค๋น๋์์ต๋๋ค. , 1.6% - ์ค๋ผํด.
- ๋์คํฌ ํ์ ์์คํ
, I/O ๋ฐ ํ์ผ ์์คํ
- Ext4์ ์ถ๊ฐ๋จ
์ง์ ์๋ก์ด ์์ฑ "+F"(EXT4_CASEFOLD_FL)๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ๋ณ ๋น ๋๋ ํ ๋ฆฌ์ ๊ด๋ จํด์๋ง ํ์ฑํ๋๋ ํ์ผ ์ด๋ฆ์ ๋ฌธ์ ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ถํ์ง ์๊ณ ์๋ํฉ๋๋ค. ์ด ์์ฑ์ด ๋๋ ํ ๋ฆฌ์ ์ค์ ๋๋ฉด ๋ด๋ถ์ ํ์ผ ๋ฐ ํ์ ๋๋ ํ ๋ฆฌ์ ๋ํ ๋ชจ๋ ์์ ์ ๋์๋ฌธ์๋ฅผ ๊ณ ๋ คํ์ง ์๊ณ ์ํ๋ฉ๋๋ค. ํ์ผ์ ๊ฒ์ํ๊ณ ์ด ๋ ๋์๋ฌธ์๋ ๋ฌด์๋ฉ๋๋ค(์: Test.txt ํ์ผ, ํด๋น ๋๋ ํฐ๋ฆฌ์ test.txt์ test.TXT๋ ๋์ผํ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋ฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ผ ์์คํ ์ "chattr +F" ์์ฑ์ด ์๋ ๋๋ ํฐ๋ฆฌ๋ฅผ ์ ์ธํ๊ณ ๊ณ์ํด์ ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ถํฉ๋๋ค. - ๋ฌธ์์ด ๋น๊ต ๋ฐ โโ์ ๊ทํ ์์ ์ ์ฌ์ฉ๋๋ ํ์ผ ์ด๋ฆ์ UTF-8 ๋ฌธ์ ์ฒ๋ฆฌ ๊ธฐ๋ฅ์ด ํตํฉ๋์์ต๋๋ค.
- XFS๋ ํ์ผ ์์คํ ์ํ ๋ชจ๋ํฐ๋ง์ ์ํ ์ธํ๋ผ์ ์ํ ์ฟผ๋ฆฌ๋ฅผ ์ํ ์๋ก์ด ioctl์ ์ถ๊ฐํฉ๋๋ค. ์ํผ๋ธ๋ก ์นด์ดํฐ๋ฅผ ์จ๋ผ์ธ์ผ๋ก ํ์ธํ๊ธฐ ์ํ ์คํ์ ๊ธฐ๋ฅ์ด ๊ตฌํ๋์์ต๋๋ค.
- ์๋ก์ด ๋ชจ๋ ์ฅ์น ๋งคํผ "๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
DM ๋จผ์ง "๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฏธ๋์ด์ ๋ถ๋ ๋ธ๋ก ๋ชจ์์ด๋ ๋์คํฌ์์ ์ฝ์ ๋ ์ค๋ฅ๋ฅผ ์๋ฎฌ๋ ์ด์ ํ ์ ์์ต๋๋ค. ์ด ๋ชจ๋์ ์ฌ์ฉํ๋ฉด ์ค๋ฅ ๋ฐ์ ์ ์ ํ๋ฆฌ์ผ์ด์ ๋ฐ ๋ค์ํ ์คํ ๋ฆฌ์ง ์์คํ ์ ๋๋ฒ๊น ๋ฐ ํ ์คํธ๋ฅผ ๋จ์ํํ ์ ์์ต๋๋ค. -
์ค์ BFQ I/O ์ค์ผ์ค๋ฌ์ ๋ํ ์ฑ๋ฅ์ด ๋ํญ ์ต์ ํ๋์์ต๋๋ค. I/O ๋ถํ๊ฐ ๋์ ์กฐ๊ฑด์์ ์ต์ ํ๊ฐ ์ด๋ฃจ์ด์ก์ต๋๋ค.ํ์ฉํ๋ค ์ ํ๋ฆฌ์ผ์ด์ ์คํ ๋ฑ์ ์์ ์๊ฐ์ ์ต๋ 80% ๋จ์ถํฉ๋๋ค. - ํ์ผ ์์คํ
๋ง์ดํธ๋ฅผ ์ํ ์ผ๋ จ์ ์์คํ
ํธ์ถ์ ์ถ๊ฐํ์ต๋๋ค.
fsopen() ,์คํํธ๋ฆฌ() ,fspick() ,fs๋ง์ดํธ() ,fsconfig() ะธmove_mount() . ์ด๋ฌํ ์์คํ ํธ์ถ์ ์ฌ์ฉํ๋ฉด ์ด์ ์ ๊ณตํต mount() ์์คํ ํธ์ถ์ ์ฌ์ฉํ์ฌ ์ํ๋์๋ ๋ค์ํ ๋ง์ดํธ ๋จ๊ณ(์ํผ๋ธ๋ก ์ฒ๋ฆฌ, ํ์ผ ์์คํ ์ ๋ํ ์ ๋ณด ๊ฐ์ ธ์ค๊ธฐ, ๋ง์ดํธ, ๋ง์ดํธ ์ง์ ์ ์ฐ๊ฒฐ)๋ฅผ ๊ฐ๋ณ์ ์ผ๋ก ์ฒ๋ฆฌํ ์ ์์ต๋๋ค. ๋ณ๋์ ํธ์ถ์ ๋ณด๋ค ๋ณต์กํ ๋ง์ดํธ ์๋๋ฆฌ์ค๋ฅผ ์ํํ๊ณ ์ํผ๋ธ๋ก ์ฌ๊ตฌ์ฑ, ์ต์ ํ์ฑํ, ๋ง์ดํธ ์ง์ ๋ณ๊ฒฝ, ๋ค๋ฅธ ๋ค์์คํ์ด์ค๋ก ์ด๋๊ณผ ๊ฐ์ ๋ณ๋์ ์์ ์ ์ํํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ๋ํ ๋ณ๋์ ์ฒ๋ฆฌ๋ฅผ ํตํด ์ค๋ฅ ์ฝ๋ ์ถ๋ ฅ ์ด์ ๋ฅผ ์ ํํ๊ฒ ํ์ ํ๊ณ overlayfs์ ๊ฐ์ ๋ค์ค ๊ณ์ธต ํ์ผ ์์คํ ์ ๋ํ ์ฌ๋ฌ ์์ค๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค. - ์์คํ
ํธ์ถ๊ณผ ๋์ผํ ์์
์ ์ํํ๋ ๋น๋๊ธฐ I/O io_uring์ฉ ์ธํฐํ์ด์ค์ ์๋ก์ด ์์
IORING_OP_SYNC_FILE_RANGE๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
sync_file_range() io_uring์ eventfd๋ฅผ ๋ฑ๋กํ๊ณ ์์ ์๋ฃ์ ๋ํ ์๋ฆผ์ ๋ฐ๋ ๊ธฐ๋ฅ๋ ๊ตฌํํ์ต๋๋ค. - CIFS ํ์ผ ์์คํ ์ ๊ฒฝ์ฐ FIEMAP ioctl์ด ์ถ๊ฐ๋์ด ํจ์จ์ ์ธ ๋ฒ์ ๋งคํ์ ์ ๊ณตํ๊ณ SEEK_DATA ๋ฐ SEEK_HOLE ๋ชจ๋๋ฅผ ์ง์ํฉ๋๋ค.
- FUSE ํ์ ์์คํ
์์
์ ์ ๋ฐ์ดํฐ ์บ์ฑ ๊ด๋ฆฌ๋ฅผ ์ํ API; - Btrfs๋ qgroups ๊ตฌํ์ ์ต์ ํํ๊ณ ์ฌ๋ฌ ํ๋ ๋งํฌ๊ฐ ์๋ ํ์ผ์ ๋ํ fsync ์คํ ์๋๋ฅผ ํฅ์ํ์ต๋๋ค. ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ ๊ฒ์ฌ ์ฝ๋๊ฐ ๊ฐ์ ๋์ด ์ด์ ๋ฐ์ดํฐ๋ฅผ ๋์คํฌ์ ํ๋ฌ์ํ๊ธฐ ์ ์ RAM์ ์ ๋ณด ์์ ๊ฐ๋ฅ์ฑ์ ๊ณ ๋ คํฉ๋๋ค.
- CEPH๋ NFS๋ฅผ ํตํ ์ค๋ ์ท ๋ด๋ณด๋ด๊ธฐ ์ง์์ ์ถ๊ฐํ์ต๋๋ค.
- "์ํํธ" ๋ชจ๋์์ NFSv4 ๋ง์ดํ ๊ตฌํ์ด ๊ฐ์ ๋์์ต๋๋ค("์ํํธ" ๋ชจ๋์์ ์๋ฒ์ ์ก์ธ์คํ๋ ์ค ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด ํธ์ถํ๋ฉด ์ฆ์ ์ค๋ฅ ์ฝ๋๊ฐ ๋ฐํ๋๊ณ "ํ๋" ๋ชจ๋์์๋ FS๊ฐ ์คํ๋ ๋๊น์ง ์ ์ด๊ฐ ์ ๊ณต๋์ง ์์). ๊ฐ์ฉ์ฑ ๋๋ ์๊ฐ ์ด๊ณผ๊ฐ ๋ณต์๋ฉ๋๋ค). ์ ๋ฆด๋ฆฌ์ค์์๋ ๋ณด๋ค ์ ํํ ์๊ฐ ์ด๊ณผ ์ฒ๋ฆฌ, ๋ณด๋ค ๋น ๋ฅธ ์ถฉ๋ ๋ณต๊ตฌ ๋ฐ ์๊ฐ ์ด๊ณผ ๋ฐ์ ์ ๋ฐํ๋๋ ์ค๋ฅ ์ฝ๋(ETIMEDOUT)๋ฅผ ๋ณ๊ฒฝํ ์ ์๋ ์๋ก์ด "softerr" ๋ง์ดํธ ์ต์ ์ ์ ๊ณตํฉ๋๋ค.
- NFS ํด๋ผ์ด์ธํธ์ ์ํ๋ฅผ ์ถ์ ํ๋๋ก ์ค๊ณ๋ nfsdcld API๋ฅผ ์ฌ์ฉํ๋ฉด NFS ์๋ฒ๊ฐ ์ฌ๋ถํ ์ ํด๋ผ์ด์ธํธ์ ์ํ๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ์ถ์ ํ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ nfsdcld ๋ฐ๋ชฌ์ ์ด์ nfsdcltrack ์ฒ๋ฆฌ๊ธฐ ์ญํ ์ ํ ์ ์์ต๋๋ค.
- AFS์ ๊ฒฝ์ฐ
์ถ๊ฐ ํ์ผ์ ๋ฐ์ดํธ ๋ฒ์ ์ ๊ธ ์๋ฎฌ๋ ์ด์ (๋ฐ์ดํธ ๋ฒ์ ์ ๊ธ );
- Ext4์ ์ถ๊ฐ๋จ
- ๊ฐ์ํ ๋ฐ ๋ณด์
- ์ฐ๊ธฐ ๊ฐ๋ฅํ ๋ฐ์ฌ ๋ฉ๋ชจ๋ฆฌ ์์ญ์์ ์ฝ๋ ์คํ์ ํ์ฉํ๋ ์ปค๋ ์์น๋ฅผ ์ ๊ฑฐํ๋ ์์ ์ด ์ํ๋์์ต๋๋ค. ์ด๋ฅผ ํตํด ๊ณต๊ฒฉ ์ค์ ์ ์ฉ๋ ์ ์๋ ์ ์ฌ์ ์ธ ํ์ ์ ์ฐจ๋จํ ์ ์์ต๋๋ค.
- ์๋ก์ด ์ปค๋ ๋ช ๋ น์ค ๋งค๊ฐ๋ณ์ "mitigations="๊ฐ ์ถ๊ฐ๋์ด CPU์์ ๋ช ๋ น์ ์ถ์ธก ์คํ๊ณผ ๊ด๋ จ๋ ์ทจ์ฝ์ฑ์ผ๋ก๋ถํฐ ๋ณดํธํ๊ธฐ ์ํด ํน์ ๊ธฐ์ ์ ํ์ฑํ๋ฅผ ์ ์ดํ๋ โโ๋จ์ํ๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค. "mitigations=off"๋ฅผ ์ ๋ฌํ๋ฉด ๋ชจ๋ ๊ธฐ์กด ๋ฐฉ๋ฒ์ด ๋นํ์ฑํ๋๊ณ ๊ธฐ๋ณธ ๋ชจ๋ "mitigations=auto"๋ ๋ณดํธ๋ฅผ ํ์ฑํํ์ง๋ง ํ์ดํผ ์ค๋ ๋ฉ ์ฌ์ฉ์๋ ์ํฅ์ ์ฃผ์ง ์์ต๋๋ค. "mitigations=auto,nosmt" ๋ชจ๋๋ ๋ณดํธ ๋ฐฉ๋ฒ์ ๋ฐ๋ผ ํ์ํ ๊ฒฝ์ฐ ํ์ดํผ ์ค๋ ๋ฉ์ ์ถ๊ฐ๋ก ๋นํ์ฑํํฉ๋๋ค.
-
์ถ๊ฐ๋จ GOST R 34.10-2012(RFC 7091, ISO/IEC 14888-3)์ ๋ฐ๋ฅธ ์ ์ ๋์งํธ ์๋ช ์ง์,์ ์ํด ๊ฐ๋ฐ ํ๋ฌด์ SPO์ Vitaly Chikunov. ๊ธฐ๋ณธ TLS ๊ตฌํ์ AES128-CCM์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. crypto_simd ๋ชจ๋์ AEAD ์๊ณ ๋ฆฌ์ฆ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. - Kconfig์์
์ถ๊ฐ ์ปค๋ ๋ณดํธ๋ฅผ ๊ฐํํ๋ ์ต์ ์ด ํฌํจ๋ ๋ณ๋์ "์ปค๋ ๊ฐํ" ์น์ . ํ์ฌ ์ ์น์ ์๋ GCC ๊ฒ์ฌ ๊ฐํ ํ๋ฌ๊ทธ์ธ์ ํ์ฑํํ๊ธฐ ์ํ ์ค์ ๋ง ํฌํจ๋์ด ์์ต๋๋ค. - ์ปค๋ ์ฝ๋๋ ๊ฑฐ์
๋ฐฐ๋ฌ๋จ ์ค์์น์ ์ค๋จ๋์ง ์๋ Case ๋ฌธ์์(๊ฐ Case ๋ธ๋ก ๋ค์์ ๋ฐํ ๋๋ ์ค๋จ ์์) ์ด๋ฌํ ์ค์์น ์ฌ์ฉ ์ฌ๋ก 32๊ฐ ์ค 2311๊ฐ๋ฅผ ์์ ํด์ผ ํ๋ฉฐ ๊ทธ ํ์๋ ์ปค๋์ ๋น๋ํ ๋ "-Wimplicit-fallthrough" ๋ชจ๋๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. - PowerPC ์ํคํ ์ฒ์ ๊ฒฝ์ฐ ์ฌ์ฉ์ ๊ณต๊ฐ์ ๋ฐ์ดํฐ์ ๋ํ ์์น ์๋ ์ปค๋ ์ก์ธ์ค ๊ฒฝ๋ก๋ฅผ ์ ํํ๊ธฐ ์ํ ํ๋์จ์ด ๋ฉ์ปค๋์ฆ ์ง์์ด ๊ตฌํ๋์์ต๋๋ค.
- ์ฐจ๋จ ์ฝ๋๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
๊ณต๊ฒฉ Intel ํ๋ก์ธ์์ MDS(Microarchitectural Data Sampling) ํด๋์ค. SysFS ๋ณ์ โ/sys/devices/system/cpu/vulnerability/mdsโ๋ฅผ ํตํด ์์คํ ์ด ์ทจ์ฝ์ ์ ์ทจ์ฝํ์ง ํ์ธํ ์ ์์ต๋๋ค.์ฌ์ฉ ๊ฐ๋ฅ ๋ ๊ฐ์ง ๋ณดํธ ๋ชจ๋: ์ ๋ฐ์ดํธ๋ ๋ง์ดํฌ๋ก์ฝ๋๊ฐ ํ์ํ ์ ์ฒด ๋ชจ๋์ ์ ์ด๊ถ์ด ์ฌ์ฉ์ ๊ณต๊ฐ์ด๋ ๊ฒ์คํธ ์์คํ ์ผ๋ก ์ ์ก๋ ๋ CPU ๋ฒํผ ์ญ์ ๋ฅผ ์์ ํ ๋ณด์ฅํ์ง ์๋ ์ฐํ ๋ชจ๋์ ๋๋ค. ๋ณดํธ ๋ชจ๋๋ฅผ ์ ์ดํ๊ธฐ ์ํด "mds=" ๋งค๊ฐ๋ณ์๊ฐ ์ปค๋์ ์ถ๊ฐ๋์์ต๋๋ค. ์ด ๋งค๊ฐ๋ณ์๋ "full", "full,nosmt"(+ ํ์ดํผ ์ค๋ ๋ ๋นํ์ฑํ) ๋ฐ "off" ๊ฐ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. - x86-64 ์์คํ ์์๋ IRQ, ๋๋ฒ๊น ๋ฉ์ปค๋์ฆ ๋ฐ ์์ธ ์ฒ๋ฆฌ๊ธฐ์ "์คํ ๊ฐ๋ ํ์ด์ง" ๋ณดํธ๊ฐ ์ถ๊ฐ๋์์ต๋๋ค. ๊ทธ ํต์ฌ์ ๊ฒฝ๊ณ์ ์๋ ๋ฉ๋ชจ๋ฆฌ ํ์ด์ง๋ฅผ ์คํ์ผ๋ก ๋์ฒดํ์ฌ ์ก์ธ์คํ๋ ๊ฒ์ ๋๋ค. ์์ธ(ํ์ด์ง ์ค๋ฅ);
- userfaultfd() ์์คํ ํธ์ถ์ ์ฌ์ฉํ๋ ๊ถํ์ด ์๋ ํ๋ก์ธ์ค์ ๊ธฐ๋ฅ์ ์ ์ดํ๋ โโsysctl ์ค์ vm.unprivileged_userfaultfd๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
- ๋คํธ์ํฌ ํ์ ์์คํ
-
์ถ๊ฐ๋จ IPv6 ๊ฒฝ๋ก์ ๋ํ IPv4 ๊ฒ์ดํธ์จ์ด ์ง์. ์๋ฅผ ๋ค์ด ์ด์ "ip ro add 172.16.1.0/24 via inet6 2001:db8::1 dev eth0"๊ณผ ๊ฐ์ ๋ผ์ฐํ ๊ท์น์ ์ง์ ํ ์ ์์ต๋๋ค. - ICMPv6์ ๊ฒฝ์ฐ ioctl ํธ์ถ icmp_echo_ignore_anycast ๋ฐ icmp_echo_ignore_multicast๊ฐ ๊ตฌํ๋์ด ์ ๋์บ์คํธ์ ๋ํ ICMP ECHO๋ฅผ ๋ฌด์ํ๊ณ
๋ฉํฐ์บ์คํธ ์ฃผ์.์ถ๊ฐ๋จ ICMPv6 ํจํท ์ฒ๋ฆฌ ๊ฐ๋๋ฅผ ์ ํํ๋ ๊ธฐ๋ฅ; - ๊ฐ ๋
ธ๋๊ฐ ์ด์ ๋
ธ๋๋ฅผ ํตํด ์ฐ๊ฒฐ๋๋ ๋ถ์ฐํ ๋คํธ์ํฌ๋ฅผ ์์ฑํ ์ ์๋ BATMAN(Better Approach To Mobile Adhoc Networking) ๋ฉ์ โโํ๋กํ ์ฝ์ ๊ฒฝ์ฐ,
์ถ๊ฐ ๋ฉํฐ์บ์คํธ์์ ์ ๋์บ์คํธ๋ก์ ๋ธ๋ก๋์บ์คํ ์ง์ ๋ฐ sysfs๋ฅผ ํตํ ์ ์ด ๊ธฐ๋ฅ; - ์์ฐํด์์
์ถ๊ฐ 1000BaseT์ ๋งํฌ ๋ค์ด ์ด๋ฒคํธ์ ๋ํ ์ ๋ณด๋ฅผ ์์ ํ๋ ๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ ์ค์ผ ์ ์๋ ์๋ก์ด Fast Link Down ๋งค๊ฐ๋ณ์(์ ์ ์กฐ๊ฑด์์ ์ง์ฐ์ ์ต๋ 750ms) - ๋ฑ์ฅ
๊ธฐํ Foo-Over-UDP ํฐ๋์ ํน์ ์ฃผ์, ๋คํธ์ํฌ ์ธํฐํ์ด์ค ๋๋ ์์ผ์ ๋ฐ์ธ๋ฉํฉ๋๋ค(์ด์ ๋ฐ์ธ๋ฉ์ ๊ณตํต ๋ง์คํฌ์ ์ํด์๋ง ์ํ๋์์ต๋๋ค). - ๋ฌด์ ์คํ์์
์ ๊ณต๋ ํธ๋ค๋ฌ ๊ตฌํ ๊ฐ๋ฅ์ฑ
์ฌ์ฉ์ ๊ณต๊ฐ์ OWE(Opportunistic Wireless Encryption) - Netfilter์์๋ inet ์ฃผ์ ๊ณ์ด์ ๋ํ ์ง์์ด nat ์ฒด์ธ์ ์ถ๊ฐ๋์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์ด์ ํ๋์ ๋ณํ ๊ท์น์ ์ฌ์ฉํ์ฌ ipv4์ ipv6์ ๋ํ ๊ท์น์ ๋ถ๋ฆฌํ์ง ์๊ณ ipv4์ ipv6์ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.
- ๋ท๋งํฌ์์
์ถ๊ฐ ์ ๊ถ ๋ชจ๋ ๋ฉ์์ง์ ์์ฑ์ ์ ํ์ฑ์ ์๊ฒฉํ๊ฒ ๊ฒ์ฆํฉ๋๋ค. ์์ฑ์ ์์ ํฌ๊ธฐ๋ฅผ ์ด๊ณผํ ์ ์์ผ๋ฉฐ ๋ฉ์์ง ๋์ ์ถ๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํ๋ ๊ฒ์ด ๊ธ์ง๋ฉ๋๋ค.
-
- ๋ฉ๋ชจ๋ฆฌ ๋ฐ ์์คํ
์๋น์ค
- CLONE_PIDFD ํ๋๊ทธ๊ฐ clone() ์์คํ ํธ์ถ์ ์ถ๊ฐ๋์์ผ๋ฉฐ, ์ง์ ๋๋ฉด ์์ฑ๋ ํ์ ํ๋ก์ธ์ค๋ก ์๋ณ๋๋ ํ์ผ ์ค๋ช ์ "pidfd"๊ฐ ์์ ํ๋ก์ธ์ค๋ก ๋ฐํ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ด ํ์ผ ์ค๋ช ์๋ ๊ฒฝ์ ์กฐ๊ฑด์ ๋น ์ง ์ผ๋ ค ์์ด ์ ํธ๋ฅผ ๋ณด๋ด๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค(์ ํธ๋ฅผ ๋ณด๋ธ ์งํ ํ๋ก์ธ์ค ์ข ๋ฃ๋ก ์ธํด ๋์ PID๊ฐ ํด์ ๋์ด ๋ค๋ฅธ ํ๋ก์ธ์ค์ ์ํด ์ ์ ๋ ์ ์์).
- cgroup์ ๋ ๋ฒ์งธ ๋ฒ์ ์๋ Freezer ์ปจํธ๋กค๋ฌ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค. ์ด ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ฉด cgroup์์ ์์ ์ ์ค์งํ๊ณ ์ผ๋ถ ๋ฆฌ์์ค(CPU, I/O ๋ฐ ์ ์ฌ์ ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ๊น์ง)๋ฅผ ์ผ์์ ์ผ๋ก ํ๋ณดํ์ฌ ๋ค๋ฅธ ์์ ์ ์ํํ ์ ์์ต๋๋ค. ๊ด๋ฆฌ๋ cgroup ํธ๋ฆฌ์ cgroup.freeze ๋ฐ cgroup.events ์ ์ด ํ์ผ์ ํตํด ์ํ๋ฉ๋๋ค. cgroup.freeze์ ํญ๋ชฉ 1์ ํ์ฌ cgroup๊ณผ ๋ชจ๋ ํ์ ๊ทธ๋ฃน์ ํ๋ก์ธ์ค๋ฅผ ๊ณ ์ ํฉ๋๋ค. ์ ์งํ๋ ๋ฐ ์๊ฐ์ด ๊ฑธ๋ฆฌ๊ธฐ ๋๋ฌธ์ ์์ ์๋ฃ๋ฅผ ํ์ธํ ์ ์๋ ์ถ๊ฐ cgroup.events ํ์ผ์ด ์ ๊ณต๋ฉ๋๋ค.
-
๋ณด์๋จ sysfs์ ๊ฐ ๋ ธ๋์ ์ฐ๊ฒฐ๋ ๋ฉ๋ชจ๋ฆฌ ์์ฑ ๋ด๋ณด๋ด๊ธฐ. ์ด๋ฅผ ํตํด ์ฌ์ฉ์ ๊ณต๊ฐ์์ ์ด๊ธฐ์ข ๋ฉ๋ชจ๋ฆฌ๊ฐ ์๋ ์์คํ ์ ๋ฉ๋ชจ๋ฆฌ ๋ฑ ํฌ ์ฒ๋ฆฌ ํน์ฑ์ ํ์ธํ ์ ์์ต๋๋ค. - PSI(Pressure Stall Information) ํ์ ์์คํ ์ด ๊ฐ์ ๋์ด cgroup์ ํน์ ์์ ๋๋ ํ๋ก์ธ์ค ์งํฉ์ ๋ํด ๋ค์ํ ๋ฆฌ์์ค(CPU, ๋ฉ๋ชจ๋ฆฌ, I/O)๋ฅผ ์์ ํ๊ธฐ ์ํ ๋๊ธฐ ์๊ฐ์ ๋ํ ์ ๋ณด๋ฅผ ๋ถ์ํ ์ ์์ต๋๋ค. PSI๋ฅผ ์ฌ์ฉํ๋ฉด ์ฌ์ฉ์ ๊ณต๊ฐ ํธ๋ค๋ฌ๋ ๋ก๋ ํ๊ท ๊ณผ ๋น๊ตํ์ฌ ์์คํ ๋ก๋ ์์ค๊ณผ ์๋ ์ ํ ํจํด์ ๋ ์ ํํ๊ฒ ์์ธกํ ์ ์์ต๋๋ค. ์ ๋ฒ์ ์์๋ ๋ฏผ๊ฐ๋ ์๊ณ๊ฐ ์ค์ ์ ์ง์ํ๊ณ poll() ํธ์ถ์ ์ฌ์ฉํ์ฌ ์ค์ ๋ ์๊ณ๊ฐ์ด ํน์ ๊ธฐ๊ฐ ๋์ ํธ๋ฆฌ๊ฑฐ๋์๋ค๋ ์๋ฆผ์ ๋ฐ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ์ด ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ฉด Android๋ ์ด๊ธฐ ๋จ๊ณ์์ ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ์ ๋ชจ๋ํฐ๋งํ๊ณ , ๋ฌธ์ ์ ์์ธ์ ์๋ณํ๊ณ , ์ฌ์ฉ์์๊ฒ ๋์ ๋๋ ๋ฌธ์ ๋ฅผ ์ผ์ผํค์ง ์๊ณ ์ค์ํ์ง ์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ข ๋ฃํ ์ ์์ต๋๋ค. ์คํธ๋ ์ค ํ ์คํธ์์ PSI ๊ธฐ๋ฐ ๋ฉ๋ชจ๋ฆฌ ์๋น ๋ชจ๋ํฐ๋ง ๋๊ตฌ๋ vmpress ํต๊ณ์ ๋นํด ์คํ๋ฅ ์ด 10๋ฐฐ ๋ ์ ์ ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค.
- BPF ํ๋ก๊ทธ๋จ ๊ฒ์ฌ ์ฝ๋๊ฐ ์ต์ ํ๋์ด ๋๊ท๋ชจ ํ๋ก๊ทธ๋จ์ ๊ฒ์ฌ ์๋๊ฐ ์ต๋ 20๋ฐฐ ๋นจ๋ผ์ก์ต๋๋ค. ์ต์ ํ๋ฅผ ํตํด BPF ํ๋ก๊ทธ๋จ ํฌ๊ธฐ ์ ํ์ 4096๊ฐ์์ ๋ช ๋ น XNUMX๋ง ๊ฐ๋ก ๋๋ฆด ์ ์์์ต๋๋ค.
- BPF ํ๋ก๊ทธ๋จ์ ๊ฒฝ์ฐ
์ ๊ณต ํ๋ก๊ทธ๋จ์์ ์ ์ญ ๋ณ์์ ์์๋ฅผ ์ ์ํ ์ ์๋ ์ ์ญ ๋ฐ์ดํฐ์ ์ก์ธ์คํ๋ ๊ธฐ๋ฅ - ์ถ๊ฐ๋จ
API , BPF ํ๋ก๊ทธ๋จ์์ sysctl ๋งค๊ฐ๋ณ์์ ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ดํ ์ ์์ต๋๋ค. - MIPS32 ์ํคํ ์ฒ์ ๊ฒฝ์ฐ eBPF ๊ฐ์ ๋จธ์ ์ฉ JIT ์ปดํ์ผ๋ฌ๊ฐ ๊ตฌํ๋์์ต๋๋ค.
- 32๋นํธ PowerPC ์ํคํ ์ฒ์ ๊ฒฝ์ฐ ๋ฉ๋ชจ๋ฆฌ ์์ ์ ์ค๋ฅ๋ฅผ ์๋ณํ๋ ๋ฐ ๋์์ด ๋๋ KASan(Kernel address sanitizer) ๋๋ฒ๊น ๋๊ตฌ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- x86-64 ์์คํ ์์๋ 896MB ์ด์์ ๋ฉ๋ชจ๋ฆฌ ์์ญ์์ ์ปค๋ ์ถฉ๋(์ถฉ๋ ๋คํ) ์ค์ ์ํ ๋คํ๋ฅผ ๋ฐฐ์นํ๋ ์ ํ์ด ์ ๊ฑฐ๋์์ต๋๋ค.
- s390 ์ํคํ ์ฒ์ ๊ฒฝ์ฐ KASLR(์ปค๋ ์ฃผ์ ๊ณต๊ฐ ๋ฌด์์ํ) ์ง์๊ณผ kexec_file_load()๋ฅผ ํตํด ์ปค๋์ ๋ก๋ํ ๋ ๋์งํธ ์๋ช ์ ํ์ธํ๋ ๊ธฐ๋ฅ์ด ๊ตฌํ๋ฉ๋๋ค.
- PA-RISC ์ํคํ ์ฒ์ ๊ฒฝ์ฐ ์ปค๋ ๋๋ฒ๊ฑฐ(KGDB), ์ ํ ํ์ ๋ฐ kprobe์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ะะฑะพััะดะพะฒะฐะฝะธะต
- ๋๋ผ์ด๋ฒ ํฌํจ
๋ฆฌ๋ง ARM ์ํคํ ์ฒ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ๋ง์ ๊ตฌํ ์นฉ์ ์ฌ์ฉ๋๋ Mali 400/450 GPU์ฉ. ์ต์ Mali GPU์ ๊ฒฝ์ฐ Panfrost ๋๋ผ์ด๋ฒ๊ฐ ์ถ๊ฐ๋์ด Midgard(Mali-T6xx, Mali-T7xx, Mali-T8xx) ๋ฐ Bifrost(Mali G3x, G5x, G7x) ๋ง์ดํฌ๋ก ์ํคํ ์ฒ ๊ธฐ๋ฐ ์นฉ์ ์ง์ํฉ๋๋ค. - ๊ฐ๋ฐฉํ ํ์จ์ด๋ฅผ ์ฌ์ฉํ๋ ์ค๋์ค ์ฅ์น์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
์ฌ์ด๋ ์คํ ํ์จ์ด (SOF ). ๊ณต๊ฐ ๋๋ผ์ด๋ฒ๋ฅผ ์ฌ์ฉํ ์ ์์์๋ ๋ถ๊ตฌํ๊ณ ์ฌ์ด๋ ์นฉ์ ํ์จ์ด ์ฝ๋๋ ์ฌ์ ํ ๋น๊ณต๊ฐ ์ํ๋ก ์ ์ง๋์์ผ๋ฉฐ ๋ฐ์ด๋๋ฆฌ ํ์์ผ๋ก ์ ๊ณต๋์์ต๋๋ค. Sound Open Firmware ํ๋ก์ ํธ๋ Intel์ด ์ค๋์ค ์ฒ๋ฆฌ์ ๊ด๋ จ๋ DSP ์นฉ์ฉ ๊ฐ๋ฐฉํ ํ์จ์ด๋ฅผ ๋ง๋ค๊ธฐ ์ํด ๊ฐ๋ฐํ์ต๋๋ค(๋์ค์ Google๋ ๊ฐ๋ฐ์ ์ฐธ์ฌํ์ต๋๋ค). ํ์ฌ ์ด ํ๋ก์ ํธ๋ Intel Baytrail, CherryTrail, Broadwell, ApolloLake, GeminiLake, CannonLake ๋ฐ IceLake ํ๋ซํผ์ ์ฌ์ด๋ ์นฉ์ฉ ํ์จ์ด ๊ฒ์์ ์ด๋ฏธ ์ค๋นํ์ต๋๋ค. - Intel DRM ๋๋ผ์ด๋ฒ(i915)์ ์นฉ ์ง์ ์ถ๊ฐ
์ํฌํํธ๋ ์ดํฌ(Gen11). Comet Lake(Gen9) ์นฉ์ ๋ํ PCI ID๊ฐ ์ถ๊ฐ๋์์ต๋๋ค. Icelake ์นฉ์ ๋ํ ์ง์์ด ์์ ํ๋์์ผ๋ฉฐ PCI ์ฅ์น ์๋ณ์๋ ์ถ๊ฐ๋์์ต๋๋ค.
ํฌํจ
mmio๋ฅผ ํตํด ์ฐ๊ธฐ ์์ ์ ์ํํ ๋ ๋น๋์ค ๋ฉ๋ชจ๋ฆฌ์ ๋ ๋ฒํผ ๊ฐ ๋น๋๊ธฐ ์ ํ ๋ชจ๋(๋น๋๊ธฐ ํ๋ฆฝ)๋ก ์ธํด ์ผ๋ถ 3D ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฑ๋ฅ์ด ํฌ๊ฒ ํฅ์๋์์ต๋๋ค(์: 3DMark Ice Storm ํ ์คํธ ์ฑ๋ฅ์ด 300-400% ์ฆ๊ฐํจ). ์ถ๊ฐ๋ ๊ธฐ์ ์ง์HDCP2.2 (๊ณ ๋์ญํญ ๋์งํธ ์ฝํ ์ธ ๋ณดํธ) HDMI๋ฅผ ํตํด ์ ์ก๋๋ ๋น๋์ค ์ ํธ๋ฅผ ์ํธํํฉ๋๋ค. - Vega20 GPU์ฉ amdgpu ๋๋ผ์ด๋ฒ
์ถ๊ฐ RAS(์ ๋ขฐ์ฑ, ๊ฐ์ฉ์ฑ, ์๋น์ค ๊ฐ๋ฅ์ฑ) ์ง์ ๋ฐ Powerplay ๊ธฐ์ ์ ๋์ฒดํ SMU 11 ํ์ ์์คํ ์ ๋ํ ์คํ์ ์ง์. GPU Vega12์ ๊ฒฝ์ฐ์ถ๊ฐ BACO ๋ชจ๋ ์ง์(๋ฒ์ค ํ์ฑ, ์นฉ ๊บผ์ง) GPU ์ํธ ์ฐ๊ฒฐ์ ์ํ ๊ณ ์ ๋ฒ์ค(PCIe 4.0)์ธ XGMI์ ๋ํ ์ด๊ธฐ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. amdkfd ๋๋ผ์ด๋ฒ์ Polaris10 GPU ๊ธฐ๋ฐ ์นด๋์ ๋ํ ๋๋ฝ๋ ์๋ณ์๋ฅผ ์ถ๊ฐํ์ต๋๋ค. - Nouveau ๋๋ผ์ด๋ฒ์๋ NVIDIA Turing 117 ์นฉ์
(TU117, GeForce GTX 1650์ ์ฌ์ฉ๋จ) ๊ธฐ๋ฐ ๋ณด๋์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. ์์
kconfig์ถ๊ฐ libdrm์ ํ์ฌ ๋ฆด๋ฆฌ์ค์์ ๋ ์ด์ ์ฌ์ฉ๋์ง ์๋ ์ค๋๋ ๊ธฐ๋ฅ์ ๋นํ์ฑํํ๋๋ก ์ค์ ํฉ๋๋ค. - DRM API ๋ฐ amdgpu ๋๋ผ์ด๋ฒ์ "ํ์๋ผ์ธ" ๋๊ธฐํ ๊ฐ์ฒด์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์ด ํด๋์ ์ฐจ๋จ ์์ด ์์ ์ ์ํํ ์ ์์ต๋๋ค.
- VirtualBox ๊ฐ์ GPU์ฉ vboxvideo ๋๋ผ์ด๋ฒ๊ฐ ์คํ ์ด์ง ๋ถ๊ธฐ์์ ๊ธฐ๋ณธ ๊ตฌ์กฐ๋ก ์ด๋๋์์ต๋๋ค.
- GFX SoC ASPEED ์นฉ์ฉ ๊ณ ์ ๋๋ผ์ด๋ฒ๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
- ARM SoC ๋ฐ Intel Agilex(SoCFPGA), NXP i.MX8MM, Allwinner(RerVision H3-DVK(H3), Oceanic 5205 5inMFD, ,Beelink GS2(H6), Orange Pi 3(H6)), Rockchip(Orange Pi)์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. ) ๋ณด๋ RK3399, Nanopi NEO4, Veyron-Mighty Chromebook), Amlogic: SEI Robotics SEI510,
ST ๋ง์ดํฌ๋ก(stm32mp157a, stm32mp157c), NXP(
์์ผ๋ง ci4x10(i.MX6DL),i.MX8MM EVK(i.MX8MM),
ZII i.MX7 RPU2(i.MX7),
ZII SPB4(VF610),
Zii ์ธํธ๋ผ(i.MX8M),
TQ TQMa7S(i.MX7Solo),
TQ TQMa7D(i.MX7Dual),
์ฝ๋ณด ์์ฐ๋ผ(i.MX50),
Menlosystems M53(i.MX53)), NVIDIA Jetson Nano(Tegra T210).
- ๋๋ผ์ด๋ฒ ํฌํจ
๋์์ ๋ผํด ์๋ฉ๋ฆฌ์นด ์์ ์ํํธ์จ์ด ์ฌ๋จ(Latin American Free Software Foundation)
ะฒะฐัะธะฐะฝั
์ฌ์ด๋ ์คํ ํ์จ์ด. ๋๋ผ์ด๋ฒ์์ Blob ๋ก๋๊ฐ ๋นํ์ฑํ๋์์ต๋๋ค.
mt7615, rtw88, rtw8822b, rtw8822c, btmtksdio, iqs5xx, ishtp ๋ฐ ucsi_ccg. ixp4xx, imx-sdma, amdgpu, nouveau ๋ฐ goya ๋๋ผ์ด๋ฒ์ ํ์ ์์คํ
์ ๋ฌผ๋ก ๋ง์ดํฌ๋ก์ฝ๋ ๋ฌธ์์ ์ผ๋ฃฉ ์ ๋ฆฌ ์ฝ๋๊ฐ ์
๋ฐ์ดํธ๋์์ต๋๋ค. ์ ๊ฑฐ๋ก ์ธํด r8822be ๋๋ผ์ด๋ฒ์์ ์ผ๋ฃฉ ์ฒญ์๊ฐ ์ค์ง๋์์ต๋๋ค.
์ถ์ฒ : opennet.ru