์ด ๋ฌธ์„œ์˜ ์›๋ณธ์€ ์™ธ๋ถ€ ์œ„ํ‚ค์—์„œ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค.
1. ๊ฐœ์š”2. ํŠน์ง•
2.1. LZMA2
3. ๊ธฐํƒ€4. ๊ด€๋ จ ๋ฌธ์„œ


Lempelโ€“Zivโ€“Markov chain Algorithm

1. ๊ฐœ์š”[ํŽธ์ง‘]

7zip์˜ ์ œ์ž‘์ž์ธ Igor Pavlov์— ์˜ํ•ด ๊ฐœ๋ฐœ๋œ ๋ฐ์ดํ„ฐ ์••์ถ• ์•Œ๊ณ ๋ฆฌ์ฆ˜. 7z ํฌ๋งท์— ์‚ฌ์šฉ๋˜๊ณ  ์žˆ์œผ๋ฉฐ, ํผ๋ธ”๋ฆญ ๋„๋ฉ”์ธ์œผ๋กœ SDK๋ฅผ ๊ณต๊ฐœํ•˜์˜€๋‹ค.

LZMA SDK ํ™ˆํŽ˜์ด์ง€

2. ํŠน์ง•[ํŽธ์ง‘]

์ด ์••์ถ• ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ 1์ฐจ์ ์œผ๋กœ LZ77 ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ด์šฉํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์••์ถ•ํ•˜๊ณ , 2์ฐจ์ ์œผ๋กœ Adaptive Binary Range Coder๋ฅผ ์ด์šฉํ•ด์„œ ์••์ถ•์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

์ผ๋ฐ˜์ ์œผ๋กœ RARํฌ๋งท์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์••์ถ• ์•Œ๊ณ ๋ฆฌ์ฆ˜๋ณด๋‹ค ์••์ถ•๋ฅ ์ด ์ข‹์€ ๊ฒƒ์œผ๋กœ ์•Œ๋ ค์ ธ ์žˆ์œผ๋ฉฐ, ํšจ์œจ์ด ์ข‹์€ ์ด์œ ๋Š” ๋งค์šฐ ํฐ LZ77 ์œˆ๋„์šฐ(4GiB ๊นŒ์ง€)๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , ์••์ถ• ํšจ์œจ์„ ๋†’์ด๊ธฐ ์œ„ํ•œ ์ตœ์ ํ™”๊ฐ€ ์ž˜ ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ.

SDK๋Š” ๊ณต๊ฐœ๋˜์–ด ์žˆ์ง€๋งŒ, ์†๋„ ํ–ฅ์ƒ์„ ์œ„ํ•ด์„œ ์ฝ”๋“œ๊ฐ€ ๋ณต์žกํ•˜๊ณ , ์ฃผ์„๋„ ํ•œ ์ค„ ์•ˆ ๋‹ฌ๋ ค ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ณต๊ฐœ๋œ ์†Œ์Šค๋ฅผ ๊ฐ€์ง€๊ณ  ๋ณ€ํ˜•ํ•ด์„œ ๋ญ”๊ฐ€ ๋‹ค๋ฅธ๊ฑธ ๋งŒ๋“ค์–ด ๋ณด๋Š” ๊ฒƒ์€ ๊ฑฐ์˜ ๋ถˆ๊ฐ€๋Šฅํ•œ ์ˆ˜์ค€.

LZMA2๋Š” LZMA๊ฐ€ ๋ฉ€ํ‹ฐ ์ฝ”์–ด ์ง€์›์— ์ทจ์•ฝ(์ตœ๋Œ€ 2๊ฐœ์˜ ์“ฐ๋ ˆ๋“œ๋งŒ ์ง€์›)ํ•œ ์ ์„ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋งŒ๋“ค์–ด์ง„ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ฉฐ, ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ˆ˜ ๋งŒํผ ์“ฐ๋ ˆ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณ‘๋ ฌ๋กœ ์••์ถ•์„ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์†๋„๊ฐ€ ๋ฌด์ฒ™ ๋น ๋ฅด์ง€๋งŒ, ๋ฉ”๋ชจ๋ฆฌ๋„ ๊ทธ๋งŒํผ ์ •์ˆ˜ ๋ฐฐ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰๋„ ์—„์ฒญ๋‚˜๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์••์ถ•๋ฅ  ์ตœ๋Œ€๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ 8์“ฐ๋ ˆ๋“œ๋กœ ์••์ถ•ํ•  ๊ฒฝ์šฐ ์ตœ๋Œ€ 4*8GiB ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ•„์š”๋กœ ํ•œ๋‹ค.

์••์ถ• ํšจ์œจ์ด ์ข‹์œผ๋ฉฐ, ํผ๋ธ”๋ฆญ ๋„๋ฉ”์ธ์œผ๋กœ ๊ณต๊ฐœ๋œ ์••์ถ• ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๊ธฐ ๋•Œ๋ฌธ์— ZIP์ด๋‚˜ EGGํฌ๋งท์—์„œ๋„ ์ด ์••์ถ• ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•œ๋‹ค.

2.1. LZMA2[ํŽธ์ง‘]

LZMA ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์••์ถ•์œจ์€ ๋งค์šฐ ๋†’์ง€๋งŒ, ๋ฉ€ํ‹ฐ์ฝ”์–ด๋ฅผ ํ™œ์šฉํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๋‹จ์ ์„ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์•ฝ๊ฐ„ ๊ฐœ์„ ๋œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ๋ฉ€ํ‹ฐ์ฝ”์–ด ํ™œ์šฉ์ด ๋ชฉ์ ์ด๊ธฐ ๋•Œ๋ฌธ์— ์••์ถ•์œจ์€ LZMA์™€ ๊ฑฐ์˜ ์ฐจ์ด๊ฐ€ ์—†๋‹ค.

์ด ์••์ถ• ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ด์šฉํ•˜๋ฉด ์••์ถ•ํ•  ๋ฐ์ดํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ๊ฐœ๋กœ ์ชผ๊ฐœ์„œ ๋™์‹œ์— ๋ณ‘๋ ฌ๋กœ ์••์ถ•์„ ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํ˜„์žฌ์˜ ๋ฉ€ํ‹ฐ์ฝ”์–ด CPU์—์„œ ์••์ถ•์†๋„๋ฅผ ํฌ๊ฒŒ ํ–ฅ์ƒ ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด์„œ 4๊ฐœ์˜ ์ฝ”์–ด๋ฅผ ๊ฐ€์ง„ ์‹œ์Šคํ…œ์—์„œ 4๊ฐœ์˜ ์“ฐ๋ ˆ๋“œ๋กœ ์••์ถ•์„ ํ•  ๊ฒฝ์šฐ, ๋””์Šคํฌ I/O๋งŒ ๋ฐ›์ณ์ค€๋‹ค๋ฉด ์‹ฑ๊ธ€ ์“ฐ๋ ˆ๋“œ๋กœ ์••์ถ•์„ ํ•  ๋•Œ๋ณด๋‹ค 3๋ฐฐ ์ด์ƒ ๋น ๋ฅด๊ฒŒ ์••์ถ•ํ•˜๋Š”๊ฒŒ ๊ฐ€๋Šฅํ•˜๋‹ค.

๋‹ค๋งŒ, LZ77 ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ํŠน์„ฑ์ƒ ์••์ถ•์œจ์„ ๋–จ์–ดํŠธ๋ฆฌ์ง€ ์•Š๊ณ  ์••์ถ•ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์••์ถ•ํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ด ์“ฐ๋ ˆ๋“œ ๊ฐœ์ˆ˜๋งŒํผ ๋Š˜์–ด๋‚˜๊ฒŒ ๋œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด LZ77์šฉ ์‚ฌ์ „์˜ ํฌ๊ธฐ๋ฅผ 4GiB ์ง€์ •ํ•˜๊ณ , ์••์ถ• ์“ฐ๋ ˆ๋“œ๋ฅผ 4๊ฐœ๋กœ ์ง€์ •ํ•œ ๊ฒฝ์šฐ, 16GiB ์ด์ƒ์˜ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ๋ฐ˜๋””์ง‘์œผ๋กœ ์••์ถ•ํ•ด๋ณด๋ฉด ๊ฐ์ด ๋”ฑ ์˜ฌ ๊ฒƒ์ด๋‹ค ๋‹ค๋‹ค์ต๋žจ์€ ์ง„๋ฆฌ์ž…๋‹ˆ๋‹ค

3. ๊ธฐํƒ€[ํŽธ์ง‘]

์ด์ŠคํŠธ์†Œํ”„ํŠธ์—์„œ ๊ณต๊ฐœํ•œ EGG ํฌ๋งท์€ ๊ณต๊ฐœ๋œ ์••์ถ• ์•Œ๊ณ ๋ฆฌ์ฆ˜์ธ Deflate, Bzip2, LZMA ์ด์™ธ์—๋„ ์ž์ฒด์ ์œผ๋กœ ๊ฐœ๋ฐœํ•œ AZO ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜๋Š”๋ฐ, ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ LZMA์™€ ๊ฑฐ์˜ ๋˜‘๊ฐ™์€ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์ธ๋‹ค. ๋ฐ˜๋””์ง‘ 6.0์—์„œ ์ด์ŠคํŠธ์†Œํ”„ํŠธ ์š”์ฒญ์— ๋”ฐ๋ผ AZO ์••์ถ• ํ•ด์ œ๊ฐ€ ์ œ์™ธ๋˜์—ˆ์ง€๋งŒ, ์ดํ›„ ๋ฆฌ๋ฒ„์Šค ์—”์ง€๋‹ˆ์–ด๋ง์œผ๋กœ ์ž์ฒด ๊ตฌํ˜„ํ•˜๋ฉด์„œ 6.19 ๋ฒ„์ „๋ถ€ํ„ฐ ๋‹ค์‹œ ์••์ถ• ํ•ด์ œ๊ฐ€ ๊ฐ€๋Šฅํ•ด์กŒ๋‹ค. ๋งŒ์„ธ!

4. ๊ด€๋ จ ๋ฌธ์„œ[ํŽธ์ง‘]