๋ ๋ฌ ๊ฐ์ ๊ฐ๋ฐ ๋์ Linus Torvalds๋
์ ๋ฒ์ ์๋ 16074๋
๊ฐ๋ฐ์์ 2011๊ฐ ์์ ์ฌํญ์ด ํฌํจ๋์ด ์์ต๋๋ค.
ํจ์น ํฌ๊ธฐ - 62MB(๋ณ๊ฒฝ ์ฌํญ์ด 14548๊ฐ ํ์ผ์ ์ํฅ์ ๋ฏธ์น๊ณ 782155์ค์ ์ฝ๋๊ฐ ์ถ๊ฐ๋์์ผ๋ฉฐ 314792์ค์ด ์ญ์ ๋์์ต๋๋ค). 45์ ์ ์๋ ์ ์ฒด ๋ด์ฉ์ ์ฝ 5.9%
๋ณ๊ฒฝ ์ฌํญ์ ์ฅ์น ๋๋ผ์ด๋ฒ์ ๊ด๋ จ๋์ด ์์ผ๋ฉฐ ๋ณ๊ฒฝ ์ฌํญ ์ค ์ฝ 15%๋
ํ๋์จ์ด ์ํคํ
์ฒ ๊ด๋ จ ์ฝ๋ ์
๋ฐ์ดํธ์ ๋ํ ํ๋, 13%
๋คํธ์ํฌ ์คํ ๊ด๋ จ, ํ์ผ ์์คํ
๊ด๋ จ 3%, ๋ด๋ถ ๊ด๋ จ 3%
์ปค๋ ํ์ ์์คํ
.
- ๋ฉ๋ชจ๋ฆฌ ๋ฐ ์์คํ
์๋น์ค
-
์กฐ์ฌ์ง GPL ๋ผ์ด์ผ์ค์ ๋ฐ๋ผ ๋ชจ๋์ฉ์ผ๋ก๋ง ๋ด๋ณด๋ธ ์ปค๋ ๊ตฌ์ฑ ์์์ ๋ ์ ๋๋ผ์ด๋ฒ๋ฅผ ์ฐ๊ฒฐํ๊ธฐ ์ํ GPL ๋ ์ด์ด ์ฌ์ฉ์ผ๋ก๋ถํฐ ๋ณดํธํฉ๋๋ค. TAINT_PROPRIETARY_MODULE ํ๋๊ทธ๋ ์ด์ ์ด ํ๋๊ทธ๊ฐ ์๋ ๋ชจ๋์์ ๊ธฐํธ๋ฅผ ๊ฐ์ ธ์ค๋ ๋ชจ๋ ๋ชจ๋์์ ์์๋ฉ๋๋ค. GPL ๋ชจ๋์ด GPL์ด ์๋ ๋ชจ๋์์ ๊ธฐํธ๋ฅผ ๊ฐ์ ธ์ค๋ ค๊ณ ํ๋ฉด ํด๋น GPL ๋ชจ๋์ TAINT_PROPRIETARY_MODULE ๋ ์ด๋ธ์ ์์ํ๊ณ ๋ชจ๋์ด ์ด์ ์ GPL ๋ผ์ด์ผ์ค ๋ชจ๋์์๋ง ์ฌ์ฉํ ์ ์๋ ์ปค๋ ๊ตฌ์ฑ ์์์ ์ก์ธ์คํ ์ ์์ต๋๋ค. "gplonly" ์นดํ ๊ณ ๋ฆฌ์ ๋๋ค. ๋ ์ ๋๋ผ์ด๋ฒ์ ์์ ์ ์ค๋จ์ํฌ ์ ์๋ ์ญ๋ฐฉํฅ ์ ๊ธ(EXPORT_SYMBOL_GPL์ ๊ฐ์ ธ์จ ๋ชจ๋์์ EXPORT_SYMBOL_GPL๋ง ๋ด๋ณด๋ด๊ธฐ)์ ๊ตฌํ๋์ง ์์ต๋๋ค(๋ ์ ๋ชจ๋ ํ๋๊ทธ๋ง ์์๋๊ณ GPL ๋ฐ์ธ๋ฉ์ ์์๋์ง ์์). -
์ถ๊ฐ๋จ kcompactd ์์ง ์ง์๋ฉ๋ชจ๋ฆฌ ํ์ด์ง ์ฌ์ ํจํน ์ปค๋์ ์ฌ์ฉ ๊ฐ๋ฅํ ๋์ฉ๋ ๋ฉ๋ชจ๋ฆฌ ํ์ด์ง ์๋ฅผ ๋๋ฆฌ๊ธฐ ์ํด ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์๋น ์ถ์ ์ ๋ฐ๋ฅด๋ฉด, ๋ฐฑ๊ทธ๋ผ์ด๋ ํจํค์ง์ ์ต์ํ์ ์ค๋ฒํค๋ ๋น์ฉ์ผ๋ก ๋์ฉ๋ ๋ฉ๋ชจ๋ฆฌ ํ์ด์ง(๋ํ ํ์ด์ง)๋ฅผ ํ ๋นํ ๋ ํ์ ์ ์คํ๋๋ ์ด์ ์ ์ฌ์ฉ๋ ํจํค์ง ๋ฉ์ปค๋์ฆ(์ฃผ๋ฌธํ)์ ๋นํด 70~80๋ฐฐ๊น์ง ์ง์ฐ์ ์ค์ผ ์ ์์ต๋๋ค. ). kcompactd๊ฐ ์ ๊ณตํ ์ธ๋ถ ์กฐ๊ฐํ์ ๊ฒฝ๊ณ๋ฅผ ์ค์ ํ๊ธฐ ์ํด sysctl vm.compaction_proactiveness๊ฐ ์ถ๊ฐ๋์์ต๋๋ค. -
์ถ๊ฐ๋จ ์๊ณ ๋ฆฌ์ฆ์ ์ด์ฉํ ์ปค๋ ์ด๋ฏธ์ง ์์ถ ์ง์Z์คํ ๋ค๋ (zstd). - x86 ์์คํ
์ ๋ํ ํ๋ก์ธ์ ๋ช
๋ น์ด ์ง์์ด ๊ตฌํ๋์์ต๋๋ค.
FSGS๋ฒ ์ด์ค , ์ด๋ฅผ ํตํด ์ฌ์ฉ์ ๊ณต๊ฐ์์ FS/GS ๋ ์ง์คํฐ์ ๋ด์ฉ์ ์ฝ๊ณ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. ์ปค๋์์ FSGSBASE๋ GSBASE์ ๋ํ ๋ถํ์ํ MSR ์ฐ๊ธฐ ์์ ์ ์ ๊ฑฐํ์ฌ ์ปจํ ์คํธ ์ ํ ์์ ์๋๋ฅผ ๋์ด๋ ๋ฐ ์ฌ์ฉ๋๋ฉฐ, ์ฌ์ฉ์ ๊ณต๊ฐ์์๋ FS/GS๋ฅผ ๋ณ๊ฒฝํ๊ธฐ ์ํ ๋ถํ์ํ ์์คํ ํธ์ถ์ ๋ฐฉ์งํฉ๋๋ค. -
์ถ๊ฐ๋จ "allow_writes" ๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํ๋ฉด ์ฌ์ฉ์ ๊ณต๊ฐ์์ ํ๋ก์ธ์์ MSR ๋ ์ง์คํฐ์ ๋ํ ๋ณ๊ฒฝ์ ๊ธ์งํ๊ณ ์ด๋ฌํ ๋ ์ง์คํฐ์ ๋ด์ฉ์ ๋ํ ์ก์ธ์ค๋ฅผ ์ฝ๊ธฐ ์์ ์ผ๋ก ์ ํํ ์ ์์ต๋๋ค. MSR์ ๋ณ๊ฒฝํ๋ฉด ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์ฐ๊ธฐ๋ ์์ง ๋นํ์ฑํ๋์ง ์์์ผ๋ฉฐ MSR์ ๋ํ ๋ณ๊ฒฝ ์ฌํญ์ ๋ก๊ทธ์ ๋ฐ์๋์ง๋ง ํฅํ์๋ ๊ธฐ๋ณธ ์ก์ธ์ค๋ฅผ ์ฝ๊ธฐ ์ ์ฉ ๋ชจ๋๋ก ์ ํํ ๊ณํ์ ๋๋ค. - ๋น๋๊ธฐ I/O ์ธํฐํ์ด์ค๋ก
io_uring ์ปค๋ ์ค๋ ๋๊ฐ ํ์ํ์ง ์์ ๋น๋๊ธฐ ๋ฒํผ๋ง ์ฝ๊ธฐ ์์ ์ ๋ํ ์ ์ฒด ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. ๋ น์ ์ง์์ ํฅํ ๋ฆด๋ฆฌ์ค์์ ์ ๊ณต๋ ์์ ์ ๋๋ค. - I/O ์ค์ผ์ค๋ฌ ๋ง๊ฐ์ผ
๊ตฌํ ์ฉ๋์ ๋ฐ๋ฅธ ๊ณํ,ํ์ฉ ARM ๊ธฐ๋ฐ ์์คํ ๊ณผ ๊ฐ์ ๋น๋์นญ ์์คํ ์ ๋ํด ์ฌ๋ฐ๋ฅธ ๊ฒฐ์ ์ ๋ด๋ฆฝ๋๋ค.DynamIQ ๊ฐ๋ ฅํ๊ณ ์๋์ง ํจ์จ์ฑ์ด ๋จ์ด์ง๋ CPU ์ฝ์ด๋ฅผ ํ๋์ ์นฉ์ ๊ฒฐํฉํ big.LITTLE. ํนํ, ์๋ก์ด ๋ชจ๋๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ฆฐ CPU ์ฝ์ด์ ์์ ์ ์ ์๊ฐ์ ์๋ฃํ ์ ์๋ ์ ์ ํ ๋ฆฌ์์ค๊ฐ ์์ ๋ ์ผ์ ๋ถ์ผ์น๋ฅผ ๋ฐฉ์งํ ์ ์์ต๋๋ค. - ์ปค๋(์๋์ง ๋ชจ๋ธ ํ๋ ์์ํฌ)์ ์๋์ง ์๋น ๋ชจ๋ธ์ ์ด์
๊ธฐ์ ํ๋ค CPU ์ ๋ ฅ ์๋น ๋์๋ฟ๋ง ์๋๋ผ ์ฃผ๋ณ ์ฅ์น์๋ ์ ์ฉ๋ฉ๋๋ค. - close_range() ์์คํ ํธ์ถ์ ํ๋ก์ธ์ค๊ฐ ์ด๋ ค ์๋ ํ์ผ ์ค๋ช ์์ ์ ์ฒด ๋ฒ์๋ฅผ ํ ๋ฒ์ ๋ซ์ ์ ์๋๋ก ๊ตฌํ๋์์ต๋๋ค.
- ํ
์คํธ ์ฝ์ ๋ฐ fbcon ๋๋ผ์ด๋ฒ ๊ตฌํ์์
์ฝ๋๊ฐ ์ ๊ฑฐ๋จ , ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ์์ผ๋ก VGA ํ ์คํธ ๋ชจ๋ ๋น๋์ค ๋ฉ๋ชจ๋ฆฌ ์๋ณด๋ค ๋ ๋ง์ ์๋งํผ ํ ์คํธ๋ฅผ ๋ค๋ก ์คํฌ๋กค(CONFIG_VGACON_SOFT_SCROLLBACK)ํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. -
์ฌ์ค๊ณ ์ปค๋ ๋ด์ ์ค๋ ๋์ ์ฐ์ ์์๋ฅผ ํ ๋นํ๋ ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค. ์๋ก์ด ์ต์ ์ ์ค์๊ฐ ์์ ์ ์ฐ์ ์์๋ฅผ ํ ๋นํ ๋ ๋ชจ๋ ์ปค๋ ํ์ ์์คํ ์์ ๋ ๋์ ์ผ๊ด์ฑ์ ์ ๊ณตํฉ๋๋ค. - sysctl์ ์ถ๊ฐํ์ต๋๋ค.
sched_uclamp_util_min_rt_default ์ค์๊ฐ ์์ ์ ๋ํ CPU ๋ถ์คํธ ์ค์ ์ ์ ์ดํฉ๋๋ค(์๋ฅผ ๋ค์ด, ๋ฐฐํฐ๋ฆฌ ์ ์์ผ๋ก ์ ํํ๊ฑฐ๋ ๋ชจ๋ฐ์ผ ์์คํ ์์ ์ ๋ ฅ์ ์ ์ฝํ๊ธฐ ์ํด ์ค์๊ฐ ์์ ์ ๋์์ ์ฆ์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค). - ํ์ด์ง ์บ์์์ Transparent Huge Pages ๊ธฐ์ ์ง์์ ๊ตฌํํ๊ธฐ ์ํ ์ค๋น๊ฐ ์๋ฃ๋์์ต๋๋ค.
- fanotify ์์ง์ ๋๋ ํฐ๋ฆฌ ํญ๋ชฉ๊ณผ ๋๋ ํฐ๋ฆฌ๊ฐ ์๋ ๊ฐ์ฒด์ ๋ํด ์์ฑ, ์ญ์ ๋๋ ์ด๋ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ ๋ ์์ ์ด๋ฆ๊ณผ ๊ณ ์ FID ์ ๋ณด๋ฅผ ๋ณด๊ณ ํ๊ธฐ ์ํด ์๋ก์ด ํ๋๊ทธ FAN_REPORT_NAME ๋ฐ FAN_REPORT_DIR_FID๋ฅผ ๊ตฌํํฉ๋๋ค.
- cgroup์ ๊ฒฝ์ฐ
๊ตฌํ ์๋ก์ด ์ฌ๋ฉ ๋ฉ๋ชจ๋ฆฌ ์ปจํธ๋กค๋ฌ๋ ์ฌ๋ฉ ๊ณ์ ์ ๋ฉ๋ชจ๋ฆฌ ํ์ด์ง ์์ค์์ ์ปค๋ ๊ฐ์ฒด ์์ค์ผ๋ก ์ด๋ํ๋ ๋ฐ ์ฃผ๋ชฉํ ๋งํฉ๋๋ค. ์ด๋ฅผ ํตํด ๊ฐ cgroup์ ๋ํด ๋ณ๋์ ์ฌ๋ฉ ์บ์๋ฅผ ํ ๋นํ๋ ๋์ ๋ค๋ฅธ cgroup์์ ์ฌ๋ฉ ํ์ด์ง๋ฅผ ๊ณต์ ํ ์ ์์ต๋๋ค. ์ ์๋ ์ ๊ทผ ๋ฐฉ์์ ํตํด ์ฌ๋ฉ ์ฌ์ฉ ํจ์จ์ฑ์ ๋์ด๊ณ , ์ฌ๋ฉ์ ์ฌ์ฉ๋๋ ๋ฉ๋ชจ๋ฆฌ ํฌ๊ธฐ๋ฅผ 30~45% ์ค์ด๋ฉฐ, ์ปค๋์ ์ ์ฒด ๋ฉ๋ชจ๋ฆฌ ์๋น๋ฅผ ํฌ๊ฒ ์ค์ด๊ณ , ๋ฉ๋ชจ๋ฆฌ ์กฐ๊ฐํ๋ฅผ ์ค์ผ ์ ์์ต๋๋ค. - ์ฌ์ด๋ ํ์ ์์คํ
์์
์์ฌ ะธUSB ์คํ , ์ ๋ฐ๋ผ์ต๊ทผ์ ์ฑํ Linux ์ปค๋์์ ํฌ๊ด์ ์ธ ์ฉ์ด ์ฌ์ฉ์ ๋ํ ๊ถ์ฅ ์ฌํญ, ์ ์น์ ์ผ๋ก ์๋ชป๋ ์ฉ์ด๋ฅผ ์ ๋ฆฌํ์ต๋๋ค. ์ฝ๋์์ "์ฌ๋ ์ด๋ธ", "๋ง์คํฐ", "๋ธ๋๋ฆฌ์คํธ" ๋ฐ "ํ์ดํธ๋ฆฌ์คํธ"๋ผ๋ ๋จ์ด๊ฐ ์ญ์ ๋์์ต๋๋ค.
-
- ๊ฐ์ํ ๋ฐ ๋ณด์
- Clang ์ปดํ์ผ๋ฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ปค๋์ ๋น๋ํ๋ ๊ฒฝ์ฐ
์ถ์ฐ ํ ์คํ์ ์ ์ฅ๋ ๋ชจ๋ ๋ณ์์ XNUMX์ผ๋ก ์๋ ์ด๊ธฐํ(CONFIG_INIT_STACK_ALL_ZERO)๋ฅผ ๊ตฌ์ฑํ๋ ๊ธฐ๋ฅ(๋น๋ ์ "-ftrivial-auto-var-init=zero" ์ง์ ) - seccomp ํ์ ์์คํ
์์ ์ฌ์ฉ์ ๊ณต๊ฐ์์ ํ๋ก์ธ์ค ์ ์ด ๋ชจ๋๋ฅผ ์ฌ์ฉํ ๋
์ถ๊ฐ ๊ธฐํ ํ์ผ ์ค๋ช ์๋ฅผ ์์ฑํ๋ ์์คํ ํธ์ถ์ ์์ ํ ์๋ฎฌ๋ ์ดํธํ๊ธฐ ์ํด ํ์ผ ์ค๋ช ์๋ฅผ ๋ชจ๋ํฐ๋ง๋๋ ํ๋ก์ธ์ค๋ก ๋์ฒดํฉ๋๋ค. ์ด ๊ธฐ๋ฅ์ Chrome์ฉ ๊ฒฉ๋ฆฌ๋ ์ปจํ ์ด๋ ์์คํ ๋ฐ ์๋๋ฐ์ค ๊ตฌํ์ ํ์ํฉ๋๋ค. - xtensa ๋ฐ csky ์ํคํ ์ฒ์ ๊ฒฝ์ฐ seccomp ํ์ ์์คํ ์ ์ฌ์ฉํ์ฌ ์์คํ ํธ์ถ์ ์ ํํ๊ธฐ ์ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. xtensa์ ๊ฒฝ์ฐ ๊ฐ์ฌ ๋ฉ์ปค๋์ฆ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋ก ๊ตฌํ๋ฉ๋๋ค.
-
์ถ๊ฐ๋จ ์๋ก์ด ๊ธฐ๋ฅ ํ๋๊ทธ CAP_CHECKPOINT_RESTORE๋ฅผ ์ฌ์ฉํ๋ฉด ์ถ๊ฐ ๊ถํ์ ์๋ํ์ง ์๊ณ ๋ ํ๋ก์ธ์ค ์ํ๋ฅผ ๋๊ฒฐํ๊ณ ๋ณต์ํ๋ ๊ฒ๊ณผ ๊ด๋ จ๋ ๊ธฐ๋ฅ์ ๋ํ ์ก์ธ์ค๋ฅผ ์ ๊ณตํ ์ ์์ต๋๋ค. - GCC 11์ ํ์ํ ๋ชจ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
์ปค๋ ๋ด ๊ฒฝํฉ ์ํ๋ฅผ ๋์ ์ผ๋ก ๊ฐ์งํ๋๋ก ์ค๊ณ๋ ๋๋ฒ๊น ๋๊ตฌ KCSAN(Kernel Concurrency Sanitizer)์ ๋๋ค. ๋ฐ๋ผ์ ์ด์ KCSAN์ GCC์ ๊ตฌ์ถ๋ ์ปค๋๊ณผ ํจ๊ป ์ฌ์ฉํ ์ ์์ต๋๋ค. - AMD Zen ๋ฐ ์ต์ CPU ๋ชจ๋ธ์ ๊ฒฝ์ฐ
์ถ๊ฐ P2PDMA ๊ธฐ์ ์ ์ง์ํ๋ฏ๋ก PCI ๋ฒ์ค์ ์ฐ๊ฒฐ๋ ๋ ์ฅ์น์ ๋ฉ๋ชจ๋ฆฌ ๊ฐ ์ง์ ๋ฐ์ดํฐ ์ ์ก์ DMA๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. - ์์
๋๊ธฐ์ด์ ์ฌ์ฉํ์ง ์๊ณ ์ํธํ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋ฅผ ์ํํ์ฌ ๋๊ธฐ ์๊ฐ์ ์ค์ผ ์ ์๋ ๋ชจ๋๊ฐ dm-crypt์ ์ถ๊ฐ๋์์ต๋๋ค. ์ด ๋ชจ๋๋ ๋ค์๊ณผ ๊ฐ์ ์ฌ๋ฐ๋ฅธ ์๋์๋ ํ์ํฉ๋๋ค.
๊ตฌ์ญํ ๋ธ๋ก ์ฅ์น(์์ฐจ์ ์ผ๋ก ๊ธฐ๋ก๋์ด์ผ ํ๋ ์์ญ์ด ์๋ ์ฅ์น, ์ ์ฒด ๋ธ๋ก ๊ทธ๋ฃน์ ์ ๋ฐ์ดํธํจ). dm-crypt์์ ์ฒ๋ฆฌ๋์ ๋๋ฆฌ๊ณ ๋๊ธฐ ์๊ฐ์ ์ค์ด๊ธฐ ์ํ ์์ ์ด ์ํ๋์์ต๋๋ค. - Xen ํ์ดํผ๋ฐ์ด์ ๋ฅผ ์คํํ๋ ๋ฐ๊ฐ์ํ ๋ชจ๋์์ ์คํ๋๋ 32๋นํธ ๊ฒ์คํธ๋ฅผ ์ง์ํ๋ ์ฝ๋๊ฐ ์ ๊ฑฐ๋์์ต๋๋ค. ์ด๋ฌํ ์์คํ ์ ์ฌ์ฉ์๋ ๊ฒ์คํธ ํ๊ฒฝ์์ 64๋นํธ ์ปค๋์ ์ฌ์ฉํ๋๋ก ์ ํํ๊ฑฐ๋ ๋ฐ๊ฐ์ํ(PV) ๋์ ์ ์ฒด(HVM) ๋๋ ๊ฒฐํฉ(PVH) ๊ฐ์ํ ๋ชจ๋๋ฅผ ์ฌ์ฉํ์ฌ ํ๊ฒฝ์ ์คํํด์ผ ํฉ๋๋ค.
- Clang ์ปดํ์ผ๋ฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ปค๋์ ๋น๋ํ๋ ๊ฒฝ์ฐ
- ๋์คํฌ ํ์ ์์คํ
, I/O ๋ฐ ํ์ผ ์์คํ
- Btrfs ํ์ผ ์์คํ
์์
๊ตฌํ ๋ค๋ฅธ ๋ชจ๋ ๋ณต๊ตฌ ์ต์ ์ ๋ํ ์ก์ธ์ค๋ฅผ ํตํฉํ๋ "๊ตฌ์กฐ" ๋ง์ดํธ ์ต์ . "alloc_start" ๋ฐ "subvolrootid" ์ต์ ์ ๋ํ ์ง์์ด ์ ๊ฑฐ๋์์ผ๋ฉฐ "inode_cache" ์ต์ ์ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ต๋๋ค. ์ฑ๋ฅ ์ต์ ํ๊ฐ ์ด๋ฃจ์ด์ก์ผ๋ฉฐ ํนํ fsync() ์์ ์คํ ์๋๊ฐ ๋์ ๋๊ฒ ํฅ์๋์์ต๋๋ค.์ถ๊ฐ๋จ CRC32c ์ด์ธ์ ๋์ฒด ์ ํ์ ์ฒดํฌ์ฌ์ ์ฌ์ฉํ๋ ๊ธฐ๋ฅ. -
์ถ๊ฐ๋จ ext4 ๋ฐ F2FS ํ์ผ ์์คํ ์์ ์ธ๋ผ์ธ ์ํธํ(์ธ๋ผ์ธ ์ํธํ)๋ฅผ ์ฌ์ฉํ์ฌ "inlinecrypt" ๋ง์ดํธ ์ต์ ์ด ์ ๊ณต๋๋ ๊ธฐ๋ฅ์ ํ์ฑํํฉ๋๋ค. ์ธ๋ผ์ธ ์ํธํ ๋ชจ๋๋ฅผ ์ฌ์ฉํ๋ฉด ์ ๋ ฅ/์ถ๋ ฅ์ ํฌ๋ช ํ๊ฒ ์ํธํํ๊ณ ํด๋ ํ๋ ๋๋ผ์ด๋ธ ์ปจํธ๋กค๋ฌ์ ๋ด์ฅ๋ ์ํธํ ๋ฉ์ปค๋์ฆ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. - XFS์์
ํ๋ณด๋จ ๋ฉ๋ชจ๋ฆฌ ์ ๋ฆฌ ์์ ์ ์ํํ ๋ ํ๋ก์ธ์ค๋ฅผ ์ฐจ๋จํ์ง ์๋ ์์ ๋น๋๊ธฐ ๋ชจ๋์ inode ์ฌ์ค์ (ํ๋ฌ์). ์ํํธ ์ ํ ๋ฐ inode ์ ํ ๊ฒฝ๊ณ ๋ฅผ ์๋ชป ์ถ์ ํ๊ฒ ๋ง๋๋ ์ค๋๋ ํ ๋น๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค. ext4 ๋ฐ xfs์ ๋ํ DAX ์ง์ ํตํฉ ๊ตฌํ. - Ext4์์
๊ตฌํ ๋ธ๋ก ํ ๋น ๋นํธ๋งต์ ๋ฏธ๋ฆฌ ๋ก๋ํฉ๋๋ค. ์ด๊ธฐํ๋์ง ์์ ๊ทธ๋ฃน์ ๊ฒ์ ์ ํ๊ณผ ๊ฒฐํฉ๋ ์ต์ ํ ๋๋ถ์ ๋งค์ฐ ํฐ ํํฐ์ ์ ๋ง์ดํธํ๋ ๋ฐ ํ์ํ ์๊ฐ์ด ๋จ์ถ๋์์ต๋๋ค. - F2FS์์
์ถ๊ฐ ioctl F2FS_IOC_SEC_TRIM_FILE์ ์ฌ์ฉํ๋ฉด TRIM/discard ๋ช ๋ น์ ์ฌ์ฉํ์ฌ ํ์ผ์ ์ง์ ๋ ๋ฐ์ดํฐ๋ฅผ ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ฌ์ค์ ํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ๋๋ผ์ด๋ธ์ ์์ฌ ๋ฐ์ดํฐ๋ฅผ ๋จ๊ธฐ์ง ์๊ณ ์ก์ธ์ค ํค๋ฅผ ์ญ์ ํ ์ ์์ต๋๋ค.
F2FS์์๋์ถ๊ฐ ์๋ก์ด ๊ฐ๋น์ง ์์ง ๋ชจ๋ GC_URGENT_LOW๋ ๊ฐ๋น์ง ์์ง๊ธฐ๋ฅผ ์์ํ๊ธฐ ์ ์ ์ ํด ์ํ์ ์๋์ง์ ๋ํ ์ผ๋ถ ๊ฒ์ฌ๋ฅผ ์ ๊ฑฐํ์ฌ ๋ณด๋ค ์ ๊ทน์ ์ผ๋ก ์๋ํฉ๋๋ค. - BCache์์ ์์ญ๋ณ ์ฅ์น ์บ์ ํ์ฑํ๋ฅผ ์ค๋นํ๊ธฐ ์ํด ์ต์คํ ํธ์ bucket_size๊ฐ 16๋นํธ์์ 32๋นํธ๋ก ๋์ด๋ฌ์ต๋๋ค.
- UFS ์ปจํธ๋กค๋ฌ๊ฐ ์ ๊ณตํ๋ ๋ด์ฅ ํ๋์จ์ด ์ํธํ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ธ๋ผ์ธ ์ํธํ๋ฅผ ์ฌ์ฉํ๋ ๊ธฐ๋ฅ์ด SCSI ํ์ ์์คํ
(
๋ฒ์ฉ ํ๋์ ์คํ ๋ฆฌ์ง ). - ์๋ก์ด ์ปค๋ ๋ช ๋ น์ค ๋งค๊ฐ๋ณ์ "debugfs"๊ฐ ์ถ๊ฐ๋์ด ๋์ผํ ์ด๋ฆ์ pseudo-FS์ ๊ฐ์ฉ์ฑ์ ์ ์ดํ ์ ์์ต๋๋ค.
- NFSv4.2 ํด๋ผ์ด์ธํธ๋ ํ์ฅ ํ์ผ ์์ฑ(xattr)์ ๋ํ ์ง์์ ์ ๊ณตํฉ๋๋ค.
- DM ๋จผ์ง์์
์ถ๊ฐ ๋์คํฌ์์ ์๋ณ๋ ๋ชจ๋ ๋ถ๋ ๋ธ๋ก ๋ชฉ๋ก์ ํ ๋ฒ์ ํ์ํ๊ธฐ ์ํ ์ธํฐํ์ด์ค(โdmsetup message Dust1 0 listbadblocksโ). - md/raid5์ ๊ฒฝ์ฐ STRIPE ๋ธ๋ก ํฌ๊ธฐ๋ฅผ ๊ตฌ์ฑํ๊ธฐ ์ํด /sys/block/md1/md/stripe_size ๋งค๊ฐ๋ณ์๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
- NVMe ์ ์ฅ ์ฅ์น์ ๊ฒฝ์ฐ
์ถ๊ฐ ๋๋ผ์ด๋ธ ์์ญ ์ง์ ๋ช ๋ น(ZNS, NVM Express Zoned Namespace)์ ์ง์ํฉ๋๋ค. ์ด๋ฅผ ํตํด ์คํ ๋ฆฌ์ง ๊ณต๊ฐ์ ๋ธ๋ก ๊ทธ๋ฃน์ ๊ตฌ์ฑํ๋ ์์ญ์ผ๋ก ๋๋์ด ๋๋ผ์ด๋ธ์ ๋ฐ์ดํฐ ๋ฐฐ์น๋ฅผ ๋ณด๋ค ์๋ฒฝํ๊ฒ ์ ์ดํ ์ ์์ต๋๋ค.
- Btrfs ํ์ผ ์์คํ
์์
- ๋คํธ์ํฌ ํ์ ์์คํ
- ๋ทํํฐ์์
์ถ๊ฐ ๋ผ์ฐํ ํ์ธ ์ ๋จ๊ณ์์ ํจํท์ ๊ฑฐ๋ถํ๋ ๊ธฐ๋ฅ(REJECT ํํ์์ ์ด์ INPUT, FORWARD ๋ฐ OUTPUT ์ฒด์ธ๋ฟ๋ง ์๋๋ผ icmp ๋ฐ tcp์ PREROUTING ๋จ๊ณ์์๋ ์ฌ์ฉํ ์ ์์) - nftables์์
์ถ๊ฐ ๊ตฌ์ฑ ๋ณ๊ฒฝ๊ณผ ๊ด๋ จ๋ ์ด๋ฒคํธ๋ฅผ ๊ฐ์ฌํ๋ ๊ธฐ๋ฅ. - netlink API์ nftables์์
์ถ๊ฐ ์ปค๋์ ์ํด ๋์ ์ผ๋ก ์ด๋ฆ์ด ํ ๋น๋๋ ์ต๋ช ์ฒด์ธ์ ์ง์ํฉ๋๋ค. ์ต๋ช ์ฒด์ธ๊ณผ ์ฐ๊ฒฐ๋ ๊ท์น์ ์ญ์ ํ๋ฉด ์ฒด์ธ ์์ฒด๊ฐ ์๋์ผ๋ก ์ญ์ ๋ฉ๋๋ค. - BPF๋ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉ์ ๊ณต๊ฐ์ ๋ณต์ฌํ์ง ์๊ณ ๋ ์ฐ๊ด ๋ฐฐ์ด(๋งต)์ ์์๋ฅผ ํ์, ํํฐ๋ง ๋ฐ ์์ ํ ์ ์๋ ๋ฐ๋ณต๊ธฐ์ ๋ํ ์ง์์ ์ถ๊ฐํฉ๋๋ค. ๋ฐ๋ณต์๋ TCP ๋ฐ UDP ์์ผ์ ์ฌ์ฉ๋ ์ ์์ผ๋ฉฐ, ์ด๋ฅผ ํตํด BPF ํ๋ก๊ทธ๋จ์ ์ด๋ฆฐ ์์ผ ๋ชฉ๋ก์ ๋ฐ๋ณตํ๊ณ ๊ทธ ๋ชฉ๋ก์์ ํ์ํ ์ ๋ณด๋ฅผ ์ถ์ถํ ์ ์์ต๋๋ค.
- ์ปค๋์ด ๋ค์ด์ค๋ ์ฐ๊ฒฐ์ ์ ํฉํ ์ฒญ์ทจ ์์ผ์ ๊ฒ์ํ ๋ ์์๋๋ ์๋ก์ด ์ ํ์ BPF ํ๋ก๊ทธ๋จ BPF_PROG_TYPE_SK_LOOKUP์ ์ถ๊ฐํ์ต๋๋ค. ์ด์ ๊ฐ์ BPF ํ๋ก๊ทธ๋จ์ ์ฌ์ฉํ๋ฉด ๋ฐ์ธ๋ฉ() ์์คํ ํธ์ถ์ ์ํด ์ ํ๋์ง ์๊ณ ์ฐ๊ฒฐ์ด ์ด๋ค ์์ผ๊ณผ ์ฐ๊ฒฐ๋์ด์ผ ํ๋์ง ๊ฒฐ์ ํ๋ ํธ๋ค๋ฌ๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ๋จ์ผ ์์ผ์ ๋ค์ํ ์ฃผ์ ๋๋ ํฌํธ์ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค. ๋ํ SO_KEEPALIVE ํ๋๊ทธ์ ๋ํ ์ง์์ด bpf_setsockopt()์ ์ถ๊ฐ๋์์ผ๋ฉฐ ์์ผ์ด ํด์ ๋ ๋ ํธ์ถ๋๋ BPF_CGROUP_INET_SOCK_RELEASE ํธ๋ค๋ฌ๋ฅผ ์ค์นํ๋ ๊ธฐ๋ฅ์ด ๊ตฌํ๋์์ต๋๋ค.
- ํ๋กํ ์ฝ ์ง์ ๊ตฌํ
PRP (Parallel Redundancy Protocol)์ ๋คํธ์ํฌ ๊ตฌ์ฑ ์์์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ํฌ๋ช ํ๊ฒ ๋ฐฑ์ ์ฑ๋๋ก ์ด๋๋ท ๊ธฐ๋ฐ ์ ํ์ ํ์ฉํฉ๋๋ค. - ์คํ mac80211
์ถ๊ฐ ์ก์ธ์ค ํฌ์ธํธ ๋ชจ๋์์ 2๋จ๊ณ WPA/WPAXNUMX-PSK ์ฑ๋ ํ์์ ์ง์ํฉ๋๋ค. - ๊ธฐ๋ณธ์ ์ผ๋ก FQ-PIE(Flow Queue PIE) ๋คํธ์ํฌ ๋๊ธฐ์ด ๊ด๋ฆฌ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋๋ก qdisc(ํ ๊ท์น) ์ค์ผ์ค๋ฌ๋ฅผ ์ ํํ๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ต๋๋ค. ์ด๋ ๋คํธ์ํฌ์์ ์์ง ๋คํธ์ํฌ ์ฅ๋น(๋ฒํผ๋ธ๋กํธ)์ ๋ํ ์ค๊ฐ ํจํท ๋ฒํผ๋ง์ ๋ถ์ ์ ์ธ ์ํฅ์ ์ค์ด๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค. ์ผ์ด๋ธ ๋ชจ๋.
- ์๋ก ๋ค๋ฅธ IP ์ฃผ์์ ์ฐ๊ฒฐ๋ ์๋ก ๋ค๋ฅธ ๋คํธ์ํฌ ์ธํฐํ์ด์ค๋ฅผ ํตํด ์ฌ๋ฌ ๊ฒฝ๋ก๋ฅผ ๋ฐ๋ผ ๋์์ ํจํท์ ์ ๋ฌํ๋ TCP ์ฐ๊ฒฐ ์์ ์ ๊ตฌ์ฑํ๊ธฐ ์ํ TCP ํ๋กํ ์ฝ์ ํ์ฅ์ธ MPTCP(MultiPath TCP)์ ์๋ก์ด ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค. setockopt์ syn ์ฟ ํค, DATA_FIN, ๋ฒํผ ์๋ ์กฐ์ , ์์ผ ์ง๋จ, REUSEADDR, REUSEPORT ๋ฐ V6ONLY ํ๋๊ทธ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ํ๋์ ์์คํ ์์ ์ฌ๋ฌ ๋ผ์ฐํ ๋๋ฉ์ธ์ ์ด์์ ๊ตฌ์ฑํ ์ ์๋ ๊ฐ์ ๋ผ์ฐํ ํ ์ด๋ธ VRF(Virtual Routing and Forwarding)์ ๊ฒฝ์ฐ "์๊ฒฉํ" ๋ชจ๋๊ฐ ๊ตฌํ๋์์ต๋๋ค. ์ด ๋ชจ๋์์๋ ๊ฐ์ ํ ์ด๋ธ์ ๋ค๋ฅธ ๊ฐ์ ํ ์ด๋ธ์์ ์ฌ์ฉ๋์ง ์๋ ๋ผ์ฐํ ํ ์ด๋ธ์๋ง ์ฐ๊ฒฐํ ์ ์์ต๋๋ค.
- ๋ฌด์ ๋๋ผ์ด๋ฒ๋ ath11k์
๋๋ค.
์ถ๊ฐ 6GHz ์ฃผํ์๋ฅผ ์ง์ํ๊ณ์คํํธ๋ผ ์ค์บ๋ .
- ๋ทํํฐ์์
- ะะฑะพััะดะพะฒะฐะฝะธะต
- Peking University์ ๋ง์ดํฌ๋กํ๋ก์ธ์ ์ผํฐ์์ ๊ฐ๋ฐ๋๊ณ 2011๋ Linux ์ปค๋์ ํฌํจ๋ UniCore ์ํคํ ์ฒ๋ฅผ ์ง์ํ๊ธฐ ์ํด ์ฝ๋๋ฅผ ์ ๊ฑฐํ์ต๋๋ค. ์ด ์ํคํ ์ฒ๋ 2014๋ ๋ถํฐ ์ ์ง ๊ด๋ฆฌ๋์ง ์์์ผ๋ฉฐ GCC์์ ์ง์๋์ง ์์ต๋๋ค.
- RISC-V ์ํคํ
์ฒ์ ๋ํ ์ง์์ด ๊ตฌํ๋์์ต๋๋ค.
kcov (์ปค๋ ์ฝ๋ ๋ฒ์ ๋ถ์์ ์ํ debugfs ์ธํฐํ์ด์ค), kmemleak(๋ฉ๋ชจ๋ฆฌ ๋์ ๊ฐ์ง ์์คํ ), ์คํ ๋ณดํธ, ์ ํ ํ์ ๋ฐ ํฑ ์๋ ์์ (ํ์ด๋จธ ์ ํธ์ ๋ฌด๊ดํ ๋ฉํฐํ์คํน). - PowerPC ์ํคํ ์ฒ์ ๊ฒฝ์ฐ ์คํ๋ก ๋๊ธฐ์ด์ ๋ํ ์ง์์ด ๊ตฌํ๋์ด ์ ๊ธ ์ถฉ๋ ์ํฉ์์ ์ฑ๋ฅ์ด ํฌ๊ฒ ํฅ์๋์์ต๋๋ค.
- ARM ๋ฐ ARM64 ์ํคํ
์ฒ์ ๊ฒฝ์ฐ ํ๋ก์ธ์ ์ฃผํ์ ์กฐ์ ๋ฉ์ปค๋์ฆ์ด ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ฑํ๋ฉ๋๋ค.
์ค์ผ์ค ์ ํธ๋ฆฌํฐ (cpufreq ๊ฑฐ๋ฒ๋)๋ ์์ ์ค์ผ์ค๋ฌ์ ์ ๋ณด๋ฅผ ์ง์ ์ฌ์ฉํ์ฌ ์ฃผํ์ ๋ณ๊ฒฝ์ ๋ํ ๊ฒฐ์ ์ ๋ด๋ฆฌ๊ณ , ์ฆ์ cpufreq ๋๋ผ์ด๋ฒ์ ์ก์ธ์คํ์ฌ ์ฃผํ์๋ฅผ ๋น ๋ฅด๊ฒ ๋ณ๊ฒฝํ๊ณ , CPU ์๋ ๋งค๊ฐ๋ณ์๋ฅผ ํ์ฌ ๋ถํ์ ๋ง๊ฒ ์ฆ์ ์กฐ์ ํ ์ ์์ต๋๋ค. - Intel ๊ทธ๋ํฝ ์นด๋์ฉ i915 DRM ๋๋ผ์ด๋ฒ์๋ ๋ง์ดํฌ๋ก์ํคํ
์ฒ ๊ธฐ๋ฐ ์นฉ์ ๋ํ ์ง์์ด ํฌํจ๋์ด ์์ต๋๋ค.
๋ก์ผ ํธ์ ๊ฐ๋ณ ์นด๋์ ๋ํ ์ด๊ธฐ ์ง์์ ์ถ๊ฐํ์ต๋๋ค.์ธํ Xe DG1 . - Amdgpu ๋๋ผ์ด๋ฒ์ AMD GPU์ ๋ํ ์ด๊ธฐ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
๋๋น 21 (ํด๊ตฐ ๊ฐ์๋ฏธ) ๋ฐ๋๋น 22 (์์๋ ์ํด๋ฆฌ๋). Southern Islands GPU(Radeon HD 7000)์ฉ UVD/VCE ๋น๋์ค ์ธ์ฝ๋ฉ ๋ฐ ๋์ฝ๋ฉ ๊ฐ์ ์์ง์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
๋์คํ๋ ์ด๋ฅผ 90๋, 180๋ ๋๋ 270๋ ํ์ ํ๋ ์์ฑ์ ์ถ๊ฐํ์ต๋๋ค.ํฅ๋ฏธ๋กญ๊ฒ๋ AMD GPU์ฉ ๋๋ผ์ด๋ฒ๋
์ด ์ปค๋์์ ๊ฐ์ฅ ํฐ ๋๋ผ์ด๋ฒ - ์ฝ 2.71๋ง ์ค์ ์ฝ๋๊ฐ ์์ผ๋ฉฐ ์ด๋ ์ ์ฒด ์ปค๋ ํฌ๊ธฐ(10๋ง ์ค)์ ์ฝ 27.81%์ ํด๋นํฉ๋๋ค. ๋์์ GPU ๋ ์ง์คํฐ์ฉ ๋ฐ์ดํฐ๊ฐ ํฌํจ๋ ์๋ ์์ฑ ํค๋ ํ์ผ์ด 1.79๋ง ๋ผ์ธ์ ์ฐจ์งํ๋ฉฐ C ์ฝ๋๋ 366๋ผ์ธ์ ๋๋ค(๋น๊ต๋ฅผ ์ํด Intel i915 ๋๋ผ์ด๋ฒ์๋ 209๋ผ์ธ, Nouveau๋ 149๋ผ์ธ์ด ํฌํจ๋์ด ์์). - ์ธ ๋๋ณด ๋๋ผ์ด๋ฒ
์ถ๊ฐ ๋ค์์ ์ฌ์ฉํ์ฌ ํ๋ ์๋ณ ๋ฌด๊ฒฐ์ฑ ๊ฒ์ฌ ์ง์CRC (Cyclic Redundancy Checks) NVIDIA GPU ๋์คํ๋ ์ด ์์ง. ๊ตฌํ์ NVIDIA์์ ์ ๊ณตํ ๋ฌธ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค. - LCD ํจ๋์ฉ ๋๋ผ์ด๋ฒ๊ฐ ์ถ๊ฐ๋์์ต๋๋ค: Frida FRD350H54004, KOE TX26D202VM0BWA, CDTech S070PWS19HP-FC21, CDTech S070SWV29HG-DC44, Tianma TM070JVHG33 ๋ฐ Xingbangda XBD599.
- ALSA ์ค๋์ค ํ์ ์์คํ
์ ๋ค์์ ์ง์ํฉ๋๋ค.
์ธํ ์ฌ์ผ๋ฐํธ ์คํธ๋ฆผ (์ฌ์ ์์ ์ ์ง์ฐ์ ์ ๊ฑฐํ๊ธฐ ์ํ ์ธ๋ถ HDMI ์ฅ์น์ ๋ํ ์ฐ์ ์ ์ ๋ชจ๋) ๋ฐ์ ์ฅ์น ๋ง์ดํฌ ํ์ฑํ ๋ฐ ์์๊ฑฐ ๋ฒํผ์ ์กฐ๋ช ์ ์ ์ดํ๊ณ ์ปจํธ๋กค๋ฌ๋ฅผ ํฌํจํ ์๋ก์ด ์ฅ๋น์ ๋ํ ์ง์๋ ์ถ๊ฐํ์ต๋๋ค.๋ฃฝ์จ 7A1000 . - ARM ๋ณด๋, ์ฅ์น ๋ฐ ํ๋ซํผ์ ๋ํ ์ง์ ์ถ๊ฐ: Pine64 PinePhone v1.2, Lenovo IdeaPad Duet 10.1, ASUS Google Nexus 7, Acer Iconia Tab A500, Qualcomm Snapdragon SDM630(Sony Xperia 10, 10 Plus, XA2, XA2 Plus ๋ฐ XA2์ ์ฌ์ฉ๋จ) Ultra), Jetson Xavier NX, Amlogic WeTek Core2, Aspeed EthanolX, NXP i.MX6, MikroTik RouterBoard 3011, Xiaomi Libra, Microsoft Lumia 950, Sony Xperia Z5, MStar, Microchip Sparx5, Intel Keem Bay, Amazon Alpine ๊ธฐ๋ฐ์ ์๋ก์ด ๋ณด๋ 3๊ฐ v2, ๋ฅด๋ค์ฌ์ค RZ/GXNUMXH.
๋์์ ๋ผํด ์๋ฉ๋ฆฌ์นด ์์ ์ํํธ์จ์ด ์ฌ๋จ(Latin American Free Software Foundation)
ะฒะฐัะธะฐะฝั
์ถ์ฒ : opennet.ru