- ์ผ๋ฐ ๋ฐ ์์คํ
์ง๋ฌธ
- Core ํ์ ์ผ๋ฐ์ ์ผ๋ก ์ถ๊ฐ ํนํ ๊ณ์ฝ๊ณผ ํจ๊ป BSD ๋ผ์ด์ผ์ค ์ฝ๋๋ฅผ ํฌํจํ๋ ๊ฒ์ ์น์ธํ์ต๋๋ค(
BSD+ํนํ ), ๊ทธ๋ฌ๋ ๋ณธ ๋ผ์ด์ ์ค์ ๋ฐ๋ผ ๊ฐ ๊ตฌ์ฑ ์์๋ฅผ ์์คํ ์ ํฌํจํ๊ธฐ๋ก ํ ๊ฒฐ์ ์ ๋ณ๋๋ก ์น์ธ๋์ด์ผ ํฉ๋๋ค. - ์ค์ ์ง์ค์ ์์ค ์ฝ๋ ๊ด๋ฆฌ ์์คํ ์ธ Subversion์์ ๋ถ์ฐ ์์คํ ์ธ Git์ผ๋ก ์์ค ์ฝ๋๋ฅผ ๋ง์ด๊ทธ๋ ์ด์ ํ๊ธฐ ์ํด ๋ง๋ค์ด์ง ์ํน ๊ทธ๋ฃน์ ์ฒซ ๋ฒ์งธ ํ์๊ฐ ์ด๋ ธ์ต๋๋ค. ๋ง์ด๊ทธ๋ ์ด์ ์ ์ ์ ์ฑ์ ๋ํ ๋ ผ์๋ ์ฌ์ ํ ์งํ ์ค์ด๋ฉฐ ๊ฒฐ์ ํด์ผ ํ ๋ง์ ๋ฌธ์ ๊ฐ ๋จ์ ์์ต๋๋ค(์: contrib/๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ, ํ์ฌ git ์ ์ฅ์์์ ํด์๋ฅผ ์ฌ์์ฑํ ์ง ์ฌ๋ถ, ์ปค๋ฐ ํ ์คํธ๋ฅผ ๊ฐ์ฅ ์ ๊ตฌํํ๋ ๋ฐฉ๋ฒ).
- NetBSD์์
์ด์๋ ์๋ก ๋ค๋ฅธ CPU์์ ์คํ๋๋ ์ปค๋ ์ค๋ ๋ ๊ฐ์ ๊ฒฝ์ ์กฐ๊ฑด ๋ฐ์์ ๊ฐ์งํ ์ ์๋ KCSAN(Kernel Concurrency Sanitizer) ํดํท - GNU binutils์ ์ด์ ๋ธ๋ฌ ๋์ Clang์ ๋ด์ฅ ์ด์ ๋ธ๋ฌ(IAS)๋ฅผ ์ฌ์ฉํ๋ ์์ ์ด ์งํ ์ค์ ๋๋ค.
- Linux ํ๊ฒฝ ์๋ฎฌ๋ ์ด์ ์ธํ๋ผ(Linuxulator)๋ ARM64 ์ํคํ ์ฒ์์ ์๋ํ๋๋ก ์กฐ์ ๋์์ต๋๋ค. "renameat2" ์์คํ ํธ์ถ์ด ๊ตฌํ๋์์ต๋๋ค. Linuxulator์์ ์คํ๋๋ Linux ์คํ ํ์ผ์ ๋ฌธ์ ๋ฅผ ์ง๋จํ๊ธฐ ์ํด strace ์ ํธ๋ฆฌํฐ๊ฐ ๊ฐ์ ๋์์ต๋๋ค. ์คํ ํ์ผ์ ์๋ก์ด glibc์ ์ฐ๊ฒฐํ ๋ ๋ฐ์ํ๋ ์ถฉ๋ ๋ฌธ์ ๋ฅผ ์์ ํ์ต๋๋ค. CentOS 7.7๋ก ์ ๋ฐ์ดํธ๋ Linuxulator์ฉ Linux ๊ตฌ์ฑ ์์๊ฐ ํฌํจ๋ ํฌํธ
- Google Summer of Code ํ๋ก๊ทธ๋จ์ ์ผํ์ผ๋ก ํ์๋ค์ 4๊ฐ์ ํ๋ก์ ํธ๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ์๋ฃํ์ต๋๋ค. ํตํฉ(IPv6/IPvXNUMX) ping ์ ํธ๋ฆฌํฐ ๊ตฌํ ์ค๋น, ๋ฐฉํ๋ฒฝ ํ ์คํธ ๋ฐ ์ปค๋ ์ค๋ฅ ๊ฐ์ง(Kernel sanitizer), mac_ipacl ๋๊ตฌ ๊ฐ๋ฐ ๋ชจ๋์ด ์ ์๋์๊ณ , ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์์ถํ๊ธฐ ์ํ ์ฝ๋๊ฐ ์์ฑ๋์์ผ๋ฉฐ, ํฌํธ ๊ตฌ์ถ ํ๋ก์ธ์ค์ ๋ก์ปฌ ์ค์น ํ๋ก์ธ์ค๋ฅผ ๋ถ๋ฆฌํ๋ ์์ ์ด ์ํ๋์์ต๋๋ค.
- ์์คํ
์ ์ฌ์ฉํ์ฌ FreeBSD ์ปค๋์ ํผ์ง ํ
์คํธํ๋ ํ๋ก์ ํธ
์์ฆ์นผ๋ฌ . ๋ณด๊ณ ๊ธฐ๊ฐ ๋์ syzkaller์ ๋์์ผ๋ก XNUMX๊ฐ ์ด์์ ์ค๋ฅ๊ฐ ์๋ณ๋๊ณ ์ ๊ฑฐ๋์์ต๋๋ค. bhyve ๊ธฐ๋ฐ์ ๊ฐ์๋จธ์ ์์ syzkaller๋ฅผ ์คํํ๊ธฐ ์ํด ๋ณ๋์ ์๋ฒ๋ฅผ ํ ๋นํ๊ณ ์ด๋ฅผ ์ด์ฉํ์ฌ
syzbot์ Google ์ธํ๋ผ์์ ๋ค์ํ FreeBSD ํ์ ์์คํ ์ ํ์ธํฉ๋๋ค. ๋ชจ๋ ์ถฉ๋์ ๋ํ ์ ๋ณด๋ฅผ backtrace.io ์๋น์ค๋ก ์ ์กํ์ฌ ๊ทธ๋ฃนํ ๋ฐ ๋ถ์์ ๋จ์ํํ๋๋ก ๊ตฌ์ฑ๋์์ต๋๋ค. - ์ปค๋ ์์ค์์ zlib ๊ตฌํ์ ์
๋ฐ์ดํธํ๋ ์์
์ด ์งํ ์ค์
๋๋ค.
์์ถ ๊ด๋ จ ์ฝ๋๋ 1.0.4๋ ์ ์ ์ถ์๋ zlib 20์์ ํ์ฌ zlib 1.2.11 ์ฝ๋๋ฒ ์ด์ค๋ก ์ด๋๋์์ต๋๋ค. zlib์ ๋ํ ์ก์ธ์ค๋ฅผ ํตํฉํ๊ธฐ ์ํด ์์ถ, ์์ถ2 ๋ฐ ์์ถ ํด์ ๊ธฐ๋ฅ์ด ์ปค๋์ ์ถ๊ฐ๋์์ต๋๋ค. netgraph ํ์ ์์คํ ์์ PPP ํ๋กํ ์ฝ์ ์ ๊ณตํ๋ ์ฝ๋๋ ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๊ธฐ๋ณธ ๋ฒ์ ๋์ zlib์ ์์คํ ๊ตฌํ์ ์ฌ์ฉํ๋๋ก ์ ํ๋์์ต๋๋ค. ํ์ ์์คํ kern_ctf.c, opencryptodeflate, geom_uzip, subr_compressor,
if_mxge, bxe ์ ๋ฐ์ดํธ ๋ฐ ng_deflate; - ์๋ก์ด ์ปค๋ ์ธํฐํ์ด์ค๊ฐ ๊ฐ๋ฐ ์ค์
๋๋ค.
sysctlinf , ์ด๋ฅผ ํตํด MIB(Management Information Base) ํ์์ผ๋ก ์ฒ๋ฆฌ๋๋ sysctl ๋งค๊ฐ๋ณ์ ๋ฒ ์ด์ค์์ ์์๋ฅผ ์ฐพ์ ๊ฐ์ฒด์ ๋ํ ์ ๋ณด๋ฅผ ์ฌ์ฉ์ ๊ณต๊ฐ์ผ๋ก ์ ์กํ ์ ์์ต๋๋ค.
- Core ํ์ ์ผ๋ฐ์ ์ผ๋ก ์ถ๊ฐ ํนํ ๊ณ์ฝ๊ณผ ํจ๊ป BSD ๋ผ์ด์ผ์ค ์ฝ๋๋ฅผ ํฌํจํ๋ ๊ฒ์ ์น์ธํ์ต๋๋ค(
- ะะตะทะพะฟะฐัะฝะพััั
- ์ปค๋ ๋ชจ๋ ๊ฐ๋ฐ
mac_ipacl , TrustedBSD MAC ํ๋ ์์ํฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๊ณ ๊ฐ์ฅ ํ๊ฒฝ์ ์ํ ๋คํธ์ํฌ ์คํ ์ค์ ์ ๋ํ ์ก์ธ์ค ์ ์ด ์์คํ ์ ๊ตฌํํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ํธ์คํธ ์์คํ ๊ด๋ฆฌ์๋ mac_ipacl์ ์ฌ์ฉํ์ฌ ๊ฐ์ฅ ํ๊ฒฝ์ ๋ฃจํธ ์ฌ์ฉ์๊ฐ ํน์ ๋คํธ์ํฌ ์ธํฐํ์ด์ค์ ๋ํ IP ์ฃผ์ ๋๋ ์๋ธ๋ท ์ค์ ์ ๋ณ๊ฒฝํ๊ฑฐ๋ ์ค์ ํ๋ ๊ฒ์ ๋ฐฉ์งํ ์ ์์ต๋๋ค. ์ ์๋ ํ์ ์ถ์ ํต์ ์์คํ ๊ทธ๊ฒ์ ์ ์์ต๋๋ค ๊ฐ์ฅ์ ํ์ฉ๋๋ IP ์ฃผ์ ๋ฐ ์๋ธ๋ท ๋ชฉ๋ก์ ์ค์ ํ๊ณ , ๊ฐ์ฅ์ ํน์ IP ๋ฐ ์๋ธ๋ท ์ค์น๋ฅผ ๊ธ์งํ๊ฑฐ๋, ํน์ ๋คํธ์ํฌ ์ธํฐํ์ด์ค์ ๋ํด์๋ง ๋งค๊ฐ๋ณ์ ๋ณ๊ฒฝ์ ์ ํํฉ๋๋ค. - ์ธํ
์ ํ๋ก์ ํธ์ ์ํํธ์จ์ด ์คํ ํฌํธ๋ฅผ ๊ธฐ๋ถํ์ต๋๋ค.
TPM 2.0 (์ ๋ขฐํ ์ ์๋ ํ๋ซํผ ๋ชจ๋)์ ์ผ๋ฐ์ ์ผ๋ก ํ์จ์ด ๋ฐ OS ๋ถํธ๋ก๋์ ๊ฒ์ฆ๋ ๋ถํ ์ ์ฌ์ฉ๋๋ ๋ณด์ ์ปดํจํ ์นฉ๊ณผ ์ํธ ์์ฉํฉ๋๋ค. ์คํ ๊ตฌ์ฑ ์์๋ security/tpm2-tss, security/tpm2-tools ๋ฐ security/tpm2-abrmd ํฌํธ ํ์์ผ๋ก ์ ๊ณต๋ฉ๋๋ค. tpm2-tss ํฌํธ์๋ TPM2 API ์ฌ์ฉ์ ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ํฌํจ๋์ด ์๊ณ , tpm2-tools๋ TPM ์์ ์ํ์ ์ํ ๋ช ๋ น์ค ์ ํธ๋ฆฌํฐ๋ฅผ ์ ๊ณตํ๋ฉฐ, tpm2-abrmd์๋ ๋ค์ํ TPM์ ์์ฒญ์ ๋ค์คํํ๋ TPM ์ก์ธ์ค ๋ธ๋ก์ปค ๋ฐ ๋ฆฌ์์ค ๊ด๋ฆฌ์ ๊ตฌ์ฑ ์์๋ฅผ ๊ตฌํํ๋ ๋ฐฑ๊ทธ๋ผ์ด๋ ํ๋ก์ธ์ค๊ฐ ํฌํจ๋์ด ์์ต๋๋ค. ์ฌ์ฉ์๋ ๋จ์ผ ์ฅ์น๋ก ์ด๋ํฉ๋๋ค. FreeBSD์ ์์ฒด ๊ฒ์ฌ ๋ถํ ์ธ์๋ TPM์ ๋ณ๋์ ์นฉ์์ ์ํธํ ์์ ์ ์ํํ์ฌ Strongswan IPsec, SSH ๋ฐ TLS ๋ณด์์ ๊ฐํํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค. - amd64 ์ํคํ ์ฒ์ฉ ์ปค๋์ W^X(์ฐ๊ธฐ XOR ์คํ) ๋ณดํธ ๊ธฐ์ ์ ์ฌ์ฉํ์ฌ ๋ก๋๋๋๋ก ์กฐ์ ๋์์ต๋๋ค. ์ด๋ ๋ฉ๋ชจ๋ฆฌ ํ์ด์ง๋ฅผ ์ฐ๊ธฐ์ ์คํ์ ๋์์ ์ฌ์ฉํ ์ ์์์ ์๋ฏธํฉ๋๋ค(์ด์ ์ปค๋์ ์คํ ๊ฐ๋ฅํ ๋ฉ๋ชจ๋ฆฌ ํ์ด์ง๋ฅผ ์ฌ์ฉํ์ฌ ๋ก๋ํ ์ ์์). ์ฐ๊ธฐ๊ฐ ๋นํ์ฑํ๋ฉ๋๋ค.) ์๋ก์ด ์ปค๋ ๋ณดํธ ๋ฐฉ๋ฒ์ HEAD ๋ถ๊ธฐ์ ํฌํจ๋์ด ์์ผ๋ฉฐ FreeBSD 13.0 ๋ฐ 12.2 ๋ฆด๋ฆฌ์ค์ ์ผ๋ถ๊ฐ ๋ ๊ฒ์ ๋๋ค.
- mmap ๋ฐ mprotect ์์คํ
ํธ์ถ์ ๊ฒฝ์ฐ
๊ตฌํ ์ถ๊ฐ ๋ณ๊ฒฝ์ ์ ํจํ ์ก์ธ์ค ์ ํ ํ๋๊ทธ(PROT_READ, PROT_WRITE, PROT_EXEC) ์ธํธ๋ฅผ ๊ฒฐ์ ํ ์ ์๋ PROT_MAX() ๋งคํฌ๋ก. PROT_MAX()๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ๋ฐ์๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ์คํ ๊ฐ๋ฅ ์นดํ ๊ณ ๋ฆฌ๋ก ์ด์ ํ๋ ๊ฒ์ ๊ธ์งํ๊ฑฐ๋ ์คํ์ ํ์ฉํ์ง ์์ง๋ง ๋์ค์ ์คํ ๊ฐ๋ฅ ์นดํ ๊ณ ๋ฆฌ๋ก ์ด์ ํ ์ ์๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์์ฒญํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ๋์ ์ฐ๊ฒฐ์ด๋ JIT ์ฝ๋ ์์ฑ ๊ธฐ๊ฐ ๋์์๋ง ์ฐ๊ธฐ๋ฅผ ์ํด ์ด๋ฆด ์ ์์ง๋ง ์ฐ๊ธฐ๊ฐ ์๋ฃ๋ ํ์๋ ์ฝ๊ธฐ ๋ฐ ์คํ์ผ๋ก๋ง ์ ํ๋๋ฉฐ ํฅํ์๋ ์์์ด ๋ฐ์ํ ๊ฒฝ์ฐ , ๊ณต๊ฒฉ์๋ ์ด ๋ฉ๋ชจ๋ฆฌ ๋ธ๋ก์ ๋ํ ์ฐ๊ธฐ๋ฅผ ํ์ฉํ ์ ์์ต๋๋ค. PROT_MAX() ์ธ์๋ sysctl vm.imply_prot_max๋ ๊ตฌํ๋์ด ํ์ฑํ๋๋ฉด ์ฒซ ๋ฒ์งธ mmap ํธ์ถ์ ์ด๊ธฐ ๋งค๊ฐ๋ณ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ ํจํ ํ๋๊ทธ ์ธํธ๋ฅผ ๊ฒฐ์ ํฉ๋๋ค. - ์ทจ์ฝ์ ์ ์ฉ์ ๋ํ ๋ณดํธ๋ฅผ ๊ฐํํ๊ธฐ ์ํด ASLR(์ฃผ์ ๊ณต๊ฐ ๋ฌด์์ํ) ๊ธฐ์ ์ธ์๋ ํ๊ฒฝ, ํ๋ก๊ทธ๋จ ์์ ๋งค๊ฐ๋ณ์, ELF ํ์์ ์คํ ๊ฐ๋ฅํ ์ด๋ฏธ์ง์ ๋ํ ๋ฐ์ดํฐ;
- libc์์ ์์ ํ์ง ์์ ๊ฐ์ ธ์ค๊ธฐ ๊ธฐ๋ฅ์ ์ ๊ฑฐํ๊ณ (C11 ํ์ค๋ถํฐ ์ด ๊ธฐ๋ฅ์ ์ฌ์์์ ์ ์ธ๋จ) ์ด ๊ธฐ๋ฅ์ ๊ณ์ ์ฌ์ฉํ๋ ํฌํธ๋ฅผ ์์ ํ๋ ์์ ์ด ์ํ๋์์ต๋๋ค. ์ด ๋ณ๊ฒฝ ์ฌํญ์ FreeBSD 13.0์์ ์ ๊ณต๋ ์์ ์ ๋๋ค.
- ํ๋ ์์ํฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ฐ์ฅ ํ๊ฒฝ์ ์กฐ์ ํ๊ธฐ ์ํ ๋๊ตฌ๋ฅผ ๋ง๋ค๊ธฐ ์ํ ํ์ผ๋ฟ ํ๋ก์ ํธ๊ฐ ์์๋์์ต๋๋ค.
์ Docker์ ์ ์ฌํ๊ฒ ๊ตฌํ๋ ์ด๋ฏธ์ง ์์ฑ ๋ฐ ๋ด๋ณด๋ด๊ธฐ์ฉ ๋๋ผ์ด๋ฒ์ ๋ชฉ๋ฏผ , ๊ฐ์ฅ ํ๊ฒฝ์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋์ ์ผ๋ก ์คํํ๊ธฐ ์ํ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ ์๋ ๋ชจ๋ธ์ ์ฌ์ฉํ๋ฉด ๊ฐ์ฅ ํ๊ฒฝ์ ์์ฑํ๊ณ ๊ทธ ์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐฐํฌํ๋ ํ๋ก์ธ์ค๋ฅผ ๋ถ๋ฆฌํ ์ ์์ต๋๋ค. ํ๋ก์ ํธ์ ๋ชฉํ ์ค ํ๋๋ Docker ์คํ์ผ ์ปจํ ์ด๋์ ๊ฐ์ ๊ฐ์ฅ์ ์กฐ์ํ ์ ์๋ ์๋จ์ ์ ๊ณตํ๋ ๊ฒ์ ๋๋ค.
- ์ปค๋ ๋ชจ๋ ๊ฐ๋ฐ
- ์คํ ๋ฆฌ์ง ๋ฐ ํ์ผ ์์คํ
- NetBSD์์ "makefs" ์ ํธ๋ฆฌํฐ๊น์ง
์ผ์ ์ด ๋ณ๊ฒฝ๋จ FAT ํ์ผ ์์คํ (msdosfs)์ ์ง์ํฉ๋๋ค. ์ค๋น๋ ๋ณ๊ฒฝ ์ฌํญ์ ์ฌ์ฉํ๋ฉด md ๋๋ผ์ด๋ฒ๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ๋ฃจํธ ๊ถํ ์์ด FAT๋ก FS ์ด๋ฏธ์ง๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. - FUSE(USErspace์ ํ์ผ ์์คํ ) ํ์ ์์คํ ๋๋ผ์ด๋ฒ๊ฐ ์ฌ์์ ๋์ด ์ฌ์ฉ์ ๊ณต๊ฐ์์ ํ์ผ ์์คํ ๊ตฌํ์ ์์ฑํ ์ ์์ต๋๋ค. ์๋ ์ถ์๋ ๋๋ผ์ด๋ฒ๋ ๋ฒ๊ทธ๊ฐ ๋ง์์ผ๋ฉฐ 7.8๋ ์ ์ ์ถ์๋ FUSE 11์ ๊ธฐ๋ฐ์ผ๋ก ํ์ต๋๋ค. ๋๋ผ์ด๋ฒ ํ๋ํ ํ๋ก์ ํธ์ ์ผํ์ผ๋ก FUSE 7.23 ํ๋กํ ์ฝ ์ง์์ด ๊ตฌํ๋์๊ณ , ์ปค๋ ์ธก์์ ๊ถํ์ ํ์ธํ๊ธฐ ์ํ ์ฝ๋("-o default_permissions")๊ฐ ์ถ๊ฐ๋์์ผ๋ฉฐ, VOP_MKNOD, VOP_BMAP ๋ฐ VOP_ADVLOCK ํธ์ถ์ด ์ถ๊ฐ๋์์ผ๋ฉฐ, FUSE ์์ ์ ์ค๋จํ๋ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค. ์ถ๊ฐ, ์ด๋ฆ ์๋ ํ์ดํ ๋ฐ unix ์์ผ์ ๋ํ ์ง์์ด ํจ์ฆfs์ ์ถ๊ฐ๋์๊ณ , /dev/fuse์ kqueue๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ๋์์ผ๋ฉฐ, "mount -u"๋ฅผ ํตํ ๋ง์ดํธ ๋งค๊ฐ๋ณ์ ์ ๋ฐ์ดํธ๊ฐ ํ์ฉ๋์์ผ๋ฉฐ, NFS๋ฅผ ํตํด ํจ์ฆf ๋ด๋ณด๋ด๊ธฐ ์ง์์ด ์ถ๊ฐ๋์์ผ๋ฉฐ, RLIMIT_FSIZE ๊ณ์ ์ด ์ถ๊ฐ๋์์ต๋๋ค. ๊ตฌํ๋๊ณ FOPEN_KEEP_CACHE ๋ฐ FUSE_ASYNC_READ ํ๋๊ทธ๊ฐ ์ถ๊ฐ๋์์ผ๋ฉฐ ์๋นํ ์ฑ๋ฅ ์ต์ ํ๊ฐ ์ด๋ฃจ์ด์ก์ผ๋ฉฐ ์บ์ฑ ๊ตฌ์ฑ์ด ๊ฐ์ ๋์์ต๋๋ค. ์ ๋๋ผ์ด๋ฒ๋ head ๋ฐ stable/12 ๋ธ๋์น(FreeBSD 12.1์ ํฌํจ)์ ํฌํจ๋์ด ์์ต๋๋ค.
- FreeBSD์ ๋ํ NFSv4.2 ๊ตฌํ(RFC-7862)์ด ๊ฑฐ์ ์๋ฃ๋์์ต๋๋ค. ๋ณด๊ณ ๊ธฐ๊ฐ ๋์์๋ ํ ์คํธ์ ์ค์ ์ ๋์์ต๋๋ค. Linux ๊ตฌํ๊ณผ์ ํธํ์ฑ ํ ์คํธ๋ ์๋ฃ๋์์ง๋ง NFSv4.2๋ฅผ ์ฌ์ฉํ pNFS ์๋ฒ ํ ์คํธ๋ ์์ง ์งํ ์ค์ ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก, ์ฝ๋๋ ์ด๋ฏธ FreeBSD์ ํค๋/ํ์ฌ ๋ถ๊ธฐ์ ํตํฉํ ์ค๋น๊ฐ ๋ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋ฉ๋๋ค. NFS์ ์ ๋ฒ์ ์๋ posix_fadvise, posix_fallocate ํจ์, lseek์ SEEKHOLE/SEEKDATA ๋ชจ๋, ์๋ฒ์์ ํ์ผ ๋ถ๋ถ์ ๋ก์ปฌ ๋ณต์ฌ(ํด๋ผ์ด์ธํธ๋ก ์ ์กํ์ง ์์)์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- NetBSD์์ "makefs" ์ ํธ๋ฆฌํฐ๊น์ง
- ํ๋์จ์ด ์ง์
- ๋ ธํธ๋ถ์์ FreeBSD๋ฅผ ๊ฐ์ ํ๊ธฐ ์ํ ํ๋ก์ ํธ๋ฅผ ์์ํ์ต๋๋ค. FreeBSD์ ํ๋์จ์ด ์ง์์ ๋ํด ๊ฐ์ฌ๋ฅผ ๋ฐ์ ์ฒซ ๋ฒ์งธ ์ฅ์น๋ 1์ธ๋ Lenovo XXNUMX Carbon ๋ ธํธ๋ถ์ด์์ต๋๋ค.
- ์ฐ๊ตฌ์ฉ ํ๋ก์ธ์ ์ํคํ
์ฒ๋ฅผ ์ํ FreeBSD์ ํฌํฌ์ธ CheriBSD
์ฒด๋ฆฌ (Capability Hardware Enhanced RISC Instructions), ๊ณง ์ถ์๋ ARM Morello ํ๋ก์ธ์๋ฅผ ์ง์ํ๋๋ก ์ ๋ฐ์ดํธ๋์์ต๋๋ค. ์ด ํ๋ก์ธ์๋ Capsicum ๋ณด์ ๋ชจ๋ธ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ CHERI์ ๋ฉ๋ชจ๋ฆฌ ์ก์ธ์ค ์ ์ด ์์คํ ์ ์ง์ํฉ๋๋ค. ๋ชจ๋ ๋ก ์นฉ๊ณํํ๊ณ ์๋ค. 2021๋ ์ถ์. CheriBSD ๊ฐ๋ฐ์๋ ๋ํ MIPS ์ํคํ ์ฒ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ CHERI ์ฐธ์กฐ ํ๋กํ ํ์ ์ ๊ฐ๋ฐ์ ๊ณ์ ๋ชจ๋ํฐ๋งํ๊ณ ์์ต๋๋ค. - RockPro3399 ๋ฐ NanoPC-T64 ๋ณด๋์ ์ฌ์ฉ๋๋ RockChip RK4 ์นฉ์ ๋ํ ์ง์์ด ํ์ฅ๋์์ต๋๋ค. ๊ฐ์ฅ ์ค์ํ ๊ฐ์ ์ฌํญ์ eMMC ์ง์๊ณผ ๋ณด๋์ ์ฌ์ฉ๋๋ eMMC ์ปจํธ๋กค๋ฌ์ฉ ์ ๋๋ผ์ด๋ฒ ๊ฐ๋ฐ์ด์์ต๋๋ค.
- ๋ผ์ฐํฐ, ๊ฒ์ดํธ์จ์ด ๋ฐ NAS์์์ ์ฌ์ฉ์ ๋ชฉํ๋ก ํ๋ ARMv64 Cortex-A5871 ํ๋ก์ธ์๋ฅผ ๊ฐ์ถ ARM8 SoC Broadcom BCM57X์ ๋ํ ์ง์์ ๊ตฌํํ๋ ์์
์ด ๊ณ์๋์์ต๋๋ค. ๋ณด๊ณ ๊ธฐ๊ฐ ๋์
iProc PCIe์ ๋ํ ์ง์์ ํ์ฅํ๊ณ ํ๋์จ์ด ์ํธํ ์์ ์ ์ฌ์ฉํ์ฌ IPsec ์๋๋ฅผ ๋์ด๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ต๋๋ค.
HEAD ๋ถ๊ธฐ์ ์ฝ๋ ํตํฉ์ XNUMX๋ถ๊ธฐ์ ์์๋ฉ๋๋ค. - powerpc64 ํ๋ซํผ์ฉ FreeBSD ํฌํธ ๊ฐ๋ฐ์ ์๋นํ ์ง์ ์ด ์์์ต๋๋ค. IBM POWER8 ๋ฐ POWER9 ํ๋ก์ธ์๋ฅผ ํ์ฌํ ์์คํ ์์ ๊ณ ํ์ง ์ฑ๋ฅ์ ์ ๊ณตํ๋ ๋ฐ ์ค์ ์ ๋๊ณ ์์ง๋ง ๊ตฌํ Apple Power Mac, x500 ๋ฐ Amiga A1222์์๋ ์ ํ์ ์ผ๋ก ์ง์๋ฉ๋๋ค. powerpc*/12 ๋ถ๊ธฐ๋ ๊ณ์ํด์ gcc 4.2.1๊ณผ ํจ๊ป ์ ๊ณต๋๋ฉฐ powerpc*/13 ๋ถ๊ธฐ๋ ๊ณง llvm90์ผ๋ก ๋ง์ด๊ทธ๋ ์ด์ ๋ ์์ ์ ๋๋ค. 33306๊ฐ์ ํฌํธ ์ค 30514๊ฐ๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์กฐ๋ฆฝ๋์์ต๋๋ค.
- ํตํฉ ๋คํธ์ํฌ ํจํท ์ฒ๋ฆฌ ๊ฐ์ ์์ง, 64Gb ์ด๋๋ท, PCIe 1046, SATA 8 ๋ฐ USB 72์ ๊ฐ์ถ ARMv10 Cortex-A3.0 ํ๋ก์ธ์ ๊ธฐ๋ฐ NXP LS3.0A 3.0๋นํธ SoC๋ก FreeBSD ํฌํ ์ด ๊ณ์๋์์ต๋๋ค. ๋ณด๊ณ ๊ธฐ๊ฐ ๋์ USB 3.0, SD/MMC, I2C, DPAA ๋คํธ์ํฌ ์ธํฐํ์ด์ค ๋ฐ GPIO์ ๋ํ ์ง์์ด ๊ตฌํ๋์์ต๋๋ค. QSPI๋ฅผ ์ง์ํ๊ณ ๋คํธ์ํฌ ์ธํฐํ์ด์ค ์ฑ๋ฅ์ ์ต์ ํํ ๊ณํ์ ๋๋ค. HEAD ์ง์ ์ด ์๋ฃ๋์ด ํฌํจ๋ ์์ ์ 4๋ 2019๋ถ๊ธฐ์ ๋๋ค.
- ena ๋๋ผ์ด๋ฒ๋ ์ต๋ 2Gb/s์ ์๋๋ก EC2 ๋ ธ๋ ๊ฐ ํต์ ์ ๊ตฌ์ฑํ๊ธฐ ์ํด Elastic Compute Cloud(EC2) ์ธํ๋ผ์์ ์ฌ์ฉ๋๋ 25์ธ๋ ENAv2(Elastic Network Adapter) ๋คํธ์ํฌ ์ด๋ํฐ๋ฅผ ์ง์ํ๋๋ก ์ ๋ฐ์ดํธ๋์์ต๋๋ค. ena ๋๋ผ์ด๋ฒ์ NETMAP ์ง์์ ์ถ๊ฐ ๋ฐ ํ ์คํธํ์ผ๋ฉฐ Amazon EC1 AXNUMX ํ๊ฒฝ์์ LLQ ๋ชจ๋๋ฅผ ํ์ฑํํ๋๋ก ๋ฉ๋ชจ๋ฆฌ ๋ ์ด์์์ ์กฐ์ ํ์ต๋๋ค.
- ์ ํ๋ฆฌ์ผ์ด์
๋ฐ ํฌํธ ์์คํ
- xorg์ ๊ด๋ จ๋ ๊ทธ๋ํฝ ์คํ ๊ตฌ์ฑ ์์ ๋ฐ ํฌํธ๊ฐ ์
๋ฐ์ดํธ๋์์ต๋๋ค. USE_XORG ๋ฐ XORG_CAT๋ฅผ ์ฌ์ฉํ๋ ํฌํธ๋ bsd.port.mk๋ฅผ ํตํด bsd.xorg.mk๋ฅผ ํธ์ถํ๋ ๋์ USES ํ๋ ์์ํฌ๋ก ๋ง์ด๊ทธ๋ ์ด์
๋์์ต๋๋ค. ์ด์ ์ด๋ฌํ ํฌํธ์๋ makefile์ "USES=xorg" ํ๋๊ทธ๊ฐ ํฌํจ๋ฉ๋๋ค. XORG_CAT ๊ธฐ๋ฅ์ bsd.xorg.mk์์ ์ถ์ถ๋์์ผ๋ฉฐ ์ด์ "USES=xorg-cat" ํ๋๊ทธ๋ก ํ์ฑํ๋ฉ๋๋ค. git ์ ์ฅ์์์ xorg ํฌํธ๋ฅผ ์ง์ ์์ฑํ๊ธฐ ์ํ ๋๊ตฌ๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
์๋ฅผ ๋ค์ด, freedesktop.org์์๋ ์์ง ์ถ์๋์ง ์์ ๋ฒ์ ์ ๋ํ ํฌํธ๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. ์์ผ๋ก xorg ํฌํธ๋ฅผ ๋น๋ํ๊ธฐ ์ํด autotools ๋์ meson ๋น๋ ์์คํ ์ ์ฌ์ฉํ๋ ํดํท์ ์ค๋นํ ๊ณํ์ ๋๋ค.x11/libXp ํฌํธ๋ฅผ ์ ๊ฑฐํ๊ณ x11/Xxf86misc, x11-fonts/libXfontcache ๋ฐ ๊ทธ๋ํฝ/libGLw ํฌํธ๋ฅผ ๋ ์ด์ ์ฌ์ฉํ์ง ์๋ ๋ฑ ๋ ์ด์ ์ง์๋์ง ์๋ ๊ตฌ์ฑ ์์์ ์ฐ๊ฒฐ๋ ์ค๋๋ xorg ํฌํธ๋ฅผ ์ ๋ฆฌํ๋ ์์ ์ด ์ํ๋์์ต๋๋ค.
- FreeBSD์์ Java 11 ๋ฐ ์ต์ ๋ฆด๋ฆฌ์ค์ ๋ํ ์ง์์ ๊ฐ์ ํ๊ณ ์ผ๋ถ ๋ณ๊ฒฝ ์ฌํญ์ Java 8 ๋ถ๊ธฐ๋ก ํฌํ ํ๋ ์์ ์ด ์ํ๋์์ต๋๋ค. FreeBSD๋ Java Flight Recorder, HotSpot Serviceability Agent, HotSpot Debugger์ ๊ฐ์ ์๋ก์ด Java 11 ๊ธฐ๋ฅ์ ๋ํ ์ง์์ ๊ตฌํํ๊ธฐ ๋๋ฌธ์ DTrace, Javac Server, Java Sound ๋ฐ SCTP์ ๋ํ ์์ ์ ๋ชจ๋ ํธํ์ฑ ํ ์คํธ๋ฅผ ํต๊ณผํ๋์ง ํ์ธํ๋ ์ชฝ์ผ๋ก ์ ํ๋์์ต๋๋ค. ํ ์คํธ ํต๊ณผ ์ ์คํจ ํ์๊ฐ 50ํ์์ 2ํ๋ก ๊ฐ์ํ์ต๋๋ค.
- KDE ํ๋ผ์ฆ๋ง ๋ฐ์คํฌํ, KDE ํ๋ ์์ํฌ, KDE ์์ฉ ํ๋ก๊ทธ๋จ ๋ฐ Qt๋ ์ต์ ์ํ๋ก ์ ์ง๋๊ณ ์ต์ ๋ฆด๋ฆฌ์ค๋ก ์ ๋ฐ์ดํธ๋ฉ๋๋ค.
- Xfce ๋ฐ์คํฌํ์ด ํฌํจ๋ ํฌํธ๊ฐ ๋ฆด๋ฆฌ์ค๋ก ์
๋ฐ์ดํธ๋์์ต๋๋ค.
4.14 ; - FreeBSD ํฌํธ ํธ๋ฆฌ๋ 38000๊ฐ์ ํฌํธ๋ผ๋ ์ด์ ํ๋ฅผ ํต๊ณผํ์ผ๋ฉฐ, ์ด๋ ค ์๋ PR์ ์๋ 2000๊ฐ๋ฅผ ์ฝ๊ฐ ๋๊ณ ๊ทธ ์ค 400๊ฐ์ PR์ด ์ฌ์ ํ ๋ณด๋ฅ ์ค์ ๋๋ค. ๋ณด๊ณ ๊ธฐ๊ฐ ๋์ 7340๋ช ์ ๊ฐ๋ฐ์๊ฐ 169๊ฑด์ ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ฉํ์ต๋๋ค. ๋ ๋ช ์ ์๋ก์ด ๊ธฐ์ฌ์(Santhosh Raju ๋ฐ Dmitri Goutnik)๊ฐ ์ปค๋ฏธํฐ ๊ถํ์ ์ป์์ต๋๋ค. ํฌํธ ํธ๋ฆฌ์ ์ค๋ฒ๋ ์ด๋ฅผ ์ง์ํ๊ณ bsd.sites.mk๋ฅผ ์ ๋ฆฌํ๋ pkg 1.12 ํจํค์ง ๊ด๋ฆฌ์์ ์ ๋ฆด๋ฆฌ์ค๊ฐ ๊ฒ์๋์์ต๋๋ค. ํฌํธ์ ์ค์ํ ๋ฒ์ ์ ๋ฐ์ดํธ์๋ Lazarus 2.0.4, LLVM 9.0, Perl5.30, PostgreSQL 11, Ruby 2.6, Firefox 69.0.1, Firefox-esr 68.1.0, Chromium 76.0์ด ํฌํจ๋ฉ๋๋ค.
- ํ๋ก์ ํธ ๊ฐ๋ฐ์ ๊ณ์๋๋ค
ํด๋ก OS ,๊ฐ๋ฐ ์ค ๊ฐ์ ์๋ฒ ์ธํ๋ผ ๋ฐฐํฌ๋ฅผ ์ํ ์ ๋ฌธ ๋ฐฐํฌ ํคํธ์ ๋๋ค. ํด๊ฒฐํด์ผ ํ ์์ ์ธก๋ฉด์์ ClonOS๋ Proxmox, Triton(Joyent), OpenStack, OpenNebula ๋ฐ Amazon AWS์ ๊ฐ์ ์์คํ ๊ณผ ์ ์ฌํ์ง๋ง, ์ฃผ์ ์ฐจ์ด์ ์ FreeBSD๋ฅผ ์ฌ์ฉํ๊ณ FreeBSD Jail ์ปจํ ์ด๋๋ฅผ ๊ด๋ฆฌ, ๋ฐฐํฌ ๋ฐ ๊ด๋ฆฌํ๋ ๊ธฐ๋ฅ์ ๋๋ค. Bhyve ๋ฐ Xen ํ์ดํผ๋ฐ์ด์ ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ๊ฐ์ ํ๊ฒฝ. ์ต๊ทผ ๋ณ๊ฒฝ ์ฌํญ ์ค ์ง์์ด ์์ต๋๋ค.
Linux/BSD VM์ฉ cloud-init ๋ฐ Windows VM์ฉ cloudbase-init, ๋ค์ดํฐ๋ธ ์ด๋ฏธ์ง๋ก์ ์ ํ ์์, ๋น๋ ํ ์คํธ๋ฅผ ์ํ Jenkins CI ์ฌ์ฉ ๋ฐ ์ค์น๋ฅผ ์ํ ์๋ก์ด pkg ์ ์ฅ์
ํจํค์ง์ ClonOS.
- xorg์ ๊ด๋ จ๋ ๊ทธ๋ํฝ ์คํ ๊ตฌ์ฑ ์์ ๋ฐ ํฌํธ๊ฐ ์
๋ฐ์ดํธ๋์์ต๋๋ค. USE_XORG ๋ฐ XORG_CAT๋ฅผ ์ฌ์ฉํ๋ ํฌํธ๋ bsd.port.mk๋ฅผ ํตํด bsd.xorg.mk๋ฅผ ํธ์ถํ๋ ๋์ USES ํ๋ ์์ํฌ๋ก ๋ง์ด๊ทธ๋ ์ด์
๋์์ต๋๋ค. ์ด์ ์ด๋ฌํ ํฌํธ์๋ makefile์ "USES=xorg" ํ๋๊ทธ๊ฐ ํฌํจ๋ฉ๋๋ค. XORG_CAT ๊ธฐ๋ฅ์ bsd.xorg.mk์์ ์ถ์ถ๋์์ผ๋ฉฐ ์ด์ "USES=xorg-cat" ํ๋๊ทธ๋ก ํ์ฑํ๋ฉ๋๋ค. git ์ ์ฅ์์์ xorg ํฌํธ๋ฅผ ์ง์ ์์ฑํ๊ธฐ ์ํ ๋๊ตฌ๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
์ถ์ฒ : opennet.ru